IBM员工离职预测特征工程代码
时间: 2023-10-02 20:14:02 浏览: 214
下面是对IBM员工离职预测数据集进行特征工程的Python代码:
```python
import pandas as pd
from sklearn.preprocessing import StandardScaler
# 读取数据集
df = pd.read_csv('HR-Employee-Attrition.csv')
# 删除无关特征
df = df.drop(['EmployeeCount', 'EmployeeNumber', 'Over18', 'StandardHours'], axis=1)
# 将分类变量转换为二进制变量
df = pd.get_dummies(df)
# 特征组合
df['JobSatisfaction_PerformanceRating'] = df['JobSatisfaction'] * df['PerformanceRating']
df['MonthlyIncome_DistanceFromHome'] = df['MonthlyIncome'] / (df['DistanceFromHome'] + 1)
# 特征缩放
scaler = StandardScaler()
df_scaled = scaler.fit_transform(df)
# 将缩放后的数据转换为DataFrame
df_scaled = pd.DataFrame(df_scaled, columns=df.columns)
# 将处理后的数据保存到文件中
df_scaled.to_csv('HR-Employee-Attrition-Processed.csv', index=False)
```
首先,使用`df.drop()`方法删除无关特征。然后,使用`pd.get_dummies()`方法将分类变量转换为二进制变量。接着,使用特征组合方法创建两个新特征:`JobSatisfaction_PerformanceRating`和`MonthlyIncome_DistanceFromHome`。这些特征可以更好地反映员工的工作满意度和薪资水平,以及工作地点的距离等因素。
然后,使用`StandardScaler()`方法对所有特征进行特征缩放。最后,将缩放后的数据保存到文件中,以备后续的建模工作使用。
需要注意的是,特征工程处理的方法和步骤可以根据具体数据集和业务场景进行调整和优化。
阅读全文