![](/img/trans.png)
[英]Scikit-Learn vs Keras (Tensorflow) for multinomial logistic regression
[英]Scikit-learn - Bad input shape error on multinomial logistic regression
我正在使用Scikit-learn在Python中实现多项式逻辑回归模型。 这是我的代码:
X = pd.concat([each for each in feature_cols], axis=1)
y = train[["<5", "5-6", "6-7", "7-8", "8-9", "9-10"]]
lm = LogisticRegression(multi_class='multinomial', solver='lbfgs')
lm.fit(X, y)
但是,当我尝试执行代码的最后一行时,我得到了ValueError: bad input shape (50184, 6)
。
X
是一个DataFrame
有50184行,7列。 y
也有50184行,但6列。
我最终想预测结果落入哪个bin(<5、5-6等)中。 在这种情况下使用的所有自变量和因变量都是虚拟列,它们的二进制值为0或1。我缺少什么?
Logistic回归3类分类器示例说明了拟合LogisticRegression
如何使用向量而不是矩阵输入,在这种情况下, iris
数据集的target
变量编码为值[0, 1, 2]
。
要将虚拟矩阵转换为序列,可以将每列与不同的整数相乘,然后-假设它是pandas.DataFrame
只需对结果调用.sum(axis=1)
。 就像是:
for i, col in enumerate(y.columns.tolist(), 1):
y.loc[:, col] *= i
y = y.sum(axis=1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.