无法使用先知进行预测(数据框的非NaN行少于2个)

时间:2018-10-10 09:52:11

标签: python facebook-prophet

My notebook in kaggle

请关注笔记本底部附近的方块。我无法通过错误消息“ ValueError:数据框包含少于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 :(得分:1)

Prophet在要传递的数据中的行数(不为null)小于2时不能使用。因此,在这种情况下,您无法进行预测。

因此,在拟合模型时会出现错误。

除了向现有数据添加更多(非null)数据外,没有其他解决方案。