日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习第10天:模型评价方法及代码实现

發布時間:2025/4/5 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习第10天:模型评价方法及代码实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、分類評價指標
    • 1.精確率(Precision)
    • 2.召回率(Recall)
    • 3.準確率(Accuracy)
    • 4.F1_score
  • 二、回歸評價指標
    • 1.平方根誤差(RMSE)
    • 2.均方誤差(MSE)
    • 3.平均絕對誤差(MAE)
    • 4.R方值(R2_score)


這里先引入模型評價相關的概念以及相應的公式,讓大家一個大概的理解,知道有這么一回事,在后續文章中我將結合具體實例進行詳細的講解。

一、分類評價指標

混淆矩陣

真實\預測正例反例
正例TP(真正例)FN(假反例)
反例FP(假正例)TN(真反例)
  • TP: 將正例預測為正例(預測正確)

  • FN: 將正例預測為負例(預測錯誤)

  • FP: 將負例預測為正例(預測錯誤)

  • TN: 將負例預測為負例(預測正確)

1.精確率(Precision)

定義: 精確率(Precision),是被判定為正例(反例)的樣本中,真正的正例樣本(反例樣本)的比例。舉個例子,一個盒子里有20個小球,10個白的10個黑的,現在要找到盒子中的黑球,拿出了8個球其中2個黑6個白的,那么查找精確率為2/6=0.3333。

公式(分類任務):

代碼:

from sklearn.metrics import precision_scorey_true = [3, 1, 2, 0, 1, 0] y_pred = [1, 0, 1, 0, 0, 1]precision_score(y_true, y_pred)

2.召回率(Recall)

定義:召回率(Recall),是被正確分類的正例(反例)樣本,占所有正例(反例)樣本的比例。舉個例子,一個盒子里有20個小球,10個白的10個黑的,現在要找到盒子中的黑球,拿出了8個球其中2個黑6個白的,那么查找召回率為2/10=0.2。

公式(分類任務):

代碼:

from sklearn.metrics import recall_scorey_true = [3, 1, 2, 0, 1, 0] y_pred = [1, 0, 1, 0, 0, 1]recall_score(y_true, y_pred)

3.準確率(Accuracy)

定義: 指的是分類正確的樣本數量占樣本總數的比例

公式:

代碼:

import numpy as np from sklearn.metrics import accuracy_scorey_true = [3, 1, 2, 0, 1, 0] y_pred = [1, 0, 1, 0, 0, 1]accuracy_score(y_true, y_pred)

注:邏輯回歸LogisticRegression.score()與K-鄰近算法KNeighborsClassifier.score()中使用的就是該評價方法。

4.F1_score

定義: 精確率和召回率的調和平均值。

公式:

代碼:

from sklearn.metrics import f1_scorey_true = [3, 1, 2, 0, 1, 0] y_pred = [1, 0, 1, 0, 0, 1]f1_score(y_true, y_pred)

二、回歸評價指標

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=1m?(yi??y^?i?)2?

  • yiy_iyi?是第i個樣本的真實值
  • y^\hat yy^?是第i個樣本的預測值
  • m是樣本的個數

代碼:

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.5

2.均方誤差(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=1m?(yi??y^?i?)2

  • yiy_iyi?是第i個樣本的真實值
  • y^\hat yy^?是第i個樣本的預測值
  • m是樣本的個數

代碼:

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=1m?yi??y^?i?

  • yiy_iyi?是第i個樣本的真實值
  • y^\hat yy^?是第i個樣本的預測值
  • m是樣本的個數

代碼:

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?)2i=1m?(yi??y^?i?)2?

  • yiy_iyi?是第i個樣本的真實值
  • y^\hat yy^?是第i個樣本的預測值
  • m是樣本的個數

代碼:

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天:模型评价方法及代码实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。