Python3 决策树
# -*- coding: utf-8 -*-
"""
Created on Fri Dec 29 10:18:04 2017
@author: markli
"""
from sklearn.feature_extraction import DictVectorizer;
from sklearn import preprocessing;
from sklearn import tree;
from sklearn.externals.six import StringIO;
from sklearn.externals import joblib;
import csv;
import sys;
sys.path.append('../');
filepath = 'decisiontree.csv';
f = open(filepath,'r');
reader = csv.reader(f);
header = next(reader); #读取表头
print("表头为 %s" % header);
feature_list = [];
label_list = [];
for row in reader:
label_list.append(row[len(row)-1]);
rowdic = {};
for i in range(1,len(row)-1):
rowdic[header[i]] = row[i];
feature_list.append(rowdic);
print("特征值为 %s" % feature_list);
dv = DictVectorizer();
dummX = dv.fit_transform(feature_list).toarray();
print("特征提取值矩阵为 %s" % str(dummX));
#目标值特征化
lb = preprocessing.LabelBinarizer();
dummY = lb.fit_transform(label_list);
print("目标特征化值为 %s" % str(dummY));
clf = tree.DecisionTreeClassifier(criterion='entropy');
clf = clf.fit(dummX,dummY);
print("树 %s" % str(clf));
#保存模型
with open('dicisiontreeModel.dot','w') as f:
f = tree.export_graphviz(clf,feature_names=dv.get_feature_names(),out_file=f);
joblib.dump(clf,'dicisionTree_entropyModel.dot');
#读取模型 预测
'''
x = np.array([0,1,0,0,0,1,0,1,1,0]); #测试值
print(x.reshape((1,10)));
#sys.path.append('F:\\Python\\ML');
#f = open('F:\\Python\\ML\\dicisionTree_entropyModel.dot');
decisiontree.csv 文件格式
clf = joblib.load('F:\\Python\\ML\\dicisionTree_entropyModel.dot');
y = clf.predict(x.reshape((1,10))); #预测结果
print(y);
'''
Python3 决策树的更多相关文章
- 机器学习实战python3 决策树ID3
代码及数据:https://github.com/zle1992/MachineLearningInAction 决策树 优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特 ...
- Python3 决策树ID3算法实现
# -*- coding: utf-8 -*- """ Created on Wed Jan 24 19:01:40 2018 @author: markli 采用信息增 ...
- 科学经得起实践检验-python3.6通过决策树实战精准准确预测今日大盘走势(含代码)
科学经得起实践检验-python3.6通过决策树实战精准准确预测今日大盘走势(含代码) 春有百花秋有月,夏有凉风冬有雪: 若无闲事挂心头,便是人间好时节. --宋.无门慧开 不废话了,以下训练模型数据 ...
- Python3实现机器学习经典算法(三)ID3决策树
一.ID3决策树概述 ID3决策树是另一种非常重要的用来处理分类问题的结构,它形似一个嵌套N层的IF…ELSE结构,但是它的判断标准不再是一个关系表达式,而是对应的模块的信息增益.它通过信息增益的大小 ...
- Python3实现机器学习经典算法(四)C4.5决策树
一.C4.5决策树概述 C4.5决策树是ID3决策树的改进算法,它解决了ID3决策树无法处理连续型数据的问题以及ID3决策树在使用信息增益划分数据集的时候倾向于选择属性分支更多的属性的问题.它的大部分 ...
- 【机器学习实战学习笔记(2-2)】决策树python3.6实现及简单应用
文章目录 1.ID3及C4.5算法基础 1.1 计算香农熵 1.2 按照给定特征划分数据集 1.3 选择最优特征 1.4 多数表决实现 2.基于ID3.C4.5生成算法创建决策树 3.使用决策树进行分 ...
- 机器学习实战:决策树的存储读写文件报错(Python3)
错误原因:pickle模块存储的是二进制字节码,需要以二进制的方式进行读写 1. 报错一:TypeError: write() argument must be str, not bytes 将决策树 ...
- 【机器学习实战 第九章】树回归 CART算法的原理与实现 - python3
本文来自<机器学习实战>(Peter Harrington)第九章"树回归"部分,代码使用python3.5,并在jupyter notebook环境中测试通过,推荐c ...
- 机器学习之决策树三-CART原理与代码实现
决策树系列三—CART原理与代码实现 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/9482885.html ID ...
随机推荐
- HBase shell 命令介绍
HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况.安装完HBase之后,如果配置了HBase的环境变量,只要在sh ...
- zTree模糊搜索,显示全部节点和高亮显示
function searchFun() { var value; if($("#code2").val()!=null && $("#code2&quo ...
- 小白的Python之路 day3 函数
1.函数基本语法及特性 背景提要 现在老板让你写一个监控程序,监控服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏空了所有的知识量,写出了以下代码 1 2 ...
- 使用puppet
首先配置一个默认文件 只是首次创建的时候才需要重启,后期不需要重启! [root@master manifests]# vim /etc/puppet/manifests/site.pp node d ...
- 免费SSL&付费SSL证书,该如何选择?
近年来Google.Apple.百度等公司不断推动 HTTPS 的普及,SSL 证书作为 HTTPS 安全协议的必备配置,自然也成为了网站.App 开发者最重要部署项目之一. 又拍云于 2016 年联 ...
- ConcurrentHashMap 从Java7 到 Java8的改变
一.关于分段锁 集合框架很大程度减少了java程序员的重复劳动,然而,在Java多线程环境中,以线程安全的方式使用集合类是一个首先考虑的问题. 越来越多的程序员了解到了ConcurrentHashMa ...
- UWP Windows历史上最漂亮的UWP框架出炉!!!
UWP Windows历史上最漂亮的UWP框架出炉!!! 本框架基于微软的开源项目WTS开发,并在其基础上增加了FDS(流畅设计元素,高光.亚克力等).多语言系统.沉浸式体验(扩展内容到标题栏) 同时 ...
- raspberrypi 3代B 配置摄像头
raspberrypi 3代B 配置摄像头 硬件环境: 树莓派3B (element 14版) 树莓派3夜视摄像头800万像素(element 14版) 金士顿 64GB TF Class 10 UH ...
- arm-linux-objdump反汇编使用指南
一. arm-linux-objdump常用来显示二进制文件信息,常用来查看反汇编代码 二. 常用选项: 1.-b bfdname 指定目标码格式 2.-disassemble或者-d 反汇编 ...
- Perl 中 `cmd` 和system"cmd"的区别
在perl中,调用系统命令有两种形势,`cmd` 和system"cmd",他们主要的区别是`cmd`会获取返回结果,而system"cmd"会直接将结果输出到 ...