2016-03-19 84 views
0

我正在瀏覽scikit-learn文檔,並意識到大部分繪圖曲線支持都存在於二進制分類中。多分類分類圖?

我想繪製我的多類分類器的precision_recall曲線和學習曲線。

model1=LogisticRegression() 
y_d = model1.predict_proba(matrix_test) 

我想知道是否存在用於繪製precision_recall曲線和學習曲線我緬大小爲(22428,22000)和標籤是大小(22428)的NP陣列的稀疏matrix_test任何方法?

回答

2

如果你看看definiton of Precision and Recall,你可以看到那裏有一個不對稱,不直接翻譯成更高的維度。說這些類是Çç,然後任意,其中一人被認爲是「真」,以及其他的「假」(你也可以看到,沒有對稱性:倒車「真」和「假」不會給出相同的結果)。在更高維度上,這不能直接完成。

雖然有很多方法可以提出啓發式擴展。假設你的課程是C ,...,C m。您可以計算m精度和召回的類別C i,然後取(加權)平均值。權重應該可能反映出課程的重要性。

請注意,這正是用於二進制情況的方案,其中「真」類的權重選擇爲1,「錯誤」類的權重選擇爲0(再次強調這個分數的任意不對稱)。

就實施而言,這是微不足道的。說你的混亂矩陣是m。然後從類i的角度看,精度爲m[i, i]/np.sum(m[:, i]),召回率爲m[i, i]/np.sum(m[i, :])

+0

嗨,謝謝你的詳細解釋。那麼,就學習曲線和precision_recall_curve而言,不可能獲得多類分類的可視化? – minks

+0

@minks不客氣。不直接。問題在於概念本身沒有定義超過兩個類。不過,我試圖概述如何減少產量。這種減少*可以被繪製。 LMK如果不清楚的話。 –