質問編集履歴

1

プログラムの抜け

2020/11/02 01:20

投稿

jun80
jun80

スコア15

test CHANGED
File without changes
test CHANGED
@@ -188,6 +188,76 @@
188
188
 
189
189
  print('MAE:',mae)
190
190
 
191
+ #特徴量に年を入れる
192
+
193
+ #df['year'] = df['datetime'].dt.year #年の特徴量
194
+
195
+ #月の特徴量
196
+
197
+ df['month']=df['datetime'].dt.month
198
+
199
+ #日の要素をデータフレームに加える
200
+
201
+ df['day']=df['datetime'].dt.day
202
+
203
+ # 曜日
204
+
205
+ df['dayofweek'] = df['datetime'].dt.dayofweek
206
+
207
+ x_pos = df['POSIX'].values
208
+
209
+ #x =df[['POSIX','year','month','day','dayofweek']].values
210
+
211
+ x =df[['POSIX','month','day','dayofweek']].values
212
+
213
+ y = df['demand'].values
214
+
215
+ x_pos=x_pos.reshape(-1,1)
216
+
217
+ x_pos_train,x_pos_test=x_pos[:N_train+i*24],x_pos[N_train:N_train+i*24+24] #xと同じ 正解データ
218
+
219
+ x=x
220
+
221
+ y=y.reshape(-1,1)
222
+
223
+ x_train, y_train = x[:N_train + i * 24], y[:N_train + i * 24] # 多分1回ごとに訓練期間が1日分長くなる
224
+
225
+ x_test, y_test = x[N_train + i * 24:N_train + i * 24 + 24], y[N_train + i * 24:N_train + i * 24 + 24] # 多分1日予測を繰り返してる
226
+
227
+ y_train=np.reshape(y_train,(-1)) #1次元に変換
228
+
229
+ y_test=np.reshape(y_test,(-1)) #1次元に変換
230
+
231
+ #機械学習パート
232
+
233
+ rf = RandomForestRegressor(random_state=1)
234
+
235
+
236
+
237
+ rf.fit(x_train,y_train)
238
+
239
+ y_pred=rf.predict(x_test)
240
+
241
+ y_pred=np.array(y_pred)
242
+
243
+
244
+
245
+ print('y_pred',y_pred)
246
+
247
+
248
+
249
+ print(x_test)
250
+
251
+ plt.figure(figsize=(9,5))
252
+
253
+ plt.plot(x_pos,y,color='gray',linestyle='dashdot')
254
+
255
+ plt.plot(x_pos_train,y_train,'+')
256
+
257
+ plt.plot(x_pos_test,y_pred,'--')
258
+
259
+ plt.show()
260
+
191
261
  ```
192
262
 
193
263