python - 更新到 v.0.17 后逻辑回归不起作用

标签 python machine-learning scikit-learn

我有类似的东西:

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/

相关文章:

python - 从直方图制作概率分布函数 (PDF)

python - 如何使用Python在CSV的每一行末尾删除逗号?

python - 同时在 python 中运行多个线程 - 这可能吗?

tensorflow - FC 层后接 LSTM - Tensorflow

machine-learning - 训练 CNN 时损失函数的奇怪行为

python - 使用自定义转换器子类对 sklearn 管道进行评分时出现 AttributeError,但在拟合时则不会

python - scikit learn - 决策树中的特征重要性计算

python - 使用 django-filter 时在 Django 中向表单添加占位符

python - 在 Pandas 的下一个 K 连续行中找到最高值?

tensorflow - 获取图像分割中各个测试图像的准确性