想必大家都知道,構建機器學習模型就是為了能夠更好的訓練我們的資料集,使得模型的準確率達到最大,那麼當我們構建好了我們的學習模型,可以通過哪些指標來評估我們模型的好壞呢?這就是我今天要給大家介紹的內容。
一.精確率與召回率
1.混淆矩陣
在分類過程中,**結果與正確標記之間存在四種不同的組合,構成了混淆矩陣。(適用於多分類)
2.精確率:**結果為正例的樣本中真實為正例的比例
3.召回率:真實為正例的樣本中**結果為正例的比例(查得全,對得能力)
4.f1—score:反映了模型的健穩性
5.分類評估報告api
sklearn.metrics.classification_reporty(y _true ,y _predict, labels =, target_ names = none)
y_true:真實的目標值
y_predict : 估計器**目標值
labels :指定類別對應得數字
return : 每個類別的精確率與召回率
二.roc曲線與auc指標
總共有100個人,如果有99個樣本為癌症患者,1個樣本為非癌症患者----此時樣本不均衡
不管怎麼樣我全部都**為正例(預設癌症為正例)--此時該模型就會顯得太粗暴,不能正確**出樣本中癌症患者數目。
此時該問題的精確率:99%;召回率: 9 9/99 = 100 %。此時用召回率這個指標來評估模型的準確性就會出現誤差,實際情況的召回率 會低於1.
1.tpr與fpr
tpr= tp/(tp+fn) 所有真實類別為1 的樣本中,**類別為1 的樣本比例
fpr=fp/(fp + tn )所有真實類別為0的樣本中,**類別為1 的比例
roc曲線的橫軸是ftprate,縱軸是tprate ,當兩者相等時,表示不論真實類別是1還是0的樣本,分類器**為1的概率是相等的,此時auc為0.5
2.auc計算的api
sklearn.metrics import roc_auc score(y_true, y_score)
三.模型的儲存與載入
當訓練好模型後,如果別人需要我們提供**結果,就需要儲存模型,主要是儲存模型的引數。
api:from sklearn.externals import joblib
儲存: joblib.dump(,"***x.pkl")
載入 : estimator= joblib.load("***x.pkl")
必須儲存為pkl檔案形式
#模型儲存與載入
from sklearn.externals import joblib
#儲存模型
joblib.dump(estimator,"my_ridge.pkl")
#載入模型
estimator=joblib.load("my_ridge.pkl")
今天的內容相對來說比較簡單,但是很重要。我在最近找實習生的時候筆試就遇到了很多這方面的問題。大家記得多複習哦! 模型評估指標
模型的評價指標和評價體系是建模過程中的乙個重要環節,針對不同型別的專案和模型,要合理選擇不同的評價指標和體系。下面先給出二分類模型中 值和實際值的混淆矩陣 confusion matrix 和定義,然後介紹幾種評價指標。二分類模型的 值與實際值的結果 tp true positive 模型 為正例 ...
模型評估指標
label 0 label 1 prcdict 0 tp真陽性 fn假陰性 漏診 predict 1 fn假陰性 誤診 tn真陰性 acc tp tn tp fn fp tn 被正確 的樣本 所有樣本 用來衡量模型的漏診率 sensitive tp tp fn tp ground ture p 真陽...
模型評估常用指標
一般情況來說,單一評分標準無法完全評估乙個機器學習模型。只用good和bad偏離真實場景去評估某個模型,都是一種欠妥的評估方式。下面介紹常用的分類模型和回歸模型評估方法。分類模型常用評估方法 指標 描述scikit learn函式 precision 精準度from sklearn.metrics ...