使用 Python 构建决策树:贷款申请样本数据集分析

本文将使用 Python 构建决策树模型,并以贷款申请样本数据集为例,演示如何根据特征进行分类。

1. 数据集

以下为贷款申请样本数据集,包含 ID、年龄、有工作、有自己的房子、信贷情况和类别六个特征。

| ID | 年龄 | 有工作 | 有自己的房子 | 信贷情况 | 类别 | |---|---|---|---|---|---| | 1 | 青年 | 否 | 否 | 一般 | 否 | | 2 | 青年 | 否 | 否 | 好 | 否 | | 3 | 青年 | 是 | 否 | 好 | 是 | | 4 | 青年 | 是 | 是 | 一般 | 是 | | 5 | 青年 | 否 | 否 | 一般 | 否 | | 6 | 中年 | 否 | 否 | 一般 | 否 | | 7 | 中年 | 否 | 否 | 好 | 否 | | 8 | 中年 | 是 | 是 | 好 | 是 | | 9 | 中年 | 否 | 是 | 非常好 | 是 | | 10 | 中年 | 否 | 是 | 非常好 | 是 | | 11 | 老年 | 否 | 是 | 非常好 | 是 | | 12 | 老年 | 否 | 是 | 好 | 是 | | 13 | 老年 | 是 | 否 | 好 | 是 | | 14 | 老年 | 是 | 否 | 非常好 | 是 | | 15 | 老年 | 否 | 否 | 一般 | 否 |

2. 构建决策树模型

以下是用 Python 构建决策树的代码:

import pandas as pd
from sklearn.tree import DecisionTreeClassifier

# 构建样本数据集
data = {'ID': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
        '年龄': ['青年', '青年', '青年', '青年', '青年', '中年', '中年', '中年', '中年', '中年', '老年', '老年', '老年', '老年', '老年'],
        '有工作': ['否', '否', '是', '是', '否', '否', '否', '是', '是', '是', '是', '是', '否', '否', '否'],
        '有自己的房子': ['否', '否', '否', '是', '否', '否', '否', '是', '是', '是', '是', '是', '否', '否', '否'],
        '信贷情况': ['一般', '好', '好', '一般', '一般', '一般', '好', '好', '非常好', '非常好', '非常好', '好', '好', '非常好', '一般'],
        '类别': ['否', '否', '是', '是', '否', '否', '否', '是', '是', '是', '是', '是', '是', '是', '否']
       }
df = pd.DataFrame(data)

# 将特征转换为数值型
df['年龄'] = df['年龄'].map({'青年': 1, '中年': 2, '老年': 3})
df['有工作'] = df['有工作'].map({'是': 1, '否': 0})
df['有自己的房子'] = df['有自己的房子'].map({'是': 1, '否': 0})
df['信贷情况'] = df['信贷情况'].map({'非常好': 3, '好': 2, '一般': 1})

# 分离特征和标签
X = df.drop(['ID', '类别'], axis=1)
y = df['类别']

# 构建决策树模型
clf = DecisionTreeClassifier()
clf.fit(X, y)

# 可视化决策树
from sklearn.tree import export_graphviz
from IPython.display import Image
import pydotplus
dot_data = export_graphviz(clf, out_file=None,
                           feature_names=['年龄', '有工作', '有自己的房子', '信贷情况'],
                           class_names=['否', '是'],
                           filled=True, rounded=True,
                           special_characters=True)
graph = pydotplus.graph_from_dot_data(dot_data)
Image(graph.create_png())

3. 决策树解释

运行上述代码后,得到的决策树如下图所示:

Decision Tree

解释一下,这个决策树的根节点是“有自己的房子”,如果有自己的房子,就往右走,如果没有,就往左走。走到下一个节点,如果信贷情况是“非常好”,就判定为“是”类别,否则继续往下判断。如果有工作,就往右走,否则往左走。最终判断结果为“否”类别。这样就完成了一个简单的决策树的构建。

4. 总结

通过以上步骤,我们成功地使用 Python 构建了一个决策树模型,并对贷款申请样本数据集进行了分类。决策树是一种简单易懂的机器学习算法,它可以用来解决各种分类问题。

Python 决策树构建:贷款申请样本数据集分析

原文地址: https://www.cveoy.top/t/topic/n8hb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录