AI-统计学习(8)-决策树模型-python-实例源码
决策树是种可视化的模型,可做分类也可做回归。
概念内容详看前章,本文讲如何python 实现。
回顾一下
比如我知道一组人的信息:年龄、是否有工作、是否有房贷…这叫特征值,现在再来一些人,这时我想能否贷款给他。我该怎么做呢,就可以用决策树模型实现。左边是数据,右边是树。当然这棵树没有把全部的特征向量放进去只是示意了一下。

图1
程序过程:
1.输入训练集
2.转换成tree训练
3.输入新样本实例,预测输出
树类:
1.初始化
2.计算经验熵
3.计算条件熵
4.计算信息增益
5.计算信息增益比
6.选择特征分类
7.递归构造决策树
8.剪枝
节点类:
1.输入训练集
features=["age","work","house","credit"]
X_train=pd.DataFrame()
y_train = pd.DataFrame()
# 数据预处理
le_x=preprocessing.LabelEncoder()
le_x.fit(np.unique(X_train))
X_train=X_train.apply(le_x.transform)
print(X_train)
le_y=preprocessing.LabelEncoder()
le_y.fit(np.unique(y_train))
y_train=y_train.apply(le_y.transform)
2.转换成tree训练
clf=DecisionTreeClassifier()
clf.fit(X_train,y_train)
3.输入新样本实例,预测输出
X_new=pd.DataFrame([["青年", "否", "是", "一般"]])
X=X_new.apply(le_x.transform)
y_predict=clf.predict(X)
# 结果输出
X_show=[{features[i]:X_new.values[0][i]} for i in range(len(features))]

浙公网安备 33010602011771号