机器学习————决策树&随机森林
决策树
决策树是一种非线性有监督离散型分类模型
决策树是通过固定的条件来对类别进行判断:
决策树的生成:数据在不断分裂的递归过程,每一次分裂,尽可能让类别一样的数据在树的一边,
当树的叶子节点的数据都是一类的时候,则停止分裂(if lese语句)
决策树的建模过程,不是创造一个方程了,而是构建一棵树。这棵树不一定只是二叉树
损失函数
基尼系数,熵越大,方差越大,数据集越不一样,纯度越高
- 基尼系数是指国际上通用的、用以衡量一个国家或地区居民收入差距的常用指标
决策树的分割方式:非线性
决策树的参数
都是为了构建一个优秀的决策树,提供的支持
max_leaf_node, max_depth…
决策树和逻辑回归的比较
单颗决策树的缺点:
运算量大,需要一次加载所有数据进内存。并且找寻分割条件是一个极耗资源的工作
训练样本中出现异常数据时,将会对决策树产生很大影响。抗干扰能力差
解决方法:
减少决策树所需训练样本(减少列或者减少行)
随机采样,降低异常数据的影响
逻辑回归的优点:
和逻辑回归比,逻辑回归可以给告诉我们概率(或者设置阈值),二决策树只能0, 1
代码实现决策树
# encoding:utf-8
import pandas as pd
import numpy as np
from sklearn.datasets import load_iris
# 决策数的分类器
from sklearn.tree