【发布时间】:2019-01-12 10:43:49
【问题描述】:
我正在尝试使用线性回归基于一组输入来预测输出,如下所示:
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
X = [[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 2, 1, 1],
[1, 3, 1, 1],
[1, 4, 1, 1],
[1, 2, 1, 1],
[1, 3, 1, 1],
[2, 4, 1, 1],
[1, 1, 1, 1],
[2, 1, 1, 1],
[2, 4, 1, 1],
[1, 5, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]]
y = [
[1],
[1],
[1],
[3],
[2],
[1],
[3],
[2],
[1],
[1],
[2],
[1],
[1],
[1],
]
# Split X and y into X_
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=1)
regression_model = LinearRegression()
regression_model.fit(X_train, y_train)
print(regression_model.score(X_test, y_test)) # -1.1817143658810325
print(regression_model.predict([[1, 1, 1, 1]]) # [[0.9694444444444441]]
我已将 X 值作为输入传递并期望 y 作为输出
它将分数显示为负值,预测输出为 [[0.9694444444444441]],我预计为 1。
我该如何解决这个问题?
【问题讨论】:
-
你读过documentation吗?为什么您认为负分和预测输出不正确?
标签: python machine-learning scikit-learn linear-regression