预期的二维数组,在 sklearn 回归模型中得到一维数组而不是错误
Expected 2D array, got 1D array instead error in sklearn regresion models
我最近开始机器学习,当我遇到回归模型时,我发现我们使用 regressor.fit 方法训练模型,该方法采用 2 个参数观察和结果,但是观察数组是二维的,结果数组是一维的。谁能告诉我为什么我们不对 fit 方法使用相同的维度数组?当我尝试拟合相同维度的数组时,它给了我一个错误,因为 class 预期 2d 数组但给出了 1d
dataset = pd.read_csv("Position_Salaries.csv")
x= dataset.iloc[:,1:-1].values
y = dataset.iloc[:,-1].values
print(y)
print(x)
from sklearn.tree import DecisionTreeRegressor
reg = DecisionTreeRegressor(random_state=0)
reg.fit(x,y)
Output -
[ 45000 50000 60000 80000 110000 150000 200000 300000 500000
1000000]
[[ 1]
[ 2]
[ 3]
[ 4]
[ 5]
[ 6]
[ 7]
[ 8]
[ 9]
[10]]
要使数据符合 sklearn 的首选格式,请尝试以下操作:
reg.fit(x.reshape(-1,1),y.reshape(-1,1))
我最近开始机器学习,当我遇到回归模型时,我发现我们使用 regressor.fit 方法训练模型,该方法采用 2 个参数观察和结果,但是观察数组是二维的,结果数组是一维的。谁能告诉我为什么我们不对 fit 方法使用相同的维度数组?当我尝试拟合相同维度的数组时,它给了我一个错误,因为 class 预期 2d 数组但给出了 1d
dataset = pd.read_csv("Position_Salaries.csv")
x= dataset.iloc[:,1:-1].values
y = dataset.iloc[:,-1].values
print(y)
print(x)
from sklearn.tree import DecisionTreeRegressor
reg = DecisionTreeRegressor(random_state=0)
reg.fit(x,y)
Output -
[ 45000 50000 60000 80000 110000 150000 200000 300000 500000
1000000]
[[ 1]
[ 2]
[ 3]
[ 4]
[ 5]
[ 6]
[ 7]
[ 8]
[ 9]
[10]]
要使数据符合 sklearn 的首选格式,请尝试以下操作:
reg.fit(x.reshape(-1,1),y.reshape(-1,1))