AI ninja project [day 17] 时间序列预测

这里可以先聊一下时间序列预测的处理,
假设你忘记了你会LSTM,也忘记了你会RNN,
该怎麽处理时间序列资料呢?

我可能会先用SVR来当作我的垫档装:

https://ithelp.ithome.com.tw/upload/images/20210917/20122678Sj6HrijfD1.png

但是官网也强调了超过10000笔资料效果会不好。

import numpy as np
from sklearn.svm import SVR

X = np.array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]).reshape(-1, 1)
y = np.sin(X).ravel()

svr_poly = SVR(kernel='poly', C=100, gamma='auto', degree=3, epsilon=.1,
               coef0=1)
print(X)
ans = svr_poly.fit(X, y).predict([[20]])
print(ans)

小小的测试一下:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678ZA743h5K9e.png

再来,这里使用autokeras的TimeSeriesForecaster,
为何不使用tensorflow 来做呢?
是因为tensorflow还需要自己切分以过去多少笔来当作预测基准,
以及未来预测多少笔都要自己搭建function。
但是autokeras只要设定参数就可以了。

资料集下载:
https://archive.ics.uci.edu/ml/machine-learning-databases/00360/AirQualityUCI.zip

下载完之後我们把资料集的csv上传到colab,并查看有没有上传成功:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678UGm4qdFkDy.png

安装autokeras:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678hcA5ItFF6A.png

载入套件:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678HgmIsXtgcR.png

资料清洗,并去除不需要的栏位:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678uv1qzyJV2g.png

https://ithelp.ithome.com.tw/upload/images/20210917/20122678QJ8KeBlKUZ.png

区分训练集及验证集:
https://ithelp.ithome.com.tw/upload/images/20210917/201226784mV4Ut9qLl.png

特徵转成浮点数格式:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678Po1WPgCApH.png

未来以整体资料来测试:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678ZqyFsQK09h.png

设定训练目标(label):
https://ithelp.ithome.com.tw/upload/images/20210917/20122678Xz7jSoUVGr.png

要预测的值以过去10笔资料(lookback、window)来参考,要预测未来10笔:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678rI3lHjBQ33.png

结果作图:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678Ji51raG05q.png

假设要保存autokeras模型可以参考这个页面:
https://autokeras.com/tutorial/export/

参考资料:
https://autokeras.com/tutorial/timeseries_forecaster/

官网colab目前运行会有错误,所以我建议自己写一个。


<<:  舍弃伪双向绑定 v-model

>>:  【Day 03】 Data Analytics Pipeline 对应於 AWS 中的服务 ( 1 )

Day26 [实作] 一对一视讯通话(6): 关闭镜头或麦克风

我们在视讯通话中很常用的一个功能就是关闭镜头或是麦克风,今天我们将实作此功能 1. 在 index....

npm

昨天安装好Node.js了!所以今天要介绍的是Node.js里面的一个预设的套件,它叫做npm它有点...

《从前一天整理行李,进行三重观点叠加》

一天始於前一天的30分钟。 回应生活来说, 就像我们会在重要日子的前一晚 确认充足,好好准备。 隔天...

Chapter4 用音乐做动画 结合前三章学习的内容,一口气冲刺吧!

题外话 昨天没把树叶画上去,还是心痒痒的,所以动手简单装饰了一下这棵树: https://jerry...

AutoCAD ActiveX #5-1 Selection Filters (0)

Command:filter filtertype filterdata filtertype fi...