【Python机器学习】——决策树-sklearn【某互金公司决策树开发实例详解图文结合】

采用的方法见【Python机器学习】——决策树-sklearn这里不讲方法了,理论基础都在这里
这个属于粗略版,然后大家想看详版可以关注一下wx公众号叫:小猪课堂,文章标题一样,那个发布的是我有道笔记上记录的详版

from sklearn.feature_extraction import DictVectorizer
#DictVetorizer 用于传入构造dummy_array,也可以使用pandas.get_dummies()来实现
import pandas as pd
import numpy as np
import csv#调用csv模块
from sklearn import tree#调用决策树模块
from sklearn import preprocessing#调用预处理模块

看一下数据集样子(列名过于敏感隐去)
在这里插入图片描述
将特征、数据和label都筛选出来

feature=np.array(data.columns[1:-1])
dummy_y=np.array(data.values[:,-1])
dummy_x=np.array(data.values[:,1:-1])
print(feature)
print(dummy_y)
print(dummy_x)

在这里插入图片描述

clf = tree.DecisionTreeClassifier(criterion='entropy',min_samples_leaf=5,max_depth=5)#这个采用的信息增益来划分节点的
clf.fit(dummy_x,dummy_y )

weixingaunzhu小猪课堂
生成决策树的效果有三种
需要使用的包

import pydotplus
import matplotlib.pyplot as plt
#from PIL import Image#这个是做网页截图的不用这个
from IPython.display import Image 

一、直接就生成pdf

import pydotplus 
dot_data = tree.export_graphviz(clf, out_file=None) 
graph = pydotplus.graph_from_dot_data(dot_data) 
path=r"D:\learning\test1.pdf"
graph.write_pdf(path) 

二、保存成.dot文件 然后本地转化.PDF文件

with open('allElectronicInformationGainOri.dot','w')as f: 
#allElectronicInformationGainOri.dot 这个是自己定义的名字,或者说是要生成的名字
	f=tree.export_graphviz(clf,feature_names=feature,out_file=f)

三、直接再jupyter上生成决策树效果图

dot_data = tree.export_graphviz(clf, out_file=None, 
                                feature_names=list,  
#                          class_names=iris.target_names,  
                         filled=True, rounded=True,  
                         special_characters=True)  
graph = pydotplus.graph_from_dot_data(dot_data)
Image(graph.create_png())

同时还有一个就是解决决策树中有中文的问题,但是我一直都没解决
不过推荐两篇文章可以给大家参考一下
文章1:graphviz画决策树图中文乱码问题解决
文章2:解决Graphviz无法显示决策树中文问题

喜欢给个赞吧,谢谢啦~
更多内容VX关注【小猪课堂】公众号,你想要的干货都在这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值