Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我可以像分类那样进行线性回归预测吗?_Python_Scikit Learn_Linear Regression - Fatal编程技术网

Python 我可以像分类那样进行线性回归预测吗?

Python 我可以像分类那样进行线性回归预测吗?,python,scikit-learn,linear-regression,Python,Scikit Learn,Linear Regression,我训练了一个线性回归模型(使用sklearn和python3), 我的火车组有94个功能,它们的等级是0或1。。 然后我在测试集上检查了我的线性回归模型,它给了我这些结果: 1.[0.04988957]其实际值在测试集上为0 2.[0.00740425]其实际值在测试集上为0 3.[0.01907946]其实际值在测试集上为0 4.[0.07518938]其实际值在测试集上为0 5.[0.15202335]其实际值在测试集上为0 6.[0.04531345]其实际值在测试集上为0 7.[0.13

我训练了一个线性回归模型(使用sklearn和python3), 我的火车组有94个功能,它们的等级是0或1。。 然后我在测试集上检查了我的线性回归模型,它给了我这些结果:

1.
[0.04988957]
其实际值在测试集上为0

2.
[0.00740425]
其实际值在测试集上为0

3.
[0.01907946]
其实际值在测试集上为0

4.
[0.07518938]
其实际值在测试集上为0

5.
[0.15202335]
其实际值在测试集上为0

6.
[0.04531345]
其实际值在测试集上为0

7.
[0.13394644]
其实际值在测试集上为0

8.
[0.16460608]
其实际值在测试集上为1

9.
[0.14846777]
其实际值在测试集上为0

10.
[0.04979875]
其实际值在测试集上为0


正如您可以看到的,在第8行,它给出了最高的值,但问题是我想使用我的_model.predict(testData),它只给出0或1作为结果,我怎么可能做到呢?模型有我可以使用的阈值或自动切断吗

线性回归类上没有分类器。然而,有一个(也是一个线性模型)可以创建您想要的预测

文档中的示例代码

>>> import numpy as np
>>> from sklearn import linear_model
>>> X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])
>>> Y = np.array([1, 1, 2, 2])
>>> clf = linear_model.SGDClassifier()
>>> clf.fit(X, Y)
... 
SGDClassifier(alpha=0.0001, average=False, class_weight=None, epsilon=0.1,
        eta0=0.0, fit_intercept=True, l1_ratio=0.15,
        learning_rate='optimal', loss='hinge', n_iter=5, n_jobs=1,
        penalty='l2', power_t=0.5, random_state=None, shuffle=True,
        verbose=0, warm_start=False)
>>> print(clf.predict([[-0.8, -1]]))

逻辑回归(参见或实施)是正确的工具;在大多数情况下,它的性能优于OLS,其预测自然位于区间(0,1)。

有一个线性分类器
sklearn.linear\u model.ridgeClassifier(alpha=0.)
,可用于此。将脊线惩罚设置为0。使其精确执行您想要的线性回归,并设置在类之间划分的阈值。

您使用的是哪个sklearn模型?从sklearn导入数据集,linear_model regr=linear_model.LinearRegression()