关于泰坦尼克号之谜:基于机器学习的乘客生存预测分析最新算法的代码
时间: 2024-10-15 07:22:58 浏览: 31
关于泰坦尼克号的乘客生存预测,这是一个经典的机器学习项目,通常会用到数据挖掘和预测模型,如决策树、随机森林、支持向量机或者深度学习中的神经网络。以下是一个简单的Python代码示例,使用Scikit-Learn库来构建一个基于线性回归或逻辑回归的预测模型:
```python
# 导入所需库
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression # 或者使用LinearRegression for regression
from sklearn.preprocessing import StandardScaler
# 加载数据
url = "https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv"
data = pd.read_csv(url)
# 数据预处理
data = data.drop(['PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1) # 删除非预测特征
data['Age'].fillna(data['Age'].mean(), inplace=True) # 处理缺失值
data['Embarked'].fillna(data['Embarked'].mode()[0], inplace=True)
data['Sex'] = data['Sex'].map({'male': 0, 'female': 1}) # 将性别转换为数值
# 划分特征和目标变量
X = data.drop('Survived', axis=1)
y = data['Survived']
# 特征缩放
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)
# 使用Logistic Regression模型
model = LogisticRegression() # 或者 LinearRegression 对于回归任务
model.fit(X_train, y_train)
# 预测并评估
predictions = model.predict(X_test)
accuracy = model.score(X_test, y_test)
print("Accuracy:", accuracy)
# 如果需要,可以尝试其他模型或调整超参数以优化性能
```
阅读全文