[云炬python3玩转机器学习] 5-6最好的衡量线性回归法的指标: R Squared
生活随笔
收集整理的這篇文章主要介紹了
[云炬python3玩转机器学习] 5-6最好的衡量线性回归法的指标: R Squared
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
RMSE MAE 無法解決 不同模型之間的誤差值比較,如預測房產數據誤差為5萬元,而預測學生成績誤差是10分,無法進行比較算法是用在哪個問題上好
R Squared就可以解決這種問題
y = y均值這個模型,再在機器學習中叫 Baseline Model,是一種最樸素的預測方法,R2這個值直觀的理解就是我們的模型對比Baseline Model模型的效果
R2與分類準確度有一個很打大的不同就是可以小于0
Var(y)代表的是y這組數據對應的方差
06 R Squared (R^2) import numpy as np import matplotlib.pyplot as plt from sklearn import datasets import datetime;print("Run by CYJ,",datetime.datetime.now()) Run by CYJ, 2022-01-20 13:23:49.455706 boston = datasets.load_boston() x = boston.data[:,5] # 只使用房間數量這個特征 y = boston.targetx = x[y < 50.0] y = y[y < 50.0] from playML.model_selection import train_test_splitx_train, x_test, y_train, y_test = train_test_split(x, y, seed=666) from playML.SimpleLinearRegression import SimpleLinearRegressionreg = SimpleLinearRegression() reg.fit(x_train, y_train) SimpleLinearRegression() reg.a_ 7.8608543562689555 reg.b_ -27.459342806705543 y_predict = reg.predict(x_test) R Square from playML.metrics import mean_squared_error1 - mean_squared_error(y_test, y_predict)/np.var(y_test) 0.6129316803937322 封裝我們自己的 R Score 代碼參見 這里from playML.metrics import r2_scorer2_score(y_test, y_predict) 0.6129316803937322 scikit-learn中的 r2_score from sklearn.metrics import r2_scorer2_score(y_test, y_predict) 0.6129316803937324 scikit-learn中的LinearRegression中的score返回r2_score:http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html在我們的SimpleRegression中添加score reg.score(x_test, y_test) 0.6129316803937322總結
以上是生活随笔為你收集整理的[云炬python3玩转机器学习] 5-6最好的衡量线性回归法的指标: R Squared的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新手程序员如何找一个靠谱的公司
- 下一篇: 经典面试题(26):以下代码将输出的结果