成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

終于把機器學習中的評估指標搞懂了!!

人工智能 機器學習
評估指標是用來衡量機器學習模型性能的量化標準,它們幫助我們理解模型在特定任務中的表現。

今天給大家分享機器學習中常用的評估指標。

評估指標是用來衡量機器學習模型性能的量化標準,它們幫助我們理解模型在特定任務中的表現。

不同的機器學習任務(如分類、回歸)需要不同的評估指標。通過這些指標,我們可以判斷模型的優劣,優化模型的性能,并在不同模型之間進行比較。

分類任務中的評估指標

1.混淆矩陣

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

它能夠顯示模型的分類結果與實際情況的詳細對比,幫助我們更清晰地理解模型的錯誤類型和分類的準確性。

混淆矩陣是一個 n×n 的矩陣,n 是類別的數量。對于二分類問題,混淆矩陣是一個  的矩陣,表示模型在不同分類結果上的表現。

  • 真陽類(True Positive, TP):模型正確預測為正類的數量。
  • 真陰類(True Negative, TN):模型正確預測為負類的數量。
  • 假陽性 (False Positive, FP):模型錯誤預測為正類的負類樣本數量(也稱為Type I錯誤)。
  • 假陰性(False Negative, FN):模型錯誤預測為負類的正類樣本數量(也稱為Type II錯誤)。
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.準確率(Accuracy)

準確率是正確分類的樣本數占總樣本數的比例。

其公式為

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

3.精確率(Precision)

精確率表示模型預測為正例的樣本中,實際為正例的比例。

其公式為:

適用場景:當關注假正例(FP)影響時,精確率是一個重要的評估指標,如在垃圾郵件過濾中。

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

4.召回率(Recall)

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

其公式為

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

recall_score(y_train_5, y_train_pred)

5.F1 值(F1-Score)

F1 值是精確率和召回率的調和平均數,用于權衡精確率和召回率之間的關系。

其公式為:

適用場景:當精確率和召回率同等重要時,F1 值是很好的評估標準。

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

6.ROC 曲線和 AUC 值

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

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

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

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

# 生成樣本數據
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]

# 計算評估指標
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}")

回歸問題中的評估指標

1.均方誤差(MSE)

MSE 是模型預測值與真實值差的平方的平均值。它強調大的誤差。

公式:

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

2.均方根誤差(RMSE)

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

公式:

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

3.平均絕對誤差(MAE)

MAE 是預測值與真實值的絕對差的平均值,較少受大誤差的影響。

公式:

適用場景:當對所有誤差的權重一致,且不希望夸大大誤差影響時,MAE 是較好的指標。

4.R 方值(R2)

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

公式:

其中, 是目標變量的平均值。

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

5.調整 R 方值(Adjusted R2)

在考慮特征數量時,調整后的 R2 對多特征模型的評價更加準確。

公式:

其中, 是模型中的特征數量。

適用場景:在特征數較多時,調整 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

# 生成樣本數據
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)

# 計算評估指標
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}")


責任編輯:華軒 來源: 程序員學長
相關推薦

2024-10-14 14:02:17

機器學習評估指標人工智能

2024-10-08 15:09:17

2024-10-08 10:16:22

2024-10-28 15:52:38

機器學習特征工程數據集

2024-12-26 00:34:47

2024-10-28 00:00:10

機器學習模型程度

2025-01-15 11:25:35

2024-10-30 08:23:07

2025-01-20 09:21:00

2024-08-23 09:06:35

機器學習混淆矩陣預測

2024-11-05 12:56:06

機器學習函數MSE

2024-11-25 08:20:35

2025-01-20 09:00:00

2025-01-07 12:55:28

2025-02-17 13:09:59

深度學習模型壓縮量化

2024-07-17 09:32:19

2024-09-23 09:12:20

2024-12-03 08:16:57

2024-10-16 07:58:48

2024-08-01 08:41:08

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 神马久久av | 国产精品久久久久久吹潮 | 久久精品黄色 | 91网站在线看 | 欧美一级片在线看 | 日韩精品一区二区三区在线播放 | 国产一区二区视频免费在线观看 | avtt国产 | 中文字幕 亚洲一区 | 999久久 | 成人在线视频一区二区三区 | 国产精品天堂 | 欧美日韩久久精品 | 黄网站色大毛片 | 操操日 | 中文字幕一区二区视频 | 日韩免费看片 | 亚洲视频在线免费观看 | 欧美性网站 | 国产一区二区精品在线观看 | 五月天婷婷丁香 | 中文字幕在线三区 | 久久久久黄色 | 蜜桃官网 | 日韩av一区二区在线观看 | 欧美日韩在线免费 | 久久69精品久久久久久久电影好 | 亚洲色欲色欲www | 亚洲欧美日本在线 | 91精品国产色综合久久 | 黄色av免费网站 | 91在线精品视频 | 日韩欧美国产综合 | 亚洲午夜视频 | 日韩中文字幕av | 国产ts人妖一区二区三区 | 亚洲精品乱码久久久久久按摩 | 国产在线精品一区二区 | 亚洲精品国产成人 | 欧美一区二区在线 | 国产精品一区二区在线播放 |