截止到本期,一共發了9篇關于機器學習預測全家桶Python代碼的文章。參考往期文章如下:
1.終于來了!python機器學習預測全家桶
2.機器學習預測全家桶-Python,一次性搞定多/單特征輸入,多/單步預測!最強模板!
3.機器學習預測全家桶-Python,新增CEEMDAN結合代碼,大大提升預測精度!
4.機器學習預測全家桶-Python,新增VMD結合代碼,大大提升預測精度!
5.Python機器學習預測+回歸全家桶,再添數十種回歸模型!這次千萬別再錯過了!
6.Python機器學習預測+回歸全家桶,新增TCN,BiTCN,TCN-GRU,BiTCN-BiGRU等組合模型預測
7.調用最新mealpy庫,實現215個優化算法優化CNN-BiLSTM-Attention,電力負荷預測
8.Transformer實現風電功率預測,python預測全家桶
9.幾個小創新模型,KAN組合網絡(LSTM、GRU、Transformer)時間序列預測,python預測全家桶
上一期在python預測全家桶更新了關于KAN組合網絡的預測模型,今天繼續更新關于KAN網絡的回歸模型。
本次更新可以一鍵更改不同KAN網絡的組合模型,而且可以一鍵實現單輸出和多輸出回歸的簡單切換。
一、KAN網絡模型概述
KAN網絡屬于近期非常熱門的一個模型,與傳統的MLP架構截然不同,KAN網絡能用更少的參數在數學、物理問題上取得更高精度。KAN其靈感來源于 Kolmogorov-Arnold 定理,這個定理的含義就是任意一個多變量連續函數都可以表現為一些單變量函數的組合。
KAN的核心特點是在網絡的邊緣(即權重)上擁有可學習的激活函數,而不是像傳統的MLPs那樣在節點(即神經元)上使用固定的激活函數。并且KAN的準確性和可解釋性要比MLP好很多。
KAN的優點:
1. KAN可以避免大模型的災難性遺忘問題
2. 在函數擬合、偏微分方程求解方面,KAN比MLP更準確
3. KAN可以直觀地可視化。KAN 提供MLP無法提供的可解釋性和交互性
KAN的缺點:
1.訓練速度慢:因為訓練一個激活函數,需要無限多的循環進行驗證
2. 對于更深層結構可解釋性是否還存在,論文中給出的實驗只是淺層的
3.KAN網絡在求解非線性函數等工程問題時更精確,但在時間序列預測方面,訓練起來就非常慢。但是將其作為網絡的一個小的改進點,還是可以的。
二、KAN網絡組合模型
本期帶來幾個KAN網絡的回歸組合模型:LSTM-KAN、BiLSTM-KAN、GRU-KAN、TCN-KAN、Transformer-KAN。
以UCI數據集中的《共享單車租賃數量.csv》數據為例,可以看到,除時間序列外,數據共有14列,其中前13列為特征列,最后一列為輸出列,也就是自行車的租賃數量。
以上這個數據是一個多輸入單輸出的回歸問題。
三、多輸入單輸出實驗結果展示:
設置訓練集測試集比例為8:2,并采用各大KAN組合模型預測。
LSTM-KAN回歸預測結果:
BiLSTM-KAN回歸預測結果:
TCN-KAN回歸預測結果:
Transformer-KAN回歸預測結果:
四、多輸入多步預測實驗結果展示:
除此之外,還可以進行多步回歸預測。
由于作者這里沒有關于多步回歸預測的合適數據,因此還用這個《共享單車租賃數量.csv》數據為例進行介紹。現在我們暫且把最后2列當做預測值,也就是說,將前12列作為數據特征,來同時預測注冊數量和租賃數量。
結果如下:
TCN-KAN多步回歸預測結果:
這里的第一步即注冊數量的預測結果,第二步即租賃數量的預測結果。
這樣一來,我們就實現了多輸出的回歸預測。代碼中只需要修改一個參數即可,簡單便捷!其他模型就不再一一展示。
代碼獲取
已將本文代碼更新至python預測全家桶。
后續會繼續更新一些其他模型……敬請期待!
機器學習python全家桶代碼獲取
https://mbd.pub/o/bread/ZZqXmpty
識別此二維碼也可跳轉全家桶
后續有更新直接進入此鏈接,即可下載最新的!
或點擊下方閱讀原文獲取此全家桶。
python預測全家桶pip包推薦版如下:
tensorflow~=2.15.0
pandas~=2.2.0
openpyxl~=3.1.2
matplotlib~=3.8.2
numpy~=1.26.3
keras~=2.15.0
mplcyberpunk~=0.7.1
scikit-learn~=1.4.0
scipy~=1.12.0
qbstyles~=0.1.4
prettytable~=3.9.0
vmdpy~=0.2
xgboost~=2.0.3
mealpy~=3.0.1
torch~=2.3.1
推薦使用3.9版本的python哦!
獲取更多代碼:
或者復制鏈接跳轉:
https://docs.qq.com/sheet/DU3NjYkF5TWdFUnpu