Sklearn NotFittedError:此LinearRegression实例尚未安装

时间:2019-08-06 09:22:40

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

我正在尝试简单的线性回归,并且已经尝试了以下代码:

x1=data.iloc[:, 9].values
y1=data.iloc[:,1].values

from sklearn.model_selection import train_test_split
seed=7
x1_train,x1_test,y1_train,y1_test= 
train_test_split(x1,y1,test_size=0.15,random_state=seed)

x1_train=nm.reshape(nm.array(x1_train),(-1,1))

from sklearn.linear_model import LinearRegression
lireg=LinearRegression()
model1=LinearRegression().fit(x1_train,y1_train)

y_pred=lireg.predict(x1_test)
  

NotFittedError:此LinearRegression实例尚未安装。使用此方法之前,请使用适当的参数调用“适合”

请帮助

2 个答案:

答案 0 :(得分:0)

这是解释此错误原因的说明。让我们看一下以下几行:

lireg=LinearRegression()
model1=LinearRegression().fit(x1_train,y1_train)
y_pred=lireg.predict(x1_test)

这里会发生什么?

  • 您初始化2个LinearRegressionlireg

  • 的模型
  • 对于model1,您不会呼叫lireg,但对于.fit,您会呼叫。

  • model1引发错误,因为您尝试使用y_pred=lireg.predict(x1_test) .predict,但是lireg没有经过训练/适合。


您只需要这个:

方法1:

lireg

方法2:

from sklearn.linear_model import LinearRegression

lireg=LinearRegression() # initialize the model
lireg.fit(x1_train,y1_train) # fit he model
y_pred=lireg.predict(x1_test) # now predict

答案 1 :(得分:-1)

model1=LinearRegression().fit(x1_train,y1_train)

在这一行你有错误

答案:

使用 lireg 而不是 LinearRegression()

正确的代码是: model1=lireg.fit(x1_train,y1_train)