【问题标题】:Scikit learn linear regression predicting labelsScikit 学习线性回归预测标签
【发布时间】:2016-10-01 00:38:21
【问题描述】:

我正在尝试使用 SK learn 对时间序列标记的数据执行线性回归。 我的数据格式是data=(timestamp,value,label)

分配给我的数据的标签是 0 或 1。 我试图从 SKLearn 网站关注这个example

我的问题:

1- 示例中训练数据的标签在哪里?他们在糖尿病y_train 吗?

2- predict() 方法的返回值是多少?在我的代码中,它返回一个 n_samples 数组作为 [0,1] 范围内的预测值。但是,我希望返回 0 或 1 的二进制值(没有中间值)

【问题讨论】:

    标签: python machine-learning scikit-learn linear-regression


    【解决方案1】:

    1 - diabetes_y_train 是火车的标签

    2 - 您正在使用回归函数,因此拥有连续变量是正确的。如果您想要二进制输出,您不是在解决回归问题,而是在解决分类问题,您可以设置一个阈值来离散化预测或使用 sklearn 提供的classifier 之一。

    【讨论】:

    • 非常感谢您的帮助,我使用了 SVC 分类器并收到了我需要的输出。
    【解决方案2】:

    1 - 是

    2 - Predict 计算浮点数,因为该示例试图预测浮点值而不是二进制值。所以没有是/否的答案,而是一个预测值,为了估计误差,在np.mean((regr.predict(diabetes_X_test) - diabetes_y_test) ** 2)中计算并平均了一个差值

    【讨论】: