决策树
决策树是一种常用的机器学习方法,它基于树的结构,依次根据不同属性值来进行数据分类,具体算法原理及细节可以参考之前写的决策树和MATLAB函数使用
决策树的优点:采用递归进行数据训练、数据分类,因此计算复杂度不高,可以清晰理解哪些属性重要。
决策树的缺点:不太适用于连续值的划分(划分节点过多可能造成过拟合),即类别太多时,泛化误差高,一般需要剪枝处理。
决策树分类
构建一颗决策树主其实是一个递归的过程,每一层主要需要以下两步:
(1)确定当前节点有无继续划分的需要,不需要划分,则确定当前节点所属类别(或标签)
(2)如果需要划分确定最佳划分属性,继续生成子树
参考《机器学习实战》代码,每一个函数的作用都写了注释
from math import log
import operator
#训练数据,用于创建决策树
def createDataSet():
dataSet = [[1,1,'yes']