python决策树sklearn_python利用sklearn包编写决策树源代码
本文实例为大家分享了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,形式如下图所示:
今天早上好不容易将jdk、eclipse以及pydev装进linux,但是,但是,但是,想装numpy的时候,总是报错,发现是没有gcc,然后又去装gcc,真是醉了,到现在gcc还是没有装成功,再想想方法
python决策树sklearn_python利用sklearn包编写决策树源代码相关推荐
- 机器学习算法——线性回归的详细介绍 及 利用sklearn包实现线性回归模型
目录 1.线性回归简介 1.1 线性回归应用场景 1.2 什么是线性回归 1.2.1 定义与公式 1.2.2 线性回归的特征与目标的关系分析 2.线性回归api初步使用 2.1 线性回归API 2.2 ...
- golang python扩展_Python 利用Go语言编写 CPython 扩展 goPy的简单示例
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! goPy 是一个新的开源项目,实现了用 Go 语言来编写 CPython 扩展. 示例代码: # ...
- Python爬虫,利用scrapy来编写一个爬虫
本文将介绍我是如何在python爬虫里面一步一步踩坑,然后慢慢走出来的,期间碰到的所有问题我都会详细说明,让大家以后碰到这些问题时能够快速确定问题的来源,后面的代码只是贴出了核心代码,更详细的代码暂时 ...
- 利用sklearn中 ID3算法实现简单的课程销量预测+决策树可视化
决策树中ID3算法是一种贪心算法,用来构造决策树.ID3算法主要用到每个属性的信息增益,使用到信息熵.ID3算法计算每个属性的信息增益,并选取具有最高增益的属性作为给定集合的测试属性.对被选取的测试属 ...
- 利用sklearn库决策树模型对iris数据多分类并进行评估
1.导入所需要的库 from sklearn.tree import DecisionTreeClassifier from sklearn.datasets import load_iris 2.加 ...
- python中sklearn实现决策树及模型评估_sklearn实现决策树
sklearn是一个功能非常强大的工具,可以用几行代码实现丰富的机器学习算法. 本文介绍使用sklearn实现决策树 决策树是经典的机器学习算法,很多复杂的机器学习算法都是由决策时演变而来.它是一种使 ...
- boost原理与sklearn源码_机器学习sklearn系列之决策树
一. Sklearn库 Scikit learn 也简称 sklearn, 自2007年发布以来,scikit-learn已经成为Python重要的机器学习库了.支持包括分类.回归.降维和聚类四大机器 ...
- sklearn中的决策树(分类)
本文在我的知乎上同步更新:sklearn中的决策树(分类) - 知乎 Sklearn库有很多机器学习模型,不同的模型有着不同的特点,针对不同的问题,选取对应的模型,可以很好地解决问题.树模型作为经典的 ...
- sklearn机器学习:决策树tree.DecisionTreeClassifier()
sklearn中的决策树分类器 sklearn中的决策树分类器函数,格式如下: sklearn.tree.DecisionTreeClassifier(criterion='gini', splitt ...
最新文章
- MIT_18.03_微分方程_Fourier_Series_傅里叶级数_Notes
- SAP创建生产订单时要求输入销售订单
- c语言变量radius数据类型,c语言数据类型
- Android新增Activity,并实现多Activity之间的切换
- 如何为SAP API Portal上创建的API增添API key验证保护功能
- 最近写的一个qt应用软件
- Hive大数据-Hive的优缺点---大数据之Hive工作笔记0002
- python创意实用案例-分享10个给Python小白看的实用案例,入门Python就在这里了
- 容器技术Docker K8s 29 容器服务ACK基础与进阶-弹性伸缩
- 最好用的十六进制编辑器 010 Editor
- OSPF多区域配置实例
- 清除SQL Sever 2008数据库日志
- win11安装ie浏览器
- 视觉SLAM和激光SLAM的实现
- 导出RK3288开发板上的根文件系统,并打包img
- 学生成绩预测模型_2020年甘肃省建筑信息模型技术员(学生组)暨第三届全国装配式建筑职业技能竞赛(学生组)选拔赛成绩揭晓!...
- 在模仿学习中进步的智能机器人
- 关于partnerLinkType的相关实验
- LabWindows_CVI测试技术及工程应用_学习笔记1(构建一个简单的程序)
- CSS gradient渐变之webkit核心浏览器下的使用