机器学习第10天:模型评价方法及代码实现
文章目錄
- 一、分類評價指標
- 1.精確率(Precision)
- 2.召回率(Recall)
- 3.準確率(Accuracy)
- 4.F1_score
- 二、回歸評價指標
- 1.平方根誤差(RMSE)
- 2.均方誤差(MSE)
- 3.平均絕對誤差(MAE)
- 4.R方值(R2_score)
這里先引入模型評價相關的概念以及相應的公式,讓大家一個大概的理解,知道有這么一回事,在后續(xù)文章中我將結合具體實例進行詳細的講解。
一、分類評價指標
混淆矩陣
| 正例 | TP(真正例) | FN(假反例) |
| 反例 | FP(假正例) | TN(真反例) |
-
TP: 將正例預測為正例(預測正確)
-
FN: 將正例預測為負例(預測錯誤)
-
FP: 將負例預測為正例(預測錯誤)
-
TN: 將負例預測為負例(預測正確)
1.精確率(Precision)
定義: 精確率(Precision),是被判定為正例(反例)的樣本中,真正的正例樣本(反例樣本)的比例。舉個例子,一個盒子里有20個小球,10個白的10個黑的,現(xiàn)在要找到盒子中的黑球,拿出了8個球其中2個黑6個白的,那么查找精確率為2/6=0.3333。
公式(分類任務):
代碼:
2.召回率(Recall)
定義:召回率(Recall),是被正確分類的正例(反例)樣本,占所有正例(反例)樣本的比例。舉個例子,一個盒子里有20個小球,10個白的10個黑的,現(xiàn)在要找到盒子中的黑球,拿出了8個球其中2個黑6個白的,那么查找召回率為2/10=0.2。
公式(分類任務):
代碼:
3.準確率(Accuracy)
定義: 指的是分類正確的樣本數(shù)量占樣本總數(shù)的比例。
公式:
代碼:
注:邏輯回歸LogisticRegression.score()與K-鄰近算法KNeighborsClassifier.score()中使用的就是該評價方法。
4.F1_score
定義: 精確率和召回率的調和平均值。
公式:
代碼:
二、回歸評價指標
1.平方根誤差(RMSE)
平方根誤差(RMSE),其又被稱為RMSD(root mean square deviation),是回歸模型中最常用的評價指標。
公式:
RMSE=MSE=1m∑i=1m(yi?y^i)2RM S E=\sqrt{M S E}= \sqrt{\frac{1}{m}\sum_{i=1}^{m}\left(y_i-\hat{y}_i\right)^{2}}RMSE=MSE?=m1?i=1∑m?(yi??y^?i?)2?
- yiy_iyi?是第i個樣本的真實值
- y^\hat yy^?是第i個樣本的預測值
- m是樣本的個數(shù)
代碼:
from sklearn.metrics import mean_squared_errory_true = [1,2,4] y_pred = [1,3,5]RMSE = mean_squared_error(y_true,y_pred)**0.52.均方誤差(MSE)
公式:
MSE=1m∑i=1m(yi?y^i)2M S E=\frac{1}{m}\sum_{i=1}^{m}\left(y_i-\hat{y}_i\right)^{2}MSE=m1?i=1∑m?(yi??y^?i?)2
- yiy_iyi?是第i個樣本的真實值
- y^\hat yy^?是第i個樣本的預測值
- m是樣本的個數(shù)
代碼:
from sklearn.metrics import mean_squared_errory_true = [1,2,4] y_pred = [1,3,5]MSE = mean_squared_error(y_true,y_pred)3.平均絕對誤差(MAE)
公式:
MAE=1m∑i=1m∣yi?y^i∣MAE=\frac{1}{m}\sum_{i=1}^{m}\vert{y_i-\hat{y}_i}\vertMAE=m1?i=1∑m?∣yi??y^?i?∣
- yiy_iyi?是第i個樣本的真實值
- y^\hat yy^?是第i個樣本的預測值
- m是樣本的個數(shù)
代碼:
from sklearn.metrics import mean_absolute_errory_true = [1,2,4] y_pred = [1,3,5]MAE = mean_absolute_error(y_true,y_pred)4.R方值(R2_score)
公式:
R2=1?∑i=1m(yi?y^i)2∑i=1m(yi?yˉi)2R^2 = 1 - \frac{\sum_{i=1}^{m}(y_i-\hat{y}_i)^2}{\sum_{i=1}^{m}(y_i-\bar{y}_i)^2}R2=1?∑i=1m?(yi??yˉ?i?)2∑i=1m?(yi??y^?i?)2?
- yiy_iyi?是第i個樣本的真實值
- y^\hat yy^?是第i個樣本的預測值
- m是樣本的個數(shù)
代碼:
from sklearn.metrics import r2_scorey_true = [1,2,4] y_pred = [1,3,5]R2 = r2_score(y_true,y_pred)注:線性回歸LinearRegression.score()中使用的就是該評價方法
總結
以上是生活随笔為你收集整理的机器学习第10天:模型评价方法及代码实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSDN博客图片居中问题解决方案
- 下一篇: 机器学习第11天:朴素贝叶斯模型 - 垃