※ 引述《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