Невозможно использовать пророка для прогнозирования (датафрейм содержит менее 2 строк, отличных от NaN) - PullRequest
0 голосов
/ 10 октября 2018

Мой блокнот в kaggle

Пожалуйста, сфокусируйтесь на блоке в нижней части моего блокнота.Я не могу сделать прогноз с сообщением об ошибке «ValueError: Dataframe имеет менее 2 строк, отличных от NaN».

Что я могу сделать, чтобы решить эту проблему ???

tic = time.time()

for s in proph_results['shop_id'].unique():
    for i in proph_results['item_id'].unique():
        proph_train = train.loc[(train['shop_id'] == s) & (train['item_id'] == i)].reset_index()
        proph_train.rename(columns={'date': 'ds', 'item_cnt_day': 'y'}, inplace=True)

        m = Prophet()
        m.fit(proph_train[['ds', 'y']])
        future = m.make_future_dataframe(periods=len(test_old.index.unique()), include_history=False)
        fcst = m.predict(future)

        proph_results.loc[(proph_results['shop_id'] == s) & (proph_results['item_id'] == i), 'sales'] = fcst['yhat'].values

        toc = time.time()
        if i % 10 == 0:
            print("Completed store {} item {}. Cumulative time: {:.1f}s".format(s, i, toc-tic))

1 Ответ

0 голосов
/ 25 марта 2019

Prophet нельзя использовать, когда количество строк (которые не равны нулю) в передаваемых вами данных меньше 2. Таким образом, вы не можете делать прогноз в этом случае.

Таким образом, вывы получаете ошибку при настройке модели.

Нет другого решения, кроме добавления дополнительных (не нулевых) данных к существующим.

...