我有类似的东西:
linear_model.LogisticRegression(penalty='l2').fit(X_train, y_train)
其中X_train
array([[ 2500. , 5000. , 5000. , ..., 4697.2, 3. , 10600. ],
...,
[ 2500. , 3500. , 3500. , ..., 3072. , 3. , 12800. ]])
和 y_train:
array([ 4.865146, 12.309128, 1.469881, ..., 5.248941, 11.84231 ,
2.178483])
这在 v.0.16.1
中没有任何错误或警告,但在升级到 v.0.17.1
后失败并出现错误:
ValueError: Unknown label type: my y_train array.
阅读 v16 的文档和 v17我没有发现任何不同。唯一可疑的是:
Logistic Regression (aka logit, MaxEnt) classifier.
这表明这实际上不是回归模型,而是分类模型,因此 y_train 应该是类别(但 v16 中的解释相同,所以我不确定是否是这样)。
无论如何,我想知道为什么会发生这种情况以及如何让它发挥作用。
<小时/>演示问题的可运行、独立的示例
X_train_1 = np.array([[ 2500., 5000.], [ 4500., 4500.]])
y_train_1 = np.array([ 4.865146, 12.309128])
linear_model.LogisticRegression(penalty='l2').fit(X_train_1, y_train_1)
最佳答案
我认为你想要一个LinearRegression
;逻辑回归实际上是一种分类模型(尽管名称具有误导性)。不确定您的代码在以前的版本中做了什么,也许它将每个浮点值视为标签?
关于python - 更新到 v.0.17 后逻辑回归不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38365341/