Sklearn train_test_split() 错误:发现输入变量的样本数不一致

数据挖掘 机器学习 Python scikit-学习 麻木的
2022-03-02 09:45:58

我正在对随机生成的 X1,x2 和 Y 拟合回归模型作为 x1,x2 的总和,但出现此错误

ValueError:发现样本数量不一致的输入变量:[2, 10000000]

注意:-我这样做只是为了学习目的

我的代码:-

X = np.random.random_integers(100000000,size=(2,10000000))
X=(X-(100000000/2))/(100000000/2) # Scaling [-1,1]
Y = X[0]+X[1]

regr = linear_model.LinearRegression()
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.2, 
random_state=0)
regr.fit(X_train,Y_train)
1个回答

您需要训练数据的形状是(num_samples, num_features)或在您的情况下(10000000, 2)解决此问题的一种简单方法是X在将其提供给训练测试拆分之前进行转置:

X_train, X_test, y_train, y_test = train_test_split(X.T, Y, test_size=0.2, random_state=0)
regr.fit(X_train, y_train)  # <-- also 'y_train' not 'Y_train' here