# 其中result为模型的预测结果 pd.DataFrame({'Survived':result}).to_csv('./predict.csv', index=False)
时间: 2024-03-17 22:43:07 浏览: 73
机器学习模型预测(根据数据进行建模)
这段代码是用来保存模型预测结果的。具体来说,我们将模型预测的结果 `result` 转换为 DataFrame 格式,然后使用 `to_csv` 方法将其保存为 CSV 文件。其中,`index=False` 表示不将行索引写入文件中。
下面是一份完整的示例代码,供参考:
```python
import pandas as pd
import numpy as np
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
# 读取数据集
train_data = pd.read_csv('./train.csv')
test_data = pd.read_csv('./test.csv')
# 特征选择
selected_features = ['Pclass', 'Sex', 'Age', 'Embarked', 'SibSp', 'Parch', 'Fare']
train_data = train_data[selected_features]
test_data = test_data[selected_features[1:]]
# 缺失值处理
train_data['Age'].fillna(train_data['Age'].median(), inplace=True)
train_data['Embarked'].fillna(train_data['Embarked'].mode()[0], inplace=True)
test_data['Age'].fillna(test_data['Age'].median(), inplace=True)
test_data['Fare'].fillna(test_data['Fare'].median(), inplace=True)
# 特征编码
le = LabelEncoder()
for feature in ['Sex', 'Embarked']:
le = le.fit(train_data[feature])
train_data[feature] = le.transform(train_data[feature])
test_data[feature] = le.transform(test_data[feature])
# 划分训练集和验证集
train_x, val_x, train_y, val_y = train_test_split(train_data.iloc[:, 1:], train_data.iloc[:, 0], test_size=0.2, random_state=42)
# 模型训练
rf = RandomForestClassifier(n_estimators=100, max_depth=5, random_state=0)
rf.fit(train_x, train_y)
# 模型预测
result = rf.predict(test_data)
pd.DataFrame({'Survived':result}).to_csv('./predict.csv', index=False)
```
在这份代码中,我们首先读取了训练集和测试集数据,然后进行了特征选择和缺失值处理。接着,我们使用 LabelEncoder 对分类特征进行了编码,将其转换为数值特征。最后,我们使用 RandomForestClassifier 进行了模型训练和预测,并将预测结果保存在了 predict.csv 文件中。
阅读全文