我的问题与此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。这不是我想要的范围。关于如何更改预测范围有什么建议吗?
谢谢