我在SKLearn中使用邏輯迴歸將數據分類到5個類中的一個。爲了訓練數據,我有觀察矩陣Y
和特徵矩陣X
。Python中的虛擬變量SKLearn Logistic迴歸
有時候是這樣,我的矩陣Y
將沒有類別3說。在這種情況下,當我打電話給predict_proba(X)
方法時,我想列出第三條目爲0的5個概率(因爲沒有第3類觀察值)。相反,這個概率被簡單地省略,並返回4個概率列表。
如何更改邏輯迴歸對象來執行此操作?
我在SKLearn中使用邏輯迴歸將數據分類到5個類中的一個。爲了訓練數據,我有觀察矩陣Y
和特徵矩陣X
。Python中的虛擬變量SKLearn Logistic迴歸
有時候是這樣,我的矩陣Y
將沒有類別3說。在這種情況下,當我打電話給predict_proba(X)
方法時,我想列出第三條目爲0的5個概率(因爲沒有第3類觀察值)。相反,這個概率被簡單地省略,並返回4個概率列表。
如何更改邏輯迴歸對象來執行此操作?
使用sklearn.preprocessing
模塊可以找到多類標籤。
參考: http://scikit-learn.org/stable/modules/preprocessing.html#label-binarization
LogisticRegression
不允許這樣做,但它的近親SGDClassifier
做:
logreg = SGDClassifier(loss="log")
logreg.partial_fit(X, y, classes=np.arange(5))
SGDClassifier
的區別在於它的訓練算法和參數化。如果這不好,那麼你將不得不推出自己的包裝代碼。