机器学习泰坦尼克号数据特征工程代码
时间: 2024-03-31 22:29:40 浏览: 29
机器学习中的特征工程是指对原始数据进行处理和转换,以提取出对模型训练有用的特征。下面是一个简单的泰坦尼克号数据特征工程的代码示例:
```python
import pandas as pd
from sklearn.preprocessing import LabelEncoder
# 读取数据
data = pd.read_csv('titanic.csv')
# 填充缺失值
data['Age'].fillna(data['Age'].median(), inplace=True)
data['Embarked'].fillna(data['Embarked'].mode()[0], inplace=True)
# 特征选择
selected_features = ['Pclass', 'Sex', 'Age', 'Embarked']
# 特征编码
le = LabelEncoder()
for feature in selected_features:
data[feature] = le.fit_transform(data[feature])
# 添加新特征
data['FamilySize'] = data['SibSp'] + data['Parch'] + 1
# 删除无用特征
data.drop(['PassengerId', 'Name', 'Ticket', 'Cabin', 'SibSp', 'Parch'], axis=1, inplace=True)
# 划分训练集和测试集
train_data = data[data['Survived'].notnull()]
test_data = data[data['Survived'].isnull()]
# 输出处理后的数据
print(train_data.head())
print(test_data.head())
```
上述代码中,首先使用pandas库读取泰坦尼克号数据。然后,对缺失值进行填充,常用的方法是使用中位数或众数进行填充。接下来,选择需要用于训练的特征,并使用LabelEncoder对分类特征进行编码。然后,可以根据需要添加新的特征或删除无用的特征。最后,将数据划分为训练集和测试集,并输出处理后的数据。