使用pandas導入數據
from sklearn.neural_network import MLPRegressor
import pandas as pd
import numpy as np
data_tr = pd.read_csv(r'./data/BPdata_tr.txt') # 導入數據
data_te = pd.read_csv(r'./data/BPdata_te.txt')
查看data_tr
data_tr
x1 x2 y
0 0.065735 0.044223 0.006277
1 0.049985 0.334657 0.114494
2 0.541525 0.027610 0.294011
3 0.038182 0.284811 0.082575
4 0.262401 0.198246 0.108156
.. ... ... ...
495 0.343548 0.500284 0.368309
496 0.259262 0.558471 0.379106
497 0.297697 0.123911 0.103977
498 0.507976 0.304445 0.350726
499 0.396284 0.607128 0.525645
[500 rows x 3 columns]
調用API訓練模型
model = MLPRegressor(hidden_layer_sizes=(10,), random_state=10,learning_rate_init=0.1) # BP神經網絡回歸模型
model.fit(data_tr.iloc[:,:2],data_tr.iloc[:,2]) # 訓練模型
pre = model.predict(data_te.iloc[:,:2]) # 模型預測
np.abs(data_te.iloc[:,2]-pre).mean() # 模型評價
查看模型預測值與實際差值絕對值的平均值
np.abs(data_te.iloc[:,2]-pre).mean() # 模型評價
0.037916438908481044
- 總結:API調用較容易,但重點在於對模型中算法的理解,想要調試好模型,需調試好參數。