以下demo的大概意思:选择是否相亲是标签y,特征是年龄、身高、年收入、学历。

最后是测试,我输入年龄、身高、年收入、学历。模型判断我是否需要选择相亲。

1、sklearn中对应的函数DecisionTreeClassifier函数(分类),DecisionTreeRegressor(回归),分类代码如下:

from sklearn import tree
import numpy as np#年龄,身高,年收入,学历(大专:0,本科:1,硕士:2)
X = np.array([[25, 179, 15, 0],[33, 190, 19 ,0], [28, 180, 18, 2],[25, 178, 18, 2], [46, 100, 100, 2],[40, 170, 170, 1],[34, 174, 20, 2],[36, 181, 55, 1],[35, 170, 25, 2],[30, 180, 35, 1],[28, 174, 30, 1],[29, 176, 36, 1]])#0表示没有相亲,1表示相亲
y= [0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1]clf = tree.DecisionTreeClassifier().fit(X, y)
p=[[28, 180, 18, 2]]
print(clf.predict(p)) #[1]

2、sklearn中对应的函数RadomForestClassifier函数(分类),RadomForestRegressor(回归)

from sklearn.ensemble import RandomForestClassifier
import numpy as np#年龄,身高,年收入,学历(大专:0,本科:1,硕士:2)
X = np.array([[25, 179, 15, 0],[33, 190, 19 ,0], [28, 180, 18, 2],[25, 178, 18, 2], [46, 100, 100, 2],[40, 170, 170, 1],[34, 174, 20, 2],[36, 181, 55, 1],[35, 170, 25, 2],[30, 180, 35, 1],[28, 174, 30, 1],[29, 176, 36, 1]])#0表示没有相亲,1表示相亲
y= [0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1]clf =RandomForestClassifier().fit(X, y)
p=[[28, 180, 18, 2]]
print(clf.predict(p)) #[1]

决策树的架构比较:

ID3、C4.5、CART的区别

1984年提出的cart,1986年提出的ID3,1993年提出的c4.5

ID3 使用信息增益作为选择特征的准则;
C4.5 使用信息增益比作为选择特征的准则;
CART 使用 Gini 指数作为选择特征的准则

ID3:

ID3算法是由Ross Quinlan提出的决策树的一种算法实现,以信息论为基础,以信息熵信息增益为衡量标准,从而实现对数据的归纳分类。只适用于分类问题处理。

缺点只能处理离散的,并且选择倾向属性值较多的

C4.5:

C4.5是基于ID3优化后产出的算法,主要优化了关于节点分支的计算方式,支持连续,支持特征筛选

CART:(sklearn采用的方式)

CART 与 ID3,C4.5 不同之处在于 CART 生成的树必须是二叉树。也就是说,无论是回归还是分类问题,无论特征是离散的还是连续的,无论属性取值有多个还是两个,内部节点只能根据属性值进行二分。

建议:

小样本建议考虑c4.5、大样本建议考虑cart

sklearn的决策树和随即森林的demo相关推荐

  1. sklearn实现决策树,随机森林,逻辑回归,KNN,贝叶斯,SVM,以葡萄干数据集为例

    数据集介绍 本次使用的数据集为葡萄干数据集,来源于UCI中: https://archive.ics.uci.edu/ml/datasets/Raisin+Dataset 介绍为: Images of ...

  2. PythonML-Day02: k-近邻、朴素贝叶斯、决策树、随机森林、交叉验证、网格搜索

    ML-Day02: k-近邻.朴素贝叶斯.决策树.随机森林.交叉验证.网格搜索1.数据分类离散型数据:可以列举出连续型数据:在区间内可任意划分,不可一一列举2.机器学习算法分类监督学习(预测):有特征 ...

  3. sklearn分类器算法:决策树与随机森林及案例分析

    分类算法之决策树 决策树是一种基本的分类方法,当然也可以用于回归.我们一般只讨论用于分类的决策树.决策树模型呈树形结构.在分类问题中,表示基于特征对实例进行分类的过程,它可以认为是if-then规则的 ...

  4. sklearn分类算法-决策树、随机森林

    sklearn分类算法-决策树.随机森林 一.决策树 1.概念 决策树思想的来源非常朴素,程序设计中的条件分支结构就是if-then结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法 比如: ...

  5. sklearn分类算法(逻辑回归、朴素贝叶斯、K近邻、支持向量机 、决策树、随机森林 )的使用

    scikit-learn机器学习的分类算法包括逻辑回归.朴素贝叶斯.KNN.支持向量机.决策树和随机森林等.这些模块的调用形式基本一致,训练用fit方法,预测用predict方法.用joblib.du ...

  6. [sklearn]决策树、随机森林、隐马尔可夫模型

    决策树 决策树(Decision Tree)是一种用于处理分类和回归问题的无监督学习算法.如下图所示为某女青年在某相亲网站的相亲决策图.这幅图描述的都是一个非常典型的决策树模型. 通过对其相亲决策的分 ...

  7. 机器学习(9)--决策树和随机森林

    一.决策树 认识:决策树思想的来源非常朴素,程序设计中的条件分支结构就是if-then结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法 举例说明: 案例一: 案例二: 如何去划分是否能得到 ...

  8. 【机器学习入门】(5) 决策树算法实战:sklearn实现决策树,实例应用(沉船幸存者预测)附python完整代码及数据集

    各位同学好,今天和大家分享一下python机器学习中的决策树算法,在上一节中我介绍了决策树算法的基本原理,这一节,我将通过实例应用带大家进一步认识这个算法.文末有完整代码和数据集,需要的自取.那我们开 ...

  9. 使用泰坦尼克号数据进行决策树、随机森林

    使用泰坦尼克号数据进行决策树.随机森林 决策树分类器 随机森林 决策树分类器 sklearn.tree.DecisionTreeClassifier(criterion='gini',max_dept ...

最新文章

  1. 查看centos系统配置详细信息
  2. 运行python需要网吗-浏览器运行python脚本吗
  3. python学习手册中文版免费下载-Python学习手册
  4. Angular2 组件与模板 -- 输入和输出属性
  5. STL3-MyArray动态数组类模板实现
  6. 计算机网络「四」 网络层
  7. devops的重要性_为什么DevOps是当今最重要的技术战略
  8. tp5 mysql定时任务_tp5+mysql实现消息队列,并在mac系统下定时执行-Go语言中文社区...
  9. 机器学习——层次聚类(超详细)
  10. 位图(bitmap)—— C语言实现
  11. js面向对象--理解闭包
  12. 这样一群人 致踏上CCIE之路的兄弟们!
  13. jackson json的使用
  14. python测网速_tespeed-测试网速的Python工具
  15. matlab寻找直线_matlab寻找直线_Matlab 霍夫变换 ( Hough Transform) 直线检测
  16. 把html模板vue框架,vue框架搭建个人博客网站模板
  17. 如何对 Excel 中的数据使用 SQL 查询
  18. (三)Linux vi 文本编辑器,用户管理,组管理,Sudo命令,时间管理
  19. 装了mysql电脑黑屏怎么办_电脑黑屏的原因,教你解决黑屏
  20. 深度学习笔记---多尺度网络结构归类总结

热门文章

  1. 16年河北省职称计算机试题,河北省职称计算机考试真题..doc
  2. 联想有linux系统下载地址,联想有了自己的Linux操作系统?
  3. AI(人工智能:一种现代的方法)学习之:CSP(Constraint Satisfaction Problems) 约束满足问题:回溯法——前向检查(过滤法)、弧相容检查、 变量排序
  4. 麻瓜编程Python Web基础
  5. 什么是长连接,什么是短连接?长连接和短连接的区别是什么?
  6. ADBKeyBoard.apk 切换Android输入法完美解决中文输出
  7. 处理顶点——凹凸映射:固定法线
  8. COBOL语言初级教程(1)--COBOL简介
  9. UGC(互联网术语)
  10. 全球森林、土地利用、耕地数据下载