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使用urllib模块开发的多线程豆瓣小站mp3下载器
Jan 16 Python
将图片文件嵌入到wxpython代码中的实现方法
Aug 11 Python
python的多重继承的理解
Aug 06 Python
机器学习的框架偏向于Python的13个原因
Dec 07 Python
Python 最大概率法进行汉语切分的方法
Dec 14 Python
PyQt5+requests实现车票查询工具
Jan 21 Python
浅谈python标准库--functools.partial
Mar 13 Python
Python基于pyecharts实现关联图绘制
Mar 27 Python
PyCharm 在Windows的有用快捷键详解
Apr 07 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
Apr 16 Python
termux中matplotlib无法显示中文问题的解决方法
Jan 11 Python
python - asyncio异步编程
Apr 06 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
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
2009/12/18 PHP
PDO防注入原理分析以及注意事项
2015/02/25 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
php简单的上传类分享
2016/05/15 PHP
PHP购物车类Cart.class.php定义与用法示例
2016/07/20 PHP
PHP+iframe图片上传实现即时刷新效果
2016/11/18 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
PHP正则表达式笔记与实例详解
2019/05/09 PHP
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
2014/06/20 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
jQuery获取checkbox选中的值
2016/01/28 Javascript
原生javascript实现分页效果
2017/04/21 Javascript
JQuery实现定时刷新功能代码
2017/05/09 jQuery
Angular排序实例详解
2017/06/28 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
浅谈Express.js解析Post数据类型的正确姿势
2019/05/30 Javascript
Python实现的金山快盘的签到程序
2013/01/17 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
Python插入Elasticsearch操作方法解析
2020/01/19 Python
python安装dlib库报错问题及解决方法
2020/03/16 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
波兰在线杂货店:Polski Koszyk
2019/11/02 全球购物
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
机电专业体育教师求职信
2013/09/21 职场文书
人事主管岗位职责范本
2013/12/04 职场文书
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
自愿离婚协议书范本
2014/09/13 职场文书
工作检讨书500字
2014/10/19 职场文书
谢师宴答谢词
2015/01/05 职场文书
创业计划书之便利店
2019/09/05 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python