员工离职预测数据预处理代码
时间: 2023-10-03 16:02:27 浏览: 109
以下是一个员工离职预测数据预处理的示例代码,包含了数据清洗、特征选择和特征变换等操作:
```python
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
# 读取数据
data = pd.read_csv('employee_data.csv')
# 数据清洗
data.drop_duplicates(inplace=True) # 去除重复数据
data.dropna(inplace=True) # 去除缺失数据
# 特征选择
features = ['satisfaction_level', 'last_evaluation', 'number_project', 'average_monthly_hours', 'time_spend_company', 'Work_accident', 'promotion_last_5years', 'department', 'salary']
data = data[features + ['left']]
# 特征变换
scaler = StandardScaler()
data[['satisfaction_level', 'last_evaluation', 'average_monthly_hours']] = scaler.fit_transform(data[['satisfaction_level', 'last_evaluation', 'average_monthly_hours']])
data = pd.get_dummies(data, columns=['department', 'salary'])
# 数据集划分
X_train, X_test, y_train, y_test = train_test_split(data.drop('left', axis=1), data['left'], test_size=0.2, random_state=42)
```
其中,`employee_data.csv`是原始数据文件,包含了员工的个人信息、工作信息和离职情况等。代码中,首先使用`drop_duplicates`和`dropna`函数对数据进行清洗,去除重复和缺失数据。然后,选择了一些重要的特征,并使用`StandardScaler`进行了特征标准化。最后,使用`get_dummies`函数对分类特征进行了独热编码,将其转换为数值特征。最后,使用`train_test_split`函数将数据集划分为训练集和测试集。
阅读全文