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中正则表达式的用法实例汇总
Aug 18 Python
python自动翻译实现方法
May 28 Python
python设计模式大全
Jun 27 Python
python 打印出所有的对象/模块的属性(实例代码)
Sep 11 Python
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
Aug 18 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
Jan 04 Python
详解Python3中setuptools、Pip安装教程
Jun 18 Python
在django view中给form传入参数的例子
Jul 19 Python
python 并发下载器实现方法示例
Nov 22 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
Jan 20 Python
python zip,lambda,map函数代码实例
Apr 04 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
Dec 16 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
老机欣赏|中国60年代精品收音机
2021/03/02 无线电
如何在WIN2K下安装PHP4.04
2006/10/09 PHP
批量去除PHP文件中bom的PHP代码
2012/03/13 PHP
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
php生成word并下载代码实例
2019/03/15 PHP
laravel中Redis队列监听中断的分析
2020/09/14 PHP
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
Jquery显示和隐藏元素或设为只读(含Ligerui的控件禁用,实例说明介绍)
2013/07/09 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
2015/04/24 Javascript
javascript常用方法总结
2015/05/14 Javascript
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
2019/07/26 Javascript
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
python类继承与子类实例初始化用法分析
2015/04/17 Python
python从入门到精通(DAY 2)
2015/12/20 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
Python lxml解析HTML并用xpath获取元素的方法
2019/01/02 Python
解决pycharm工程启动卡住没反应的问题
2019/01/19 Python
在Pycharm中对代码进行注释和缩进的方法详解
2019/01/20 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
用python实现学生管理系统
2020/07/24 Python
python爬虫判断招聘信息是否存在的实例代码
2020/11/20 Python
css3实现椭圆轨迹旋转的示例代码
2018/10/29 HTML / CSS
德国W家官网,可直邮中国的母婴商城:Windeln.de
2021/03/03 全球购物
介绍一下Java的安全机制
2012/06/28 面试题
物流专员岗位职责
2014/02/17 职场文书
医学生职业生涯规划书范文
2014/03/13 职场文书
员工工作自我评价
2014/09/26 职场文书
优秀高中学生评语
2014/12/30 职场文书
初中家长意见
2015/06/03 职场文书
网络妈妈观后感
2015/06/08 职场文书
导游词之南京中山陵
2019/11/27 职场文书