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

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

人工智能 機(jī)器學(xué)習(xí)
評估指標(biāo)是用來衡量機(jī)器學(xué)習(xí)模型性能的量化標(biāo)準(zhǔn),它們幫助我們理解模型在特定任務(wù)中的表現(xiàn)。

今天給大家分享機(jī)器學(xué)習(xí)中常用的評估指標(biāo)。

評估指標(biāo)是用來衡量機(jī)器學(xué)習(xí)模型性能的量化標(biāo)準(zhǔn),它們幫助我們理解模型在特定任務(wù)中的表現(xiàn)。

不同的機(jī)器學(xué)習(xí)任務(wù)(如分類、回歸)需要不同的評估指標(biāo)。通過這些指標(biāo),我們可以判斷模型的優(yōu)劣,優(yōu)化模型的性能,并在不同模型之間進(jìn)行比較。

分類任務(wù)中的評估指標(biāo)

1.混淆矩陣

混淆矩陣(Confusion Matrix)是用于評估分類模型性能的工具,特別是在二分類和多分類任務(wù)中廣泛使用。

它能夠顯示模型的分類結(jié)果與實(shí)際情況的詳細(xì)對比,幫助我們更清晰地理解模型的錯(cuò)誤類型和分類的準(zhǔn)確性。

混淆矩陣是一個(gè) n×n 的矩陣,n 是類別的數(shù)量。對于二分類問題,混淆矩陣是一個(gè)  的矩陣,表示模型在不同分類結(jié)果上的表現(xiàn)。

  • 真陽類(True Positive, TP):模型正確預(yù)測為正類的數(shù)量。
  • 真陰類(True Negative, TN):模型正確預(yù)測為負(fù)類的數(shù)量。
  • 假陽性 (False Positive, FP):模型錯(cuò)誤預(yù)測為正類的負(fù)類樣本數(shù)量(也稱為Type I錯(cuò)誤)。
  • 假陰性(False Negative, FN):模型錯(cuò)誤預(yù)測為負(fù)類的正類樣本數(shù)量(也稱為Type II錯(cuò)誤)。
from sklearn.datasets import fetch_openml
from sklearn.model_selection import cross_val_predict
from sklearn.linear_model import SGDClassifier
from sklearn.metrics import confusion_matrix

mnist = fetch_openml('mnist_784', as_frame=False, parser = "auto")
X, y = mnist.data, mnist.target
X_train, X_test, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:]
y_train_5 = (y_train == '5') # True for 5s, False for all other digits
y_test_5 = (y_test == '5')

sgd_clf = SGDClassifier(random_state=42, verbose=True)
y_train_pred = cross_val_predict(sgd_clf, X_train, y_train_5, cv=3)

cm = confusion_matrix(y_train_5, y_train_pred)
print(cm)
#[[53892   687]
# [ 1891  3530]]

2.準(zhǔn)確率(Accuracy)

準(zhǔn)確率是正確分類的樣本數(shù)占總樣本數(shù)的比例。

其公式為

適用場景:適用于類別分布平衡的情況。但對于類別不平衡的問題,準(zhǔn)確率可能不夠準(zhǔn)確。

3.精確率(Precision)

精確率表示模型預(yù)測為正例的樣本中,實(shí)際為正例的比例。

其公式為:

適用場景:當(dāng)關(guān)注假正例(FP)影響時(shí),精確率是一個(gè)重要的評估指標(biāo),如在垃圾郵件過濾中。

from sklearn.metrics import precision_score, recall_score
precision_score(y_train_5, y_train_pred)

4.召回率(Recall)

召回率表示所有實(shí)際為正例的樣本中,模型正確識別出來的比例。

其公式為

適用場景:當(dāng)需要盡可能找到所有的正例時(shí)(如疾病檢測),召回率是關(guān)鍵指標(biāo)。

recall_score(y_train_5, y_train_pred)

5.F1 值(F1-Score)

F1 值是精確率和召回率的調(diào)和平均數(shù),用于權(quán)衡精確率和召回率之間的關(guān)系。

其公式為:

適用場景:當(dāng)精確率和召回率同等重要時(shí),F(xiàn)1 值是很好的評估標(biāo)準(zhǔn)。

from sklearn.metrics import f1_score
f1_score(y_train_5, y_train_pred)

6.ROC 曲線和 AUC 值

ROC 曲線展示了分類器的假陽性率(FPR)與真陽性率(TPR)之間的關(guān)系。

AUC 值表示 ROC 曲線下面積,AUC 值越大,模型性能越好。AUC 值在0.5到1之間,接近1表示模型性能優(yōu)異。

適用場景:適用于類別不平衡的分類任務(wù)。

from sklearn.metrics import roc_auc_score
roc_auc_score(y_train_5, y_scores)

from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, confusion_matrix, roc_auc_score

# 生成樣本數(shù)據(jù)
X, y = make_classification(n_samples=1000, n_features=20, n_classes=2, random_state=42)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
model = LogisticRegression()
model.fit(X_train, y_train)

y_pred = model.predict(X_test)
y_prob = model.predict_proba(X_test)[:, 1]

# 計(jì)算評估指標(biāo)
accuracy = accuracy_score(y_test, y_pred)
precision = precision_score(y_test, y_pred)
recall = recall_score(y_test, y_pred)
f1 = f1_score(y_test, y_pred)
roc_auc = roc_auc_score(y_test, y_prob)
conf_matrix = confusion_matrix(y_test, y_pred)

print(f"Accuracy: {accuracy}")
print(f"Precision: {precision}")
print(f"Recall: {recall}")
print(f"F1 Score: {f1}")
print(f"ROC AUC Score: {roc_auc}")
print(f"Confusion Matrix:\n{conf_matrix}")

回歸問題中的評估指標(biāo)

1.均方誤差(MSE)

MSE 是模型預(yù)測值與真實(shí)值差的平方的平均值。它強(qiáng)調(diào)大的誤差。

公式:

適用場景:適用于回歸任務(wù)中,尤其是對大的預(yù)測誤差更加敏感的場景。

2.均方根誤差(RMSE)

RMSE 是 MSE 的平方根,用于將誤差帶回與原始目標(biāo)變量相同的量綱。

公式:

適用場景:與 MSE 類似,但 RMSE 更直觀,誤差與目標(biāo)變量的尺度一致。

3.平均絕對誤差(MAE)

MAE 是預(yù)測值與真實(shí)值的絕對差的平均值,較少受大誤差的影響。

公式:

適用場景:當(dāng)對所有誤差的權(quán)重一致,且不希望夸大大誤差影響時(shí),MAE 是較好的指標(biāo)。

4.R 方值(R2)

R2 衡量模型解釋了多少比例的目標(biāo)變量方差,其值介于0到1之間。

公式:

其中, 是目標(biāo)變量的平均值。

適用場景:用于評估回歸模型的解釋能力。

5.調(diào)整 R 方值(Adjusted R2)

在考慮特征數(shù)量時(shí),調(diào)整后的 R2 對多特征模型的評價(jià)更加準(zhǔn)確。

公式:

其中, 是模型中的特征數(shù)量。

適用場景:在特征數(shù)較多時(shí),調(diào)整 R2 比普通 R2 更合理。

from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score

# 生成樣本數(shù)據(jù)
X, y = make_regression(n_samples=1000, n_features=20, noise=0.1, random_state=42)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)

# 計(jì)算評估指標(biāo)
mse = mean_squared_error(y_test, y_pred)
rmse = mean_squared_error(y_test, y_pred, squared=False)  # RMSE is the square root of MSE
mae = mean_absolute_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

print(f"MSE: {mse}")
print(f"RMSE: {rmse}")
print(f"MAE: {mae}")
print(f"R2: {r2}")


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

2024-10-14 14:02:17

機(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

點(diǎn)贊
收藏

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