模型評估可以用在模型型別、調節引數及特徵組合中。通過模型評估來估計訓練得到的模型對於非樣本資料的泛化能力,並且還需要恰當的模型評估度量手段來衡量模型的效能表現。
通常在回歸問題可以採用平均絕對誤差(mean absolute error)、均方誤差(mean squared error)、均方根誤差(root mean squared error),而分類問題則採用分類準確率和混淆矩陣的方法,也就是今天要講述的方法。
分類準確率分數是指所有分類正確的百分比。sklearn庫中有直接呼叫它的方法sklearn.metrics.accuracy_score(y_true, y_pred, normalize=true, sample_weight=none)
引數含義y_ture
真實標籤值
y_pred
**標籤值
normalize
返回結果的形式,false返回正確分類的樣本數,true返回正確分類樣本的分數
sample_weight
樣本權重
分類準確率可能是乙個較好的結果評估方法,但卻不是乙個好的模型度量方法,不能通過它觀察任何有關測試資料的潛在分布。
換句話說,該訓練的模型可能會在比例較高的那項類別的**中**正確,而在另外一種類別的**中**失敗,而我們沒法從分類準確率這項指標中發現這個問題。
那麼就得通過混淆矩陣來解決這個問題。
混淆矩陣可以理解為就是一張**,話不多說,先把**放上。(positive代表1,negative代表0,即一般的二分類問題)
positive只通過這些資料可能無法直觀的觀察模型的優劣,則需要下面的四個指標:negative
positive
tpfp
negative
fntn
準確率混淆矩陣使得我們對乙個分類器效能的表現有了更全面的認識,同時通過計算各種分類後的指標,進行模型選擇。(accuracy):
評價分類器效能的一般性指標就是分類的準確率,它統計的是在給定的測試集上,分類器正確分類的樣本數與總測試樣本數之比:
精確率(precision):
精確率在資料探勘中也可以稱為置信度,它關注的是在給定的測試資料集上,被正確**為正類的樣本數佔總
的被**為
正類樣本數的比例:
召回率 (recall)
: 召回率,又可以稱為查全率,它關注的是在給定的測試資料集上,被正確**為正類的樣本數佔
測試資料中
正類樣本數的比例:
f1分數(f1 score
或f1 measure)
: f1
分數是精確率和召回率的調和均值:
同樣的,sklearn也提供了相應的工具以便直接使用:
準確率:sklearn.metrics.accuracy_score(y_test, y_pred)
精確率:sklearn.metrics.precision_score(y_test, y_pred)
召回率:sklearn.metrics.recall_score(y_test, y_pred)
f1分數:sklearn.metrics.f1_score(y_test, y_pred)
除此之外,還有另外兩個指標roc曲線和auc值,感興趣的同學可參考roc曲線和auc面積理解和roc曲線與auc值
分類評估方法
1.1.1 混淆矩陣 在分類任務下,結果 predicted condition 與正確標記 true condition 之間存在四種不同的組合,構成混淆矩陣 適用於多分類 1.1.2 精確率 precision 與召回率 recall 還有其他的評估標準,f1 score,反映了模型的穩健型 r...
分類演算法的評估方法
幾個常用術語1 true positives tp 被正確地劃分為正例的個數,即實際為正例且被分類器劃分為正例的例項數 2 false positives fp 被錯誤地劃分為正例的個數,即實際為負例但被分類器劃分為正例的例項數 3 false negatives fn 被錯誤地劃分為負例的個數,即...
分類模型的評估方法簡介
一 混淆矩陣 混淆矩陣 confusion matrix 於資訊理論,在機器學習 人工智慧領域,混淆矩陣 confusion matrix 又稱為可能性 或是錯誤矩陣,是一種用矩陣呈現的視覺化工具,用於有監督學習,無監督學習通常用匹配矩陣 matching matrix 其名字源自它容易表明多個類是...