决策树基础—直观理解
决策树基础—直观理解
看完这个,一定要借着看下一篇的^ - ^内容太多,分开写了!!!
决策树,既可以做回归任务,也可以做分类任务
对于决策树,我们要掌握以下内容
- 信息熵
- 决策树
- 决策树优化
- 决策树的可视化
决策树直观理解
我们先看一个例子,来直观的理解以下什么是决策树?
首先,我有这样一批数据。
现在,我们要对这些数据训练出一个分类任务的算法模型,根据特征是否拥有房产,婚姻状态,年收入信息判断是否具有偿还债务的能力从而进行贷款释放。当然你可以用KNN算法模型来对这些数据进行训练,
这里我们用一颗树形结构来对样本特征进行训练,得到我们想要的结果,其实很简单,我们构建一颗如下树形结构,类似于只做判断:
当构建好一个判断模型后,新来一个用户后,可以根据构建好的模型直接进行判断,
比如新用户特性为:
(无房产、单身、年收入55K)
那么可以很快的根据判断得出该用户无法进行债务偿还。
这个时候发现,实际上决策树树对新数据的处理就相当于:
if:
else:
if:
else:
if:
else:
思考:
-
对于这个模型,我们只能构建如上的树的吗?
当然不是,我们不一定要用年收入作为根节点啊,还可以用是否拥有房产,或者婚姻状况,都可以啊。不管我们用那个特征作为根节点,做种叶子节点都是可以得到是“否可以偿”还这一结果 -
那么若果我们用“是否拥有房产”这个特征作为根节点,进行树的构建,得到的树与上边的树相比有什么不同?
答案:
这样的构建的树,树的广度会很大(复杂),进行的判断会更对。我们肯定希望进行最少次的判断,就得到了我们想要的结果 -
怎样才可以得到一课最简单的树?
-
用这样的树做决策任务(训练数据),是不是可以达到100%的准确?
是可以的 -
达到100%准确的后果,说明什么问题?
模型过于复杂,过拟合了 -
怎么解决这种过拟合
呆着这些问题我们接着看。