用python编程实现基于决策树算法的离职预测并使用matplotlib可视化简单点
时间: 2023-07-16 18:16:12 浏览: 133
好的,下面是基于决策树算法的离职预测的Python实现代码,同时使用matplotlib进行可视化:
```python
# 导入所需库
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_csv('employee.csv')
# 离散化处理
data['salary'] = data['salary'].map({'low':0, 'medium':1, 'high':2})
data['department'] = data['department'].astype('category').cat.codes
# 特征选择和目标变量
X = data.drop(['left'], axis=1)
y = data['left']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 构建决策树模型
dtc = DecisionTreeClassifier(max_depth=3)
dtc.fit(X_train, y_train)
# 可视化决策树模型
from sklearn.tree import plot_tree
plt.figure(figsize=(10, 6))
plot_tree(dtc, filled=True, feature_names=X.columns)
plt.show()
# 预测
y_pred = dtc.predict(X_test)
# 模型评估
from sklearn.metrics import accuracy_score
print('决策树模型的准确率为:', accuracy_score(y_test, y_pred))
```
在该代码中,我们使用了pandas库来读取员工数据,然后进行了离散化处理。接着,我们使用train_test_split函数将数据集划分为训练集和测试集,然后使用DecisionTreeClassifier构建了决策树模型,并使用matplotlib库将决策树可视化出来。最后,我们使用predict函数对测试集进行预测,并使用accuracy_score函数评估模型的准确率。
希望能帮到你!
阅读全文