决策树(决策树的分支深度及重要特征检测)

import matplotlib.pyplot as plt
from sklearn import datasets
import numpy as np
from sklearn.tree import DecisionTreeClassifier

n_features = 200
X, y = datasets.make_classification(750, 200,n_informative=5)

#后面的P,是正负的比例
training = np.random.choice([True, False], p=[.75, .25],size=len(y))

c = 0
for x in training:
    if(x == True):
        c = c+1
print(c,c/750)

accuracies = []
for x in np.arange(1, n_features+1):
    dt = DecisionTreeClassifier(max_depth=x)
    dt.fit(X[training], y[training])
    preds = dt.predict(X[~training])
    accuracies.append((preds == y[~training]).mean())

f, ax = plt.subplots(figsize=(7, 5))
ax.plot(range(1, n_features+1), accuracies, color=‘k‘)
ax.set_title("Decision Tree Accuracy")
ax.set_ylabel("% Correct")
ax.set_xlabel("Max Depth")
f.show()

N = 15
f, ax = plt.subplots(figsize=(7, 5))
ax.plot(range(1, n_features+1)[:N], accuracies[:N], color=‘k‘)
ax.set_title("Decision Tree Accuracy")
ax.set_ylabel("% Correct")
ax.set_xlabel("Max Depth")
f.show()

‘‘‘
老的版本无这个参数,这个参数很好,可以检查重要的特征
dt_ci = DecisionTreeClassifier(compute_importances=True)
dt.fit(X, y)
ne0 = dt.feature_importances_ != 0
y_comp = dt.feature_importances_[ne0]
x_comp = np.arange(len(dt.feature_importances_))[ne0]
f, ax = plt.subplots(figsize=(7, 5))
ax.bar(x_comp, y_comp)
f.show()
‘‘‘

时间: 2024-10-16 09:10:31

决策树(决策树的分支深度及重要特征检测)的相关文章

决策树代码(转)

转自http://blog.csdn.net/fy2462/article/details/31762429 一.前言 当年实习公司布置了一个任务让写一个决策树,以前并未接触数据挖掘的东西,但作为一个数据挖掘最基本的知识点,还是应该有所理解的. 程序的源码可以点击这里进行下载,下面简要介绍一下决策树以及相关算法概念. 决策树是一个预测模型:他代表的是对象属性与对象值之间的一种映射关系.树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路

机器学习算法之决策树

机器学习算法之决策树 什么是决策树 决策树(Decision Tree)是一种简单但是广泛使用的分类器.通过训练数据构建决策树,可以高效的对未知的数据进行分类.决策数有两大优点:1)决策树模型可以读性好,具有描述性,有助于人工分析:2)效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度. 决策树是一个树结构(可以是二叉树或者非二叉树),非叶节点表示一个特征属性上的测试,每个分支代表在某个值域上的输出,每个叶节点存放一个类别. 测试就是按照从根节点往下走,直到叶节点

决策树的几种类型差异及Spark 2.0-MLlib、Scikit代码分析

概述 分类决策树模型是一种描述对实例进行分类的树形结构. 决策树可以看为一个if-then规则集合,具有"互斥完备"性质 .决策树基本上都是 采用的是贪心(即非回溯)的算法,自顶向下递归分治构造. 生成决策树一般包含三个步骤: 特征选择 决策树生成 剪枝 决策树算法种类 决策树主要有 ID3, C4.5, C5.0 and CART几种, ID3, C4.5, 和CART实际都采用的是贪心(即非回溯)的算法,自顶向下递归分治构造.对于每一个决策要求分成的组之间的"差异&quo

《机器学习实战》学习笔记:绘制树形图&使用决策树预测隐形眼镜类型

上一节实现了决策树,但只是使用包含树结构信息的嵌套字典来实现,其表示形式较难理解,显然,绘制直观的二叉树图是十分必要的.Python没有提供自带的绘制树工具,需要自己编写函数,结合Matplotlib库创建自己的树形图.这一部分的代码多而复杂,涉及二维坐标运算:书里的代码虽然可用,但函数和各种变量非常多,感觉非常凌乱,同时大量使用递归,因此只能反复研究,反反复复用了一天多时间,才差不多搞懂,因此需要备注一下. 一.绘制属性图 这里使用Matplotlib的注解工具annotations实现决策树

决策树建模

第一个例子是基于假想的服务器日志数据构建决策树,我们利用构建好的决策树来预测用户是否可能成为付费用户. # -*- coding: utf-8 -*- """ Created on Mon May 16 15:31:51 2016 @author: ZM """ ##################################### 数据集 ############################### my_data=[['slashdot

机器学习入门 - 1. 介绍与决策树(decision tree)

机器学习(Machine Learning) 介绍与决策树(Decision Tree) 机器学习入门系列 是 个人学习过程中的一些记录与心得.其主要以要点形式呈现,简洁明了. 1.什么是机器学习? 一个比较概括的理解是: 根据现有的数据,预测未来 2.核心思想 : Generalization 可以理解为,归纳.概括.就像是人的学习一样,找出一件事物与与一件事物的联系 3.归纳性的机器学习(Inductive machine learning) 其核心思想是使用训练数据,并从其中摸索出一套适用

(数据科学学习手札23)决策树分类原理详解&Python与R实现

决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法.由于这种决策分支画成图形很像一棵树的枝干,故称决策树.在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系. 一.初识决策树 决策树是一种树形结构,一般的,一棵决策树包含一个根结点,若干个内部结点和若干个叶结点: 叶结点:树的一个方向的最末端,表示结果的输出: 根结点:初始样

决策树(ID3,C4.5,CART)原理以及实现

决策树 决策树是一种基本的分类和回归方法.决策树顾名思义,模型可以表示为树型结构,可以认为是if-then的集合,也可以认为是定义在特征空间与类空间上的条件概率分布. [图片上传失败...(image-2e6565-1543139272117)] 决策树的中间节点可以看做是对一种特征的判断,也是符合上一次判断特征某种取值的数据集,根节点代表所有数据集;叶子节点看做是判断所属的类别. 决策树学习通常包括3个步骤: 特征选择. 决策树生成和决策树剪枝. 目前常用的决策树算法有ID3, C4.5 和C

全面解析Apache Spark中的决策树

Apache Spark中的决策树 决策树是在顺序决策问题进行分类,预测和促进决策的有效方法.决策树由两部分组成: 决策(Desion) 结果(Outcome) 决策树包含三种类型的节点: 根节点(Root node):包含所有数据的树的顶层节点. 分割节点(Splitting node):将数据分配给子组(subgroup)的节点. 终端节点(Terminal node):最终决定(即结果). 分割节点(Splitting node),仅就离散数学中的树的概念而言,就是指分支节点. 为了抵达终