泰坦尼克号生存预测随机森林代码
时间: 2023-08-15 07:05:30 浏览: 93
随机森林代码
以下是使用 Python 和 Scikit-learn 库实现的泰坦尼克号生存预测随机森林代码示例:
```python
# 导入所需库
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
# 读取数据集
data = pd.read_csv('train.csv')
# 数据预处理
data = data.drop(['PassengerId','Name','Ticket','Cabin'], axis=1)
data['Age'] = data['Age'].fillna(data['Age'].mean())
data = data.dropna()
# 特征工程
data['Sex'] = (data['Sex'] == 'male').astype(int)
embarked = pd.get_dummies(data['Embarked'], prefix='Embarked')
data = pd.concat([data, embarked], axis=1)
data = data.drop(['Embarked'], axis=1)
# 划分训练集和测试集
X = data.drop(['Survived'], axis=1)
y = data['Survived']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 建立随机森林模型
rfc = RandomForestClassifier(n_estimators=100, criterion='gini', max_depth=5, min_samples_split=10, min_samples_leaf=5)
rfc.fit(X_train, y_train)
# 预测测试集结果
y_pred = rfc.predict(X_test)
# 输出模型评估结果
print("Accuracy:", accuracy_score(y_test, y_pred))
print("Precision:", precision_score(y_test, y_pred))
print("Recall:", recall_score(y_test, y_pred))
```
这段代码的作用是:读取训练数据集,进行数据预处理和特征工程,划分训练集和测试集,建立随机森林模型,预测测试集结果,并输出模型评估结果(准确率、精确率和召回率)。其中,涉及到的函数和类包括:`pandas.read_csv()`、`pandas.DataFrame.drop()`、`pandas.DataFrame.fillna()`、`pandas.get_dummies()`、`pandas.concat()`、`sklearn.ensemble.RandomForestClassifier()`、`sklearn.model_selection.train_test_split()`、`sklearn.metrics.accuracy_score()`、`sklearn.metrics.precision_score()` 和 `sklearn.metrics.recall_score()`。
阅读全文