机器学习决策树算法泰塔尼克号预测

对于数据集观察其中有11列个维度,需要对其中一些进行数据处理PassengerId ,乘客的id号,对生存率没影响。Survived ,应该是标签,1表示存活,0表示死亡。Pclass ,船舱等级,就是我们坐船有等级之分。这个属性会对生产率有影响。Name ,名字,这个不影响生存率。应该可以忽略。Sex , 性别,女士优先,所有这列保留,可能有影响。Age , 年龄,因为优先保护老幼,可能有影响。SibSp ,兄弟姐妹,就是有些人和兄弟姐妹一起上船的。这个会有影响,保留.
摘要由CSDN通过智能技术生成

对于数据集观察

 其中有11列个维度,需要对其中一些进行数据处理

PassengerId ,乘客的id号,对生存率没影响。

Survived ,应该是标签,1表示存活,0表示死亡。

Pclass ,船舱等级,就是我们坐船有等级之分。这个属性会对生产率有影响。

Name ,名字,这个不影响生存率。应该可以忽略。

Sex , 性别,女士优先,所有这列保留,可能有影响。

Age , 年龄,因为优先保护老幼,可能有影响。

SibSp ,兄弟姐妹,就是有些人和兄弟姐妹一起上船的。这个会有影响,保留

Parch , 父母和小孩。这个也可能因为要救父母小孩耽误上救生船。保留

Ticket , 票的编号。应该没有影响,删除

Fare , 费用。这列保留

Cabin ,舱号。住的舱号没有影响。忽略。

Embarked ,上船的地方。这列可能有影响。我认为登陆地点不同,可能显示人的地位之类的不一样。我们先保留这列。

首先导入所需库

import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
from sklearn.preprocessing import LabelEncoder
from sklearn import tree
import matplotlib.pyplot as plt

导入数据集并可视化基本信息

data = pd.read_csv(r"C:\Users\google1\PycharmProjects\pythonProject\机器学习作业\train.csv")
da
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,对于这个问题,我可以给您提供一些思路和代码实现。 首先,我们需要导入相关的库和数据集,使用pandas库读取数据集: ```python import pandas as pd train_data = pd.read_csv('train.csv') test_data = pd.read_csv('test.csv') ``` 然后,我们需要对数据进行预处理,包括数据清洗、特征工程和特征选择等。在这里,我们可以先对数据进行简单的清洗: ```python train_data = train_data.drop(['Cabin'], axis=1) test_data = test_data.drop(['Cabin'], axis=1) train_data = train_data.dropna() test_data = test_data.dropna() ``` 接着,我们需要对数据进行特征工程,包括特征提取和特征转换等。在这里,我们可以对数据进行一些简单的特征提取,例如提取乘客的称呼(如Mr.、Mrs.、Miss等),并将其转换为数值型数据: ```python train_data['Title'] = train_data['Name'].map(lambda x: x.split(', ')[1].split('. ')[0]) test_data['Title'] = test_data['Name'].map(lambda x: x.split(', ')[1].split('. ')[0]) title_dict = {'Mr': 1, 'Miss': 2, 'Mrs': 3, 'Master': 4, 'Dr': 5, 'Rev': 6, 'Col': 7, 'Ms': 8, 'Mlle': 9, 'Major': 10, 'Lady': 11, 'Sir': 12, 'Mme': 13, 'Capt': 14, 'Jonkheer': 15, 'Don': 16, 'the Countess': 17} train_data['Title'] = train_data['Title'].map(title_dict) test_data['Title'] = test_data['Title'].map(title_dict) ``` 然后,我们可以对特征进行标准化处理: ```python from sklearn.preprocessing import StandardScaler scaler = StandardScaler() train_data[['Age', 'Fare']] = scaler.fit_transform(train_data[['Age', 'Fare']]) test_data[['Age', 'Fare']] = scaler.transform(test_data[['Age', 'Fare']]) ``` 接下来,我们需要将数据集分为训练集和验证集,然后使用决策树算法进行模型训练和预测: ```python from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score from sklearn.model_selection import train_test_split features = ['Pclass', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare', 'Embarked', 'Title'] X = train_data[features] y = train_data['Survived'] X_train, X_valid, y_train, y_valid = train_test_split(X, y, test_size=0.2, random_state=42) clf = DecisionTreeClassifier() clf.fit(X_train, y_train) y_pred = clf.predict(X_valid) print('Accuracy:', accuracy_score(y_valid, y_pred)) ``` 最后,我们可以使用训练好的模型对测试集进行预测,并将结果保存为CSV文件: ```python X_test = test_data[features] y_test = clf.predict(X_test) submission = pd.DataFrame({'PassengerId': test_data['PassengerId'], 'Survived': y_test}) submission.to_csv('submission.csv', index=False) ``` 以上就是使用决策树算法进行泰坦尼克乘客生存预测的代码实现。需要注意的是,这只是一个简单的示例,实际的应用需要根据具体情况进行更加细致的数据处理和模型调优。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值