赞
踩
决策树是种可视化的模型,可做分类也可做回归。
概念内容详看前章,本文讲如何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))]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。