0

所以,我知道,在R您可以在此形式邏輯迴歸提供數據:你可以在sklearn邏輯迴歸輸入中使用計數嗎?

model <- glm(cbind(count_1, count_0) ~ [features] ..., family = 'binomial')

有沒有辦法做這樣的事情cbind(count_1, count_0)與sklearn.linear_model.LogisticRegression?還是我實際上必須提供所有這些重複的行? (我的功能是分類的,所以會有很多冗餘。)

回答

0

如果它們是分類的 - 您應該提供它的二進制版本。我不知道R中的代碼是如何工作的,但您應該始終對您的分類功能進行二進制化。因爲你必須強調你的特徵的每個值與其他值無關,也就是說,對於具有可能值1,2,3,4的特徵「blood_type」,分類器必須知道2與3無關,而4不是與任何意義上的1有關。這些通過二值化來實現。

如果在二值化之後您的功能過多 - 您可以通過FeatureHasher或更復雜的方法(如PCA)降低二值化數據集的維數。

+0

也許我的問題還不清楚。我知道如何製作虛擬矩陣。我問的是如何,而不是發送帶有指示符變量1和0的行,而是總結所有相同的行,併發送(80 1,10,0),而不是具有所有相同特徵的90行。 – Erin

+0

@Erin,嗯,我還是不明白你的意思。也許你想使用稀疏矩陣? 「排」是指你的數據集的單獨樣本? –

+0

我認爲稀疏是指特徵,而不是結果。我找到了一種方法來處理statsmodels而不是sklearn [這裏](http://statsmodels.sourceforge.net/devel/examples/notebooks/generated/glm.html)。 – Erin