自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

終于把機(jī)器學(xué)習(xí)中的評估指標(biāo)搞懂了

人工智能 機(jī)器學(xué)習(xí)
今天給大家分享在機(jī)器學(xué)習(xí)中最廣泛使用的十大評估指標(biāo)。評估指標(biāo)是用于衡量機(jī)器學(xué)習(xí)模型的性能,幫助我們判斷模型在解決特定任務(wù)上的效果。

今天給大家分享在機(jī)器學(xué)習(xí)中最廣泛使用的十大評估指標(biāo)。評估指標(biāo)是用于衡量機(jī)器學(xué)習(xí)模型的性能,幫助我們判斷模型在解決特定任務(wù)上的效果。

不同的評估指標(biāo)適用于不同類型的任務(wù)(分類、回歸),選擇合適的指標(biāo)能夠有效反映模型的優(yōu)劣。

回歸指標(biāo)

1.MSE

MSE(均方誤差) 是最常用的回歸評估指標(biāo),它衡量了模型預(yù)測值與實際值之間的平方差的平均值。

計算公式為:


優(yōu)缺點:

  • 優(yōu)點:對大誤差有更大的懲罰,適合對誤差敏感的場景。
  • 缺點:對離群值非常敏感,可能導(dǎo)致模型對極端值過度擬合。

2.RMSE

均方根誤差 (RMSE) 是 MSE 的平方根。它將誤差量級與原始數(shù)據(jù)保持一致,便于解釋。RMSE 越小,模型的預(yù)測性能越好。

計算公式為:

其中  是實際值, 是預(yù)測值。RMSE 的單位與原數(shù)據(jù)相同,因此容易理解。

3.R 平方

 值表示模型解釋數(shù)據(jù)方差的比例,范圍是 0 到 1,越接近 1 表示模型對數(shù)據(jù)的擬合程度越好。

計算公式為:

其中  是實際值的平均值。

4.調(diào)整后的 R 平方

調(diào)整后的  值考慮了模型中使用的特征數(shù),能夠更好地評估復(fù)雜模型的表現(xiàn)。

它通過對特征數(shù)量進(jìn)行懲罰,避免過擬合。

計算公式為:

其中 n 是樣本數(shù)量,k 是特征數(shù)。

調(diào)整后的  會隨著無意義變量的增加而下降。

import numpy as np
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

X = np.random.rand(100, 1)
y = 3 * X.squeeze() + np.random.randn(100) * 0.5
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)

# 計算 MSE
mse = mean_squared_error(y_test, y_pred)
print(f"MSE: {mse}")

# 計算 RMSE
rmse = np.sqrt(mse)
print(f"RMSE: {rmse}")

# 計算 R2 值
r2 = r2_score(y_test, y_pred)
print(f"R2: {r2}")

# 計算調(diào)整后的 R2 值
n = len(y_test)
p = X_test.shape[1]
adjusted_r2 = 1 - (1 - r2) * (n - 1) / (n - p - 1)
print(f"Adjusted R2: {adjusted_r2}")

分類指標(biāo)

1.混淆矩陣

混淆矩陣是用于分類問題的指標(biāo),展示了模型分類結(jié)果的詳細(xì)情況。

它通常以 2x2 矩陣形式表示,包含以下部分:

  • TP (True Positives),正類被正確預(yù)測為正類的數(shù)量。
  • TN (True Negatives),負(fù)類被正確預(yù)測為負(fù)類的數(shù)量。
  • FP (False Positives),負(fù)類被錯誤預(yù)測為正類的數(shù)量(誤報)。
  • FN (False Negatives),正類被錯誤預(yù)測為負(fù)類的數(shù)量(漏報)。

from sklearn import datasets
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import confusion_matrix

iris = datasets.load_iris()
x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, 
                                                    random_state = 1)
clf = LogisticRegression(solver = 'liblinear')
# fit the training data
clf.fit(x_train, y_train)
# Do prediction on training data
y_train_pred = clf.predict(x_train)
# Do prediction on testing data
y_test_pred = clf.predict(x_test)
# find the confusion matrix for train data
confusion_matrix(y_train, y_train_pred)
# find the confusion matrix for test data
confusion_matrix(y_test, y_test_pred)
# get the full classification report for training data
print(classification_report(y_train, y_train_pred))
# get the full classification report for testing data
print(classification_report(y_test, y_test_pred))

2.準(zhǔn)確性

準(zhǔn)確性衡量模型預(yù)測正確的樣本占總樣本的比例。

適用于樣本均衡的分類問題。

計算公式為:

然而,在數(shù)據(jù)不平衡時,準(zhǔn)確性可能不是一個好的評估指標(biāo)。

from sklearn.metrics import accuracy_score
y_pred = [0, 2, 1, 3]
y_true = [0, 1, 2, 3]
print("Score :", accuracy_score(y_true, y_pred))

3.精確度

精確度也稱為查準(zhǔn)率,用于衡量模型預(yù)測的正類中有多少是真正的正類。

計算公式為:

精確度在我們關(guān)心誤報(false positive)時尤為重要。

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

4.召回率

召回率也稱為查全率或靈敏度,用于衡量實際正類中有多少被正確預(yù)測為正類。

計算公式為:

召回率在關(guān)心漏報(false negative)時非常重要。

5.F1 分?jǐn)?shù)

F1 分?jǐn)?shù)是精確度和召回率的調(diào)和平均數(shù),綜合考慮了模型的查準(zhǔn)率和查全率。

計算公式為:

F1 分?jǐn)?shù)適合處理不平衡數(shù)據(jù)集的分類任務(wù)。

6.ROC 曲線和 AUC

ROC 曲線是一種常用于評估分類模型性能的圖形工具,特別適合不平衡數(shù)據(jù)集。

它展示了不同閾值下分類模型的性能表現(xiàn)。

ROC 曲線的兩個關(guān)鍵要素是:

  • 真正率 (True Positive Rate, TPR)
    在所有正類樣本中,被模型正確分類為正類的比例。
    計算公式為:

其中 TP 是真正例數(shù),F(xiàn)N 是假負(fù)例數(shù)。

  • 假正率 (False Positive Rate, FPR)
    在所有負(fù)類樣本中,被模型錯誤分類為正類的比例。
    計算公式為:

其中 FP 是假正例數(shù),TN 是真負(fù)例數(shù)。

ROC 曲線的橫軸是假正率 (FPR),縱軸是真正率 (TPR)。隨著分類閾值的調(diào)整,F(xiàn)PR 和 TPR 都會變化。通過繪制不同閾值下的 FPR 和 TPR 的點,并將這些點連成曲線,就得到了 ROC 曲線。

AUC 是 ROC 曲線下的面積,取值范圍在 0 到 1 之間。它用一個數(shù)值量化了模型的整體表現(xiàn)。

AUC 表示了模型在不同閾值下的平均性能,是模型區(qū)分正負(fù)樣本能力的衡量指標(biāo)。

AUC 值解釋

  • AUC = 1,模型完美地分類了所有正負(fù)樣本,表現(xiàn)極佳。
  • AUC = 0.5,模型的分類能力與隨機(jī)猜測相當(dāng),沒有預(yù)測能力。
  • AUC < 0.5,模型的表現(xiàn)比隨機(jī)猜測還要差,意味著模型可能將類別完全反向分類。


責(zé)任編輯:華軒 來源: 程序員學(xué)長
相關(guān)推薦

2024-09-18 16:42:58

機(jī)器學(xué)習(xí)評估指標(biāo)模型

2024-10-08 15:09:17

2024-10-08 10:16:22

2024-10-28 00:00:10

機(jī)器學(xué)習(xí)模型程度

2024-10-30 08:23:07

2024-10-28 15:52:38

機(jī)器學(xué)習(xí)特征工程數(shù)據(jù)集

2025-01-15 11:25:35

2024-12-26 00:34:47

2025-01-20 09:21:00

2024-11-05 12:56:06

機(jī)器學(xué)習(xí)函數(shù)MSE

2024-08-23 09:06:35

機(jī)器學(xué)習(xí)混淆矩陣預(yù)測

2024-11-25 08:20:35

2025-01-20 09:00:00

2025-01-07 12:55:28

2025-02-17 13:09:59

深度學(xué)習(xí)模型壓縮量化

2024-07-17 09:32:19

2024-09-23 09:12:20

2025-03-03 01:50:00

深度學(xué)習(xí)微調(diào)遷移學(xué)習(xí)

2024-10-16 07:58:48

2024-12-03 08:16:57

點贊
收藏

51CTO技術(shù)棧公眾號