※ 引述《backprog (back-propagation)》之銘言:
: from sklearn.svm import SVR
: from sklearn.metrics import mean_squared_error
: # x_data 請當作 test set data
: # y_data 請當作 test set label
: svr_model = SVR() #初始模型
: svr_model.fit(X=x_data, y=y_data) #訓練
: predict_result = svr_model.predict(x_data) #預測
: # 計算預測結果的 MSE 和 PCCs
: print("PCCs = {}".format(np.corrcoef(x=predict_result, y=y_data)))
: print("MSE = {}".format(mean_squared_error(y_data, predict_result)))
有版友另外私下提問,但我希望能公開回答,效益較高。
Q: 事後代回去的資料可以用來評估嗎?
A: 當然可以阿,模型訓練出來不就是要事後用嗎?
只是事後帶回去的資料(test set)不能和訓練用的重複,
不然就會球員兼裁判,你自己要分割資料。
Q: from sklearn.model_selection import cross_val_score 可以用來算 MSE 嗎?
A: 可以,cross_val_score 就是幫你分割資料、重複實驗,比較方便
用法:
cross_val_score(estimator=model,
X=x_data,
y=y_data,
scoring='neg_mean_squared_error' #選用 MSE 當 score
)
return 出 N 次交叉測試的 MSE