我有两列的数据库[“ A”,“ B”],其中“ A”是输入变量,“ B”是目标变量。所有值都是整数。
我的代码:
X.shape
>>(2540, 1)
y.shape
>>(2540, 1)
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(X)
X = scaler.transform(X)
import numpy as np
from sklearn.model_selection import train_test_split
np.random.rand(4)
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size = 0.2)
Sklearn的线性回归
regr = LinearRegression(fit_intercept=True)
regr.fit(X_train, y_train)
print ('Coefficients: ', regr.coef_)
print ('Intercept: ',regr.intercept_)
>>Coefficients: [[43.95569425]]
>>Intercept: [100.68681298]
我的R2值为0.93
X_train中的最后一条记录是3687,相应的y_train值是212.220001
我使用最后一条记录进行预测,例如
regr.predict([[3687]] )
>>array([161825.22279211])
我不知道发生了什么,我除外预测值将在212附近。
但是,预测值为161825
你能解释一下原因是什么,谢谢
最佳答案
也许您需要在通过回归之前将测试数据通过定标器。
尝试reg.predict(scaler.transform([3687])
关于python - 线性回归-输出不正确,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60089805/