用python编程实现基于决策树算法的离职预测简单点
时间: 2023-07-16 16:16:10 浏览: 102
python 决策树算法的实现
好的,以下是一个简单的基于决策树算法的离职预测的 Python 代码实现:
首先,我们需要导入所需的库和数据集。这里我们使用的是 Kaggle 上的 HR Analytics 数据集。
``` python
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
# 读取 HR Analytics 数据集
data = pd.read_csv('HR_comma_sep.csv')
# 数据预处理
# 将分类变量转换为数值型变量
data['salary'] = data['salary'].map({'low': 0, 'medium': 1, 'high': 2})
data['left'] = data['left'].astype('category')
# 将数据集分为训练集和测试集
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)
```
接下来,我们使用决策树算法进行模型训练和预测。
``` python
# 构建决策树模型
model = DecisionTreeClassifier(random_state=42)
# 模型训练
model.fit(X_train, y_train)
# 模型预测
y_pred = model.predict(X_test)
```
最后,我们可以使用一些评估指标来评估模型的性能。
``` python
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
# 计算精确率
precision = precision_score(y_test, y_pred)
print('Precision:', precision)
# 计算召回率
recall = recall_score(y_test, y_pred)
print('Recall:', recall)
# 计算 F1 值
f1 = f1_score(y_test, y_pred)
print('F1 Score:', f1)
```
这样就完成了一个基于决策树算法的离职预测模型的构建。
阅读全文