我在YouTube上跟随Sentdex的机器学习教程。在第五部分,他做了以下操作
forecast_out = int(math.ceil(0.01*len(df)))print(forecast_out)df['label'] = df[forecast_col].shift(-forecast_out)X = np.array(df.drop(['label'],1))X = preprocessing.scale(X)X = X[:-forecast_out]X_lately = X[-forecast_out:]df.dropna(inplace=True)y = np.array(df['label'])y = np.array(df['label'])
我完全不知道他在这里试图做什么。在int(math.ceil(0.01*len(df)))
中,他试图获取他想要预测的天数。之后,他执行了df[forecast_col].shift(-forecast_out)
,之后的操作我完全看不懂了。
回答:
这里的信息不足,但如果这是一个时间序列预测问题,那么我认为df[forecast_col].shift(-forecast_out)
是将预测列向上移动’forecast_out’天数,这样特定一天的标签列就会是你需要预测的数字(即,从未来移过来的数字)。