我在Spyder IDE上为泰坦尼克号比赛工作。代码几乎不完整,但我正在一步一步地完成(这是我第一次构建学习模型)。现在,当我试图运行我的代码时,我在日志中得到了一个Found input variables with inconsistent numbers of samples: [891, 183]
错误。这就是我到目前为止所知道的:
import pandas as pd
from sklearn.tree import DecisionTreeRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_absolute_error
train_path = "C:\\Users\\Omar\\Downloads\\Titanic Data\\train.csv"
train_data = pd.read_csv(train_path)
columns_of_interest = ['Survived','Pclass', 'Sex', 'Age']
filtered_titanic_data = train_data.dropna(axis=0)
x = train_data[columns_of_interest]
y = filtered_titanic_data.Survived
train_x, val_x, train_y, val_y = train_test_split(x, y, random_state=0)
titanic_model = DecisionTreeRegressor()
titanic_model.fit(train_x, train_y)
val_predictions = titanic_model.predict(val_x)
print(filtered_titanic_data)
Idk它是来自excel文件还是来自参数。如果这是一个简单的问题,我很抱歉。我不能实现别人的解决方案。
发布于 2018-06-22 03:48:40
错误是因为您从过滤的数据中获取标注,而从未过滤的数据中获取x
更改以下行
x = train_data[columns_of_interest]
至
x = filtered_titanic_data[columns_of_interest]
https://stackoverflow.com/questions/50976429
复制相似问题