![](/img/trans.png)
[英]Python : How to use Multinomial Logistic Regression using SKlearn
[英]Multinomial Logistic Regression in Python
我正在嘗試創建多項邏輯回歸,但我從未這樣做過。 我正在嘗試按照教程進行操作:
使用 Python 進行多項邏輯回歸。
我正在嘗試獲取數據,並使用性別和年齡作為協變量從酒精依賴(二元)中預測賭博(二元)。
到目前為止,我有:
# define dataset
X = data2["SEX"] + data2["AGE"] + data2["alcdep"]+data2["PRS"]
y = data2["Gambling"]
# summarize the dataset
print(X.shape, y.shape)
model.fit(X, y)
但我不斷收到錯誤:
ValueError: Expected 2D array, got 1D array instead:
我也不知道我所做的是否正確或從這里開始的步驟。
這是虛擬數據(忽略是和零)。
data = {
'IID': {0: 'Yale_0001', 1: 'Yale_0004', 2: 'Yale_0006', 3: 'Yale_0007', 4: 'Yale_0008'},
'SEX': {0: 2, 1: 1, 2: 2, 3: 1, 4: 1},
'AGE': {0: 27, 1: 39, 2: 41, 3: 45, 4: 44},
'alcdep': {0: 2, 1: 2, 2: 2, 3: 1, 4: 1},
'Gambling': {0: 1, 1: 1, 2: 2, 3: 1, 4: 2},
'Zero': {0: 0, 1: 0, 2: 0, 3: 1, 4: 0},
'Yes': {0: 'Yes', 1: 'Yes', 2: 'Yes', 3: 'Yes', 4: 'Yes'},
'PRS': {0: 0.053486584299999994, 1: 0.0304387435, 2: 0.00917773968, 3: 0.016352741100000002, 4: 7.433452840000001e-05}
}
假設data2 = pd.DataFrame(data)
,您將添加每個單獨的系列而不是選擇它們。 這導致X
看起來像這樣:
>>> X
0 31.053487
1 42.030439
2 45.009178
3 47.016353
4 46.000074
相反,你應該寫X = data2[["SEX", "AGE", "alcdep", "PRS"]]
,這樣你就可以得到:
>>> X
SEX AGE alcdep PRS
0 2 27 2 0.053487
1 1 39 2 0.030439
2 2 41 2 0.009178
3 1 45 1 0.016353
4 1 44 1 0.000074
我建議您查看 pandas 用戶指南中有關數據選擇的部分,以開始進行 DataFrame 操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.