python利用sklearn包编写决策树源代码


Posted in Python onDecember 21, 2017

本文实例为大家分享了python编写决策树源代码,供大家参考,具体内容如下

因为最近实习的需要,所以用python里的sklearn包重新写了一次决策树。

工具:sklearn,将dot文件转化为pdf格式(是为了将形成的决策树可视化)graphviz-2.38,下载解压之后将其中的bin文件的目录添加进环境变量

源代码如下:

from sklearn.feature_extraction import DictVectorizer
import csv
from sklearn import tree
from sklearn import preprocessing
from sklearn.externals.six import StringIO
from xml.sax.handler import feature_external_ges
from numpy.distutils.fcompiler import dummy_fortran_file

# Read in the csv file and put features into list of dict and list of class label
allElectronicsData = open(r'E:/DeepLearning/resources/AllElectronics.csv', 'rt')
reader = csv.reader(allElectronicsData)
headers = next(reader)
featureList = []
lableList = []
for row in reader:
lableList.append(row[len(row)-1])
rowDict = {}
#不包括len(row)-1
for i in range(1,len(row)-1):
rowDict[headers[i]] = row[i]
featureList.append(rowDict)
print(featureList)

vec = DictVectorizer()
dummX = vec.fit_transform(featureList).toarray()
print(str(dummX))
lb = preprocessing.LabelBinarizer()
dummY = lb.fit_transform(lableList)
print(str(dummY))

#entropy=>ID3
clf = tree.DecisionTreeClassifier(criterion='entropy')
clf = clf.fit(dummX, dummY)
print("clf:"+str(clf))


#可视化tree
with open("resultTree.dot",'w')as f:
f = tree.export_graphviz(clf, feature_names=vec.get_feature_names(),out_file = f)


#对于新的数据怎样来查看它的分类
oneRowX = dummX[0,:]
print("oneRowX: "+str(oneRowX))
newRowX = oneRowX
newRowX[0] = 1
newRowX[2] = 0

predictedY = clf.predict(newRowX)
print("predictedY: "+ str(predictedY))

这里的AllElectronics.csv,形式如下图所示:

python利用sklearn包编写决策树源代码

今天早上好不容易将jdk、eclipse以及pydev装进linux,但是,但是,但是,想装numpy的时候,总是报错,发现是没有gcc,然后又去装gcc,真是醉了,到现在gcc还是没有装成功,再想想方法

Python 相关文章推荐
python实现zencart产品数据导入到magento(python导入数据)
Apr 03 Python
Python中的各种装饰器详解
Apr 11 Python
Python3 循环语句(for、while、break、range等)
Nov 20 Python
解决pycharm无法识别本地site-packages的问题
Oct 13 Python
Python根据文件名批量转移图片的方法
Oct 21 Python
对python中dict和json的区别详解
Dec 18 Python
一文了解python 3 字符串格式化 F-string 用法
Mar 04 Python
基于python实现百度语音识别和图灵对话
Nov 02 Python
Python django框架 web端视频加密的实例详解
Nov 20 Python
Python中常见的导入方式总结
May 06 Python
Python基础 括号()[]{}的详解
Nov 07 Python
详解python的异常捕获
Mar 03 Python
python实现决策树分类算法
Dec 21 #Python
Python语言描述机器学习之Logistic回归算法
Dec 21 #Python
python Crypto模块的安装与使用方法
Dec 21 #Python
python编写Logistic逻辑回归
Dec 30 #Python
python+selenium识别验证码并登录的示例代码
Dec 21 #Python
python实现随机森林random forest的原理及方法
Dec 21 #Python
python编写分类决策树的代码
Dec 21 #Python
You might like
PHP中设置时区,记录日志文件的实现代码
2013/01/07 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
2014/05/15 PHP
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
php判断访问IP的方法
2015/06/19 PHP
解读PHP的Yii框架中请求与响应的处理流程
2016/03/17 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2016/03/22 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
2017/03/09 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
js类中获取外部函数名的方法
2007/08/19 Javascript
jquery中ajax调用json数据的使用说明
2011/03/17 Javascript
javascript + jquery实现定时修改文章标题
2014/03/19 Javascript
Javascript中对象继承的实现小例
2014/05/12 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
jquery实现适用于门户站的导航下拉菜单效果代码
2015/08/24 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
详解Vue.js项目API、Router配置拆分实践
2018/03/16 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
2019/08/20 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
2020/10/13 Javascript
Python的for和break循环结构中使用else语句的技巧
2016/05/24 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
python设置值及NaN值处理方法
2018/07/03 Python
python logging重复记录日志问题的解决方法
2018/07/12 Python
Python实现处理逆波兰表达式示例
2018/07/30 Python
Python操作SQLite数据库过程解析
2019/09/02 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
python输出国际象棋棋盘的实例分享
2020/11/26 Python
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
别名指示符是什么
2012/10/08 面试题
行政人员岗位职责
2013/12/08 职场文书
老干部工作先进事迹
2014/08/17 职场文书
优秀班主任申报材料
2014/12/16 职场文书
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/06 其他游戏