機器學習 - 效能指標



機器學習中的效能指標用於評估機器學習模型的效能。這些指標提供定量措施,以評估模型的執行情況以及比較不同模型的效能。效能指標很重要,因為它們有助於我們瞭解模型的執行情況以及是否滿足我們的要求。透過這種方式,我們可以就是否使用特定模型做出明智的決定。

根據所解決問題的型別和問題的具體要求,機器學習中可以使用許多效能指標。一些常見的效能指標包括:

  • 準確率 - 準確率是最基本的效能指標之一,它衡量的是資料集中正確分類的例項的比例。其計算方法是將正確分類的例項數除以資料集中例項的總數。

  • 精確率 - 精確率衡量的是所有預測為正的例項中真陽性例項的比例。其計算方法是將真陽性例項數除以真陽性例項數和假陽性例項數之和。

  • 召回率 - 召回率衡量的是所有實際為正的例項中真陽性例項的比例。其計算方法是將真陽性例項數除以真陽性例項數和假陰性例項數之和。

  • F1分數 - F1分數是精確率和召回率的調和平均數。它是一個平衡的度量,同時考慮了精確率和召回率。其計算方法為 2 * (精確率 × 召回率) / (精確率 + 召回率)。

  • ROC AUC分數 - ROC AUC(接收者操作特徵曲線下面積)分數是衡量分類器區分正負例項能力的指標。其計算方法是繪製不同分類閾值下的真陽性率與假陽性率,並計算曲線下面積。

  • 混淆矩陣 - 混淆矩陣是一個用於評估分類模型效能的表格。它顯示了資料集中每個類別中的真陽性、真陰性、假陽性、假陰性的數量。

示例

這是一個計算二元分類問題準確率、精確率、召回率和F1分數的示例程式碼片段:

from sklearn.datasets import load_iris
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

# Load the iris dataset
iris = load_iris()
X = iris.data
y = iris.target

# Split the dataset into training and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Train a logistic regression model on the training set
model = LogisticRegression()
model.fit(X_train, y_train)

# Make predictions on the test set
y_pred = model.predict(X_test)

# Compute performance metrics
accuracy = accuracy_score(y_test, y_pred)
precision = precision_score(y_test, y_pred, average='macro')
recall = recall_score(y_test, y_pred, average='macro')
f1 = f1_score(y_test, y_pred, average='macro')

# Print the performance metrics
print("Accuracy:", accuracy)
print("Precision:", precision)
print("Recall:", recall)
print("F1 Score:", f1)

輸出

執行此程式碼時,將產生以下輸出:

Accuracy: 1.0
Precision: 1.0
Recall: 1.0
F1 Score: 1.0
廣告