我有类似的东西:
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回归(又名logit,MaxEnt)分类器。
哪种建议实际上不是回归模型,而是分类模型,所以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
; Logistic回归实际上是一个分类模型(尽管名称具有误导性)。不知道您的代码在以前的版本中是做什么的,也许是将每个float值都视为一个标签?
关于python - 更新到v.0.17后,逻辑回归不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38365341/