轉:模型評估:評價指標-附sklearn API
阿新 • • 發佈:2019-01-09
模型評估
有三種不同的方法來評估一個模型的預測質量:
- estimator的score方法:sklearn中的estimator都具有一個score方法,它提供了一個預設的評估法則來解決問題。
- Scoring引數:使用cross-validation的模型評估工具,依賴於內部的scoring策略。見下。
- 通過測試集上評估預測誤差:sklearn Metric函式用來評估預測誤差。
評價指標(Evaluation metrics)
評價指標針對不同的機器學習任務有不同的指標,同一任務也有不同側重點的評價指標。
主要有分類(classification)、迴歸(regression)、排序(ranking)、聚類(clustering)、熱門主題模型(topic modeling)、推薦(recommendation)等。
1 分類評價指標
分類有二分類和多分類,二分類主要“是”和“不是”的問題,可以擴充套件到多分類,如邏輯迴歸->SoftMax。
1.1 準確率
分類中,使用模型對測試集進行分類,分類正確的樣本個數佔總樣本的比例:
問題:
- 不同類別樣本無區分:各個類平等對待,而實際中會針對不同類有所區分,例如醫療上側重正例的召回(假陰性:不要漏診疾病),垃圾郵件側重垃圾郵件的精度(假陽性:正常郵件不被誤分)。
- 資料不平衡:對於資料分佈不平衡情況下,個別類別樣本過多,其他類別樣本少,大類別主導了準確率的計算。(平均準確率解決此問題)
SKlearn API
- 1
- 2
- 3
- 4
1.2 平均準確率
針對不平衡資料,對n個類,計算每個類別i的準確率,然後求平均:
缺點:某些類別樣本數很少,測試集中該類別的準確率方差會很大(統計變數偏離程度:高)。
- 1
- 2
- 3
- 4
1.3 對數損失(Log-loss)
針對分類輸出不是類別,而是類別的概率,使用對數損失函式進行評價。這也是邏輯迴歸的分類函式,下面是二分類的損失函式。
- 1
- 2
- 3
1.4 基於混淆矩陣的評估度量
1.4.1 混淆矩陣
混淆矩陣通過計算各種分類度量,指導模型的評估。
Predicted: 0 | Predicted: 1 |
---|---|
Actual: 0 | TN |
Actual: 1 | FN |
- 真陽性(True Positive,TP):指被分類器正確分類的正例資料
- 真陰性(True Negative,TN):指被分類器正確分類的負例資料
- 假陽性(False Positive,FP):被錯誤地標記為正例資料的負例資料
- 假陰性(False Negative,FN):被錯誤地標記為負例資料的正例資料
- 1
- 2
- 3
- 4
1.4.2 精確率(Precision)
所有分正確的正樣本/所有預測為正類的樣本數。
1.4.3 召回率(Recall)
所有分正確的正樣本/所有的正樣本數: