我是一名机器学习的初学者,正在通过参加Kaggle竞赛来学习。我从著名的泰坦尼克号生存问题开始,通过试错和向他人求助,我已经能够训练我的数据,但我的问题是:如何理解输出结果并继续进行下一步?
这是我的代码:
import pandas as pdfrom sklearn.tree import DecisionTreeRegressorfrom sklearn.model_selection import train_test_splittrain_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.Survivedtrain_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(val_predictions)
这是我得到的输出(1表示生还 – 0表示死亡):
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.
但我不知道如何利用这个输出继续进行下一步。
回答:
你现在可以将你的val_predictions
与val_y
进行比较,看看你预测对了多少!
你使用train_x, train_y
来寻找模式,然后在val_x
上进行拟合,现在你想看看你的模型表现如何!
有很多方法可以做到这一点!你可以选择你的评估指标!
from sklearn.metrics import accuracy_scoreaccuracy_score(val_predictions, val_y)
这是accuracy_score
代表什么的链接! http://scikit-learn.org/stable/modules/model_evaluation.html#accuracy-score
准确率评分是一种评估指标!接下来,你还可以使用GridSearchCV
来自动搜索最佳参数,以最大化或最小化你的评估指标。
你可以在这里阅读相关内容: