【发布时间】:2018-07-20 14:05:51
【问题描述】:
我是机器学习的初学者,我正在通过 Kaggle 比赛进行学习。我从泰坦尼克号比赛开始,现在我正在尝试使用 scikit-learn accuracy_score 函数测量我的预测的准确性,但输出并没有真正意义。这是我得到的输出:
[1. 0. 1. 0. 1. 0. 0. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 0. 1. 1. 0. 0. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. 1. 0. 1.]
<function accuracy_score at 0x000001AA46EFBD90>
这是我的代码:
*imports have been omitted to avoid crowding
train_path = "C:\\Users\\Omar\\Downloads\\Titanic Data\\train.csv"
train_data = pd.read_csv(train_path)
train_data['Sex'] = pd.factorize(train_data.Sex)[0]
columns_of_interest = ['Survived','Pclass', 'Sex', 'Age']
filtered_titanic_data = train_data.dropna(axis=0)
x = filtered_titanic_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)
accuracy_score(val_y, val_predictions)
print(val_predictions)
print(accuracy_score)
【问题讨论】:
-
您正在打印函数
accuracy_score而不是函数返回的内容,这就是您看到<function accuracy_score at 0x000001AA46EFBD90>的原因。将accuracy_score(val_y, val_predictions)的值保存到变量中并打印该变量。 -
“我是机器学习的初学者” ... 这个问题似乎表明您是一般编程的初学者。也许一个简短的python课程会有所帮助?几年前我通过Google's python course 学习过。然而,它有点快节奏和简洁,但有一个huge number of others out there
-
@Scott 如果一个简单的错误使某人成为初学者,那么就没有高级开发人员。我是一名安卓开发者,伙计。安顿下来。
-
@OnurOzbek,不想参加测量比赛,只是注意到您正在跳入 python 池的深处。 Google's python course 就在你的小巷里,因为它面向那些已经具备一定编程知识的人。
标签: python machine-learning scikit-learn anaconda kaggle