Цикл испытаний и поезд устанавливаются одновременно - PullRequest
0 голосов
/ 20 января 2019

Я изучал временные ряды. В том, что я нашел что-то связанное с этим:

for i in (train,test):
    print(i)

Теперь я ожидал, что мы перебираем кортеж train и test. Но неожиданно я обнаружил, что сначала он обрабатывает все данные train, а затем данные test. Что на самом деле происходит за кулисами?

РЕДАКТИРОВАТЬ: Обучать и тестировать - это панды. Предположим, что код

for i in (a,b):
    print(i)

Тогда вывод

В случае списков:

[1,2,3]
[2,4]

В случае данных:

   0
0  1
1  2
2  3
   0
0  2
1  4

1 Ответ

0 голосов
/ 20 января 2019

В python вы можете создать кортеж (то есть неизменный список), выполнив (1, 2, 3). Это похоже на то, как вы можете создать список [1, 2, 3]. В цикле for вы создаете кортеж длины два с записями train и test, а затем циклически повторяете их.

Следующие отпечатки 1, 2 и 3:

my_tuple = (1, 2, 3)
for i in my_tuple:
    print(i)

... так же, как это:

for i in (1, 2, 3):
    print(i)

Причина, по которой ваш учебник делает это в виде цикла, заключается в том, что операции, необходимые для прогнозирования в поезде и тестировании, идентичны.

Пример, который, вероятно, ближе к тому, что делает ваш урок, следующий:

train = load_train_data()
model = train_model(train)
test = load_test_data()
for dataset in (train, test):
    predictions = model.predict(dataset)
    print(predictions)

Что так же, как:

train = load_train_data()
model = train_model(train)
test = load_test_data()
train_predictions = model.predict(train)
print(train_predictions)
test_predictions = model.predict(test)
print(test_predictions)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...