df2['open2'] = df['open2'] print(df2.tail()) df3 = df2.tail(200) df3.plot(rot=15) #4 print('\n#4,计算预测结果') df5 = pd.DataFrame() df5['y_test'] = df2['xopen'] df5['y_pred'] = df2['open2'] a1, df5x = ztq.ai_acc_xed2x(df5['y_test'], df5['y_pred'], ky0=5) print(df5x.tail()) print('\na1,', a1) a1, df5x, a20 = ztq.ai_acc_xed2ext(df5['y_test'], df5['y_pred'], ky0=5) print('\na20,', a20) ''' n_df9,3671,n_dfk,3655 acc-kok: 99.56%, MAE:42.65, MSE:2463.18, RMSE:49.63 y_test y_pred ysub ysub2 y_test_div ysubk date 2017-04-25 3132.918 3185.180 -52.262 52.262 3132.918 1.668 2017-04-26 3131.350 3191.560 -60.210 60.210 3131.350 1.923 2017-04-27 3144.022 3203.079 -59.057 59.057 3144.022 1.878 2017-04-28 3147.228 3205.589 -58.361 58.361 3147.228 1.854 2017-05-02 3138.307 3194.470 -56.163 56.163 3138.307 1.790 a1, 99.564 n_df9,3671,n_dfk,3659
mx.summary() plot_model(mx, to_file='tmp/lstm010mx.png') #4 模型训练 print('\n#4 模型训练 fit') tbCallBack = keras.callbacks.TensorBoard(log_dir=rlog, write_graph=True, write_images=True) tn0 = arrow.now() mx.fit(x_train, y_train, epochs=2000, batch_size=512 * 24, callbacks=[tbCallBack]) tn = zt.timNSec('', tn0, True) mx.save('tmp/lstm010mx.dat') #5 利用模型进行预测 predict print('\n#5 模型预测 predict') tn0 = arrow.now() y_pred = mx.predict(x_test) tn = zt.timNSec('', tn0, True) df_test['y_pred'] = zdat.ds4x(y_pred, df_test.index, True) df_test.to_csv('tmp/df_lstm010mx.csv', index=False) #6 print('\n#6 acc准确度分析') print('\nky0=10') df = df_test dacc, dfx, a10 = ztq.ai_acc_xed2ext(df.y, df.y_pred, ky0=10, fgDebug=True)
print('\n#6 模型预测 predict') y_pred = model.predict(x_test) print(y_pred) print('type(y_pred):', type(y_pred)) #7 整理预测数据 print('\n#7 整理预测数据 ') print('\n acc.xed') y2x = y_pred.flatten()[:] print('\n y2x') print(y2x) print('type(y2x):', type(y2x)) ds2y = zdat.ds4x(y2x, df_test.index) df_test['y_pred'] = ds2y print('\ndf_test') print(df_test.tail(9)) print('\n acc.xed') dacc, df2, a10 = ztq.ai_acc_xed2ext(df_test.y, df_test.y_pred, ky0=5, fgDebug=True) # # #8 draw print('\n#8 绘制图形') v1 = [df_test.x, df_test.y, 300, 'blue', 0.2] v2 = [df_test.x, df_test.y_pred, 50, 'red', 0.6] zdr.dr_mul_scatter(vlst=[v1, v2])