發現有很多資料對混線矩陣以及recall、precision的定義不一致,經過比較發現《資料探勘導論》對其定義比較的正確
混淆矩陣
**值+
-真實值+tp
fn-fptn
所謂的tn,tp都是針對**值闡述的,例如**值為『-』,對應的為『n』,至於是tn還是fn根據真實值的情況判斷,真實值也為『-』,則tn,真實值為『+』,作為fn
recall(召回率) = tp/(tp+fn),即在真實值為『+』的所有樣本中,model**也為『+』的概率,也被成為tpr(真正率、靈敏度),與之對應的為fpr(假正率) = fp/(fp+tn)。roc曲線的y軸即recall,x軸為fpr。
精度(precision) = tp/(tp+fp),即在所有**為『+』的樣本中,真實值為『+』所佔的比例。
由上可知,假如對於二分類(樣本100,正例50,負例50),model全部**為『+』,則recall = 1,precision = 0.5,所以不見得recall越大越好,我們希望recall高的同時,precision也最好高,由此得出平衡這兩個指標的新的度量:f1,f1 = 2(1/recall + 1/precision),由f1公式可知,當recall和precision值很接近的時候f1才會很大。
最後準確率的概念較簡單,即(tp+tn)/(tn+fn+tp+fp),在sklearn中,model.score(x,y)即可得出。
資料探勘導論
20世紀60年代,從檔案處理演化到資料庫系統 20世紀70年代,演化到關聯式資料庫,聯機事務處理 oltp 將查詢看做唯讀事務 80年代中期到現在,研究分布性 多樣性和資料共享等問題,還有基於internet的全球資訊系統 80年代後期到現在,出現的資料庫結構是資料倉儲,可將多個一種資料來源在單個站...
資料探勘導論
誤差平方均值,越小越好 從大家直觀的感受,這三個模型哪個更好?左上?右上?還是左下?右上,因為左下有可能過擬合。最下面的模型過於強調特定點的誤差了。雜訊點也被擬合了。我們用什麼樣的手段,來幫助我們發現過擬合?擬合曲線的引數過多。分訓練集和測試集,設定測試資料用於判斷擬合的情況。泛化誤差 模型在新樣本...
python資料分析與挖掘實戰的混淆矩陣糾錯
coding utf 8 使用神經網路演算法 銷量高低 from keras.models import sequential from keras.layers.core import dense,activation import pandas as pd from cmplot import ...