0

我在 kaggle 中的笔记本

请关注我笔记本底部附近的方块。我无法使用错误消息“ValueError:Dataframe 的非 NaN 行少于 2 个”进行预测。

我能做些什么来解决它???

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))
4

1 回答 1

6

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

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

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

于 2019-03-25T20:03:36.807 回答