机器学习第10天:模型评价方法及代码实现
文章目錄
- 一、分類評(píng)價(jià)指標(biāo)
- 1.精確率(Precision)
- 2.召回率(Recall)
- 3.準(zhǔn)確率(Accuracy)
- 4.F1_score
- 二、回歸評(píng)價(jià)指標(biāo)
- 1.平方根誤差(RMSE)
- 2.均方誤差(MSE)
- 3.平均絕對(duì)誤差(MAE)
- 4.R方值(R2_score)
這里先引入模型評(píng)價(jià)相關(guān)的概念以及相應(yīng)的公式,讓大家一個(gè)大概的理解,知道有這么一回事,在后續(xù)文章中我將結(jié)合具體實(shí)例進(jìn)行詳細(xì)的講解。
一、分類評(píng)價(jià)指標(biāo)
混淆矩陣
| 正例 | TP(真正例) | FN(假反例) |
| 反例 | FP(假正例) | TN(真反例) |
-
TP: 將正例預(yù)測(cè)為正例(預(yù)測(cè)正確)
-
FN: 將正例預(yù)測(cè)為負(fù)例(預(yù)測(cè)錯(cuò)誤)
-
FP: 將負(fù)例預(yù)測(cè)為正例(預(yù)測(cè)錯(cuò)誤)
-
TN: 將負(fù)例預(yù)測(cè)為負(fù)例(預(yù)測(cè)正確)
1.精確率(Precision)
定義: 精確率(Precision),是被判定為正例(反例)的樣本中,真正的正例樣本(反例樣本)的比例。舉個(gè)例子,一個(gè)盒子里有20個(gè)小球,10個(gè)白的10個(gè)黑的,現(xiàn)在要找到盒子中的黑球,拿出了8個(gè)球其中2個(gè)黑6個(gè)白的,那么查找精確率為2/6=0.3333。
公式(分類任務(wù)):
代碼:
2.召回率(Recall)
定義:召回率(Recall),是被正確分類的正例(反例)樣本,占所有正例(反例)樣本的比例。舉個(gè)例子,一個(gè)盒子里有20個(gè)小球,10個(gè)白的10個(gè)黑的,現(xiàn)在要找到盒子中的黑球,拿出了8個(gè)球其中2個(gè)黑6個(gè)白的,那么查找召回率為2/10=0.2。
公式(分類任務(wù)):
代碼:
3.準(zhǔn)確率(Accuracy)
定義: 指的是分類正確的樣本數(shù)量占樣本總數(shù)的比例。
公式:
代碼:
注:邏輯回歸LogisticRegression.score()與K-鄰近算法KNeighborsClassifier.score()中使用的就是該評(píng)價(jià)方法。
4.F1_score
定義: 精確率和召回率的調(diào)和平均值。
公式:
代碼:
二、回歸評(píng)價(jià)指標(biāo)
1.平方根誤差(RMSE)
平方根誤差(RMSE),其又被稱為RMSD(root mean square deviation),是回歸模型中最常用的評(píng)價(jià)指標(biāo)。
公式:
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個(gè)樣本的真實(shí)值
- y^\hat yy^?是第i個(gè)樣本的預(yù)測(cè)值
- m是樣本的個(gè)數(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個(gè)樣本的真實(shí)值
- y^\hat yy^?是第i個(gè)樣本的預(yù)測(cè)值
- m是樣本的個(gè)數(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.平均絕對(duì)誤差(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個(gè)樣本的真實(shí)值
- y^\hat yy^?是第i個(gè)樣本的預(yù)測(cè)值
- m是樣本的個(gè)數(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個(gè)樣本的真實(shí)值
- y^\hat yy^?是第i個(gè)樣本的預(yù)測(cè)值
- m是樣本的個(gè)數(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()中使用的就是該評(píng)價(jià)方法
總結(jié)
以上是生活随笔為你收集整理的机器学习第10天:模型评价方法及代码实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSDN博客图片居中问题解决方案
- 下一篇: 机器学习第11天:朴素贝叶斯模型 - 垃