设置sklearn线性回归预测的范围

时间:2019-10-04 05:00:30

标签: python scikit-learn linear-regression

我的问题与此question类似。但是我没有得到答案。我需要进一步澄清。

我第一次使用sklearn线性回归预测将更多数据点添加到我的数据集中。添加更多数据点将帮助我更准确地识别异常值。我已经建立了模型并获得了预测,但是我希望模型返回一定范围内的预测点。有可能做到这一点吗?

我想预测'delivery_fee'列中的值。 列中的值从3开始并稳定增加,直到达到27。 列中的最后一个值,紧接在27之后是47。

我希望模型预测27到47之间的值。

我的代码:

import sklearn
from sklearn.model_selection import train_test_split 
from sklearn.linear_model import LinearRegression
from sklearn import preprocessing

#create a copy of the dataframe
delivery_linreg = outlierFileNew.copy()

le = preprocessing.LabelEncoder()
delivery_linreg['branch_code'] = le.fit_transform(delivery_linreg['branch_code'])

#select all columns in the datframe except for delivery_fee
x = delivery_linreg[[x for x in delivery_linreg.columns if x != 'delivery_fee']]
#selecting delivery_fee as the column to be predicted
y = delivery_linreg.delivery_fee
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=0)

#fitting simple linear regression to training set
linreg = LinearRegression()
linreg.fit(x_train,y_train)
delivery_predict = linreg.predict(x_test)

我的模型返回的值范围是4到17。这不是我想要的范围。关于如何更改预测范围有什么建议吗?

谢谢

0 个答案:

没有答案