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实现抓取网页并且解析的实例
Sep 20 Python
Pandas标记删除重复记录的方法
Apr 08 Python
Face++ API实现手势识别系统设计
Nov 21 Python
python使用xlsxwriter实现有向无环图到Excel的转换
Dec 12 Python
python 实现提取某个索引中某个时间段的数据方法
Feb 01 Python
对pandas通过索引提取dataframe的行方法详解
Feb 01 Python
python爬虫刷访问量 2019 7月
Aug 01 Python
Django 实现外键去除自动添加的后缀‘_id’
Nov 15 Python
python实现TCP文件传输
Mar 20 Python
完美解决keras保存好的model不能成功加载问题
Jun 11 Python
如何在vscode中安装python库的方法步骤
Jan 06 Python
python playwright 自动等待和断言详解
Nov 27 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
第四节--构造函数和析构函数
2006/11/16 PHP
让你成为更出色的PHP开发者的10个技巧
2011/02/25 PHP
php PDO异常处理详解
2016/11/20 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
jquery中this的使用说明
2010/09/06 Javascript
jquery对dom的操作常用方法整理
2013/06/25 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
jquery动画效果学习笔记(8种效果)
2015/11/13 Javascript
Jquery和JS获取ul中li标签的实现方法
2016/06/02 Javascript
浅析JavaScript中的array数组类型系统
2016/07/18 Javascript
JS前向后瞻正则表达式定义与用法示例
2016/12/27 Javascript
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
2017/08/04 jQuery
vue中axios的封装问题(简易版拦截,get,post)
2018/06/15 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
2019/03/27 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
js实现div色块拖动录制
2020/01/16 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
Python 条件判断的缩写方法
2008/09/06 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
2018/02/22 Python
PyQt5每天必学之QSplitter实现窗口分隔
2018/04/19 Python
解决Djang2.0.1中的reverse导入失败的问题
2019/08/16 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
2019/08/31 Python
Python交互环境下打印和输入函数的实例内容
2020/02/16 Python
Python爬取阿拉丁统计信息过程图解
2020/05/12 Python
Alpine安装Python3依赖出现的问题及解决方法
2020/12/25 Python
Python读取ini配置文件传参的简单示例
2021/01/05 Python
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
印度服装购物网站:Limeroad
2018/09/26 全球购物
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
小学新学期寄语
2014/04/02 职场文书
民族学专业求职信
2014/07/28 职场文书
报到证办理个人委托书
2014/10/06 职场文书
经营场所证明范本
2015/06/19 职场文书
学习师德师风的心得体会(2篇)
2019/10/08 职场文书
SpringBoot整合minio快速入门教程(代码示例)
2022/04/03 Java/Android