我正在使用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'
请帮助我.提前致谢
仔细观察你的代码,你不会像你可能打算做的那样y
成为数据帧customers
的一列;就像你所拥有的那样。
y=['Yearly Amount Spent']
y
只是一个 1 元素列表:
y
# ['Yearly Amount Spent']
因此,scikit-learn有理由抱怨你的标签y
的长度只有1。
将其更改为
y=customers['Yearly Amount Spent']