机器学习—决策树

杰哥哥是谁 杰哥哥是谁     2022-09-21     305

关键词:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.tree import DecisionTreeClassifier
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
from sklearn import metrics
%matplotlib inline
#载入数据
iris = load_iris()
x = iris.data
y = iris.target
x_train,x_test,y_train,y_test = train_test_split(x,y,train_size=0.7,random_state=0)
#数据处理
sc = StandardScaler()
x_train_std = sc.fit_transform(x_train)
x_test_std = sc.transform(x_test)
#建立模型
dt = DecisionTreeClassifier(criterion='entropy',max_depth=3)  #先设置一个三层的决策树,设置划分标准为信息增益
dt.fit(x_train_std,y_train)
y_pred = dt.predict(x_test_std)
accuracy = metrics.accuracy_score(y_test,y_pred)
accuracy

输出结果:0.97777777777777775

#决策树输出到pdf
from sklearn import tree
import graphviz
dot_data = tree.export_graphviz(dt,out_file=None)
graph = graphviz.Source(dot_data)
graph.render('iris')

#直接输出决策树
dot_data = tree.export_graphviz(dt, out_file=None, 
                         feature_names=iris.feature_names,  
                         class_names=iris.target_names,  
                         filled=True, rounded=True,  
                         special_characters=True)  
graph = graphviz.Source(dot_data)  
graph 

#分类效果画图出来,只选择其中两个变量做图
x = iris.data
x = x[:,:2]
y = iris.target
M,N = 500,500
x1_min,x1_max = x[:,0].min(),x[:,0].max()
x2_min,x2_max = x[:,1].min(),x[:,1].max()
t1 = np.linspace(x1_min,x1_max,M)
t2 = np.linspace(x2_min,x2_max,N)
x1,x2 = np.meshgrid(t1,t2)
x_test = np.stack((x1.flat,x2.flat),axis=1)
dt = DecisionTreeClassifier(max_depth=3)
dt.fit(x,y)
y_show = dt.predict(x_test)
y_show = y_show.reshape(x1.shape)
fig = plt.figure(figsize=(10,6),facecolor='w')
plt.contourf(x1,x2,y_show,alpha=0.5)
plt.scatter(x[:,0],x[:,1],c = y.ravel(),alpha=0.8)
plt.xlim(x1_min,x1_max)
plt.ylim(x2_min,x2_max)

#不同深度的树,对预测结果的好坏
x = iris.data
x = x[:,:2]
y = iris.target
x_train,x_test,y_train,y_test = train_test_split(x,y,train_size=0.7,random_state=1)
sc = StandardScaler()
x_train_std = sc.fit_transform(x_train)
x_test_std = sc.transform(x_test)
err_list = []
for depth in range(1,15):
    dt = DecisionTreeClassifier(max_depth=depth)
    dt.fit(x_train_std,y_train)
    y_pred = dt.predict(x_test_std)
    print('深度是%s的准确率是%.2f%%'%(depth,metrics.accuracy_score(y_test,y_pred)*100))
    err_list.append(metrics.accuracy_score(y_test,y_pred))
plt.plot(range(1,15),err_list)

 

机器学习决策树

1、决策树简介1.1决策树概述决策树算法是一种基于树形结构的分类算法,它能从给定的无序的训练样本中,提炼出树型的分类模型,树形中包含判断模块和终止模块。它是一种典型的分类算法,首先对数据进行处理,利用归纳... 查看详情

机器学习--决策树

目录DecisionTreePre:TreeconstructionInformationGain信息增益1.信息增益的计算MeasuringconsistencyinadatasetUsingresursiontoconstructadecisiontreePlottingtressinMatplotlibDecisionTreePre:如下图所示,决策树包含判断模块、终止模块。其中终止模块表示 查看详情

机器学习笔记-决策树

决策树(DecisionTree)决策树学习,建立一颗树结构的模型。此模型由一系列逻辑决策构成。在此结构中决策点代表某个属性上的决策,分支表示决策选择项,树的叶子节点是一系列联合决策的结论。决策树通过分而治之(Divideandconq... 查看详情

《机器学习实战》-决策树(代码片段)

目录决策树决策树简介决策树的构造信息增益划分数据集递归构建决策树在Python中使用Matplotlib注解绘制树形图Matplotlib注解构造注解树测试和存储分类器测试算法:使用决策树执行分类使用算法:决策树的存储示例:使用决策树... 查看详情

机器学习—决策树

importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltfromsklearn.treeimportDecisionTreeClassifierfromsklearn.preprocessingimportStandardScalerfromsklearn.model_selectionimporttrain_test_splitfro 查看详情

机器学习---算法---决策树

.../blog.csdn.net/qq_43208303/article/details/84837412 决策树是一种机器学习的方法。决策树的生成算法有ID3,C4.5和CART等。决策树是一种树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶... 查看详情

机器学习决策树

...种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy=系统的凌乱程度,使用算法ID3, C4.5和 查看详情

机器学习决策树理论第二卷

决策树内容来至于《统计学习与方法》李航,《机器学习》周志华,以及《机器学习实战》PeterHarringTon,相互学习,不足之处请大家多多指教!本卷的大纲为1CART算法1.1CART回归树1.2CART分类树2CART剪枝3总结1CART算法CART分类与回归树(classi... 查看详情

机器学习——决策树

...策树一、了解决策树  决策树(DecisionTree)是一类常见的机器学习算法,属于非参数的监督学习方法,主要用于分类和回归,也可以用于特征提取。  决策树就是一棵树(很像流程图),其内包含一个根... 查看详情

机器学习实战教程:决策树实战篇(代码片段)

一、前言上篇文章机器学习实战教程(二):决策树基础篇_M_Q_T的博客-CSDN博客讲述了机器学习决策树的原理,以及如何选择最优特征作为分类特征。本篇文章将在此基础上进行介绍。主要包括:决策树构建决... 查看详情

机器学习算法学习02:决策树的学习以及应用决策树解决cora数据集论文分类问题(代码片段)

机器学习算法学习02:决策树的学习以及应用决策树解决Cora数据集论文分类问题文章目录机器学习算法学习02:决策树的学习以及应用决策树解决Cora数据集论文分类问题1.前言2.算法分析2.1算法概述2.2算法优化3.算法代码3.... 查看详情

机器学习实战精读--------决策树

感觉自己像个学走路的孩子,每一步都很吃力和认真!机器根据数据集创建规则,就是机器学习。决策树:从数据集合中提取一系列规则,适用于探索式的知识发现。决策树本质:通过一系列规则对数据进行分类的过程。决策树... 查看详情

机器学习之路--决策树(代码片段)

...使用不熟悉的数据集合,并从中提取一系列规则,在这些机器根据数据集创建规则是,就是机器学习的过程。二,相关知识1决 查看详情

机器学习--决策树

 基本流程:  决策树:    根结点:属性测试,包含样本全集    内部结点:属性测试,根据属性测试的结果被划分到子结点中    叶结点:决策结果  划分选择:如何选择最优划分属性。目标是结点的"纯度"越... 查看详情

机器学习_决策树(代码片段)

       查看详情

ai机器学习-决策树算法-概念和学习过程

1.概念决策树是通过一系列规则对数据进行分类的过程,它提供一种在什么条件下会得到什么值的类似规则的方法。决策树分为分类树和回归树两种,分类树对离散变量做决策树,回归树对连续变量做决策树。分类决策树模型是... 查看详情

机器学习3—决策树学习笔记

 机器学习实战第三章决策树#计算给定数据集的熵#导入log运算符frommathimportlogdefcalcShannonEnt(dataSet):#获取数据集的行数numEntries=len(dataSet)#设置字典的数据结构labelCounts={}#提取数据集的每一行的特征向量forfeatVecindataSet:#获取特征... 查看详情

机器学习——决策树(代码片段)

1、介绍决策树是一种依托决策而建立起来的一种树。在机器学习中,决策树是一种预测模型,代表的是一种对象属性与对象值之间的一种映射关系,每一个节点代表某个对象/分类,树中的每一个分叉路径代表某个可能的属性值... 查看详情