我正在使用python的sklearn库解决机器学习问题
我正在使用pandas数据框,我想使用本地数据训练线性回归模型并预测新值。这是我的代码示例。
customers= pd.read_csv('Ecommerce Customers')
X= customers[['Avg. Session Length', 'Time on App','Time on Website', 'Length of Membership']]
y=['Yearly Amount Spent']
当我尝试在以下代码中运行此代码
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=101)
它给我一个错误
Found input variables with inconsistent numbers of samples: [500, 1]
在我的数据集中有500行和8列 sklearn verion是
import sklearn
format(sklearn.__version__)
'0.20.1'
请帮助我。 提前谢谢
答案 0 :(得分:4)
仔细查看您的代码,您不会像您打算那样将y
当作数据帧customers
的列;只要拥有
y=['Yearly Amount Spent']
y
只是一个1元素列表:
y
# ['Yearly Amount Spent']
因此scikit-learn有理由抱怨标签y
的长度仅为1。
将其更改为
y=customers['Yearly Amount Spent']