预测泰坦尼克号乘客数据,分别用py代码预测性别,乘客身份,客舱等级,家庭大小,登船港口这5个属性与生存率的关系变化
时间: 2024-06-08 17:09:12 浏览: 123
泰坦尼克号乘客⽣存预测数据集
好,这个任务可以用机器学习模型来完成。以下是一个简单的代码示例,它使用决策树算法来预测泰坦尼克号乘客的生存率。
首先,我们需要导入所需的库:
``` python
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
```
然后,我们可以读取数据集:
``` python
data = pd.read_csv('titanic.csv')
```
接下来,我们可以对数据进行预处理。具体来说,我们需要将一些非数字特征转换为数字特征。例如,将性别转换为二进制值(0或1):
``` python
data['Sex'] = data['Sex'].apply(lambda x: 1 if x == 'male' else 0)
```
我们还需要处理缺失值。在这个数据集中,有一些乘客的年龄未知。我们可以使用平均年龄来填充这些缺失值:
``` python
data['Age'].fillna(data['Age'].mean(), inplace=True)
```
现在,我们可以选择要使用的特征。在这里,我们将使用性别、客舱等级、家庭大小和登船港口:
``` python
features = ['Sex', 'Pclass', 'SibSp', 'Parch', 'Embarked']
X = data[features]
y = data['Survived']
```
接下来,我们可以将数据集分为训练集和测试集:
``` python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
现在,我们可以训练决策树模型:
``` python
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
```
最后,我们可以使用测试集来评估模型的准确性:
``` python
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
```
如果你想要探索这些属性与生存率之间的关系,可以修改代码来尝试不同的特征组合,或者使用其他机器学习算法来训练模型。
阅读全文