机器学习之-回归树-具体怎么实现及应用

1、连续和离散型特征的树的构建:

用字典来存储树的数据结构,包含4个元素:

a)待切分的特征

b)待切分的特征值

c)右子树。当不再需要切分的时候,也可以是单个值。

d)左子树。与右子树类似。

//2017/6/6

1、CART(classification and regression trees,分类回归树),可以用于分类和回归,值得学习。

2、模型树算法:

与回归树的做法(在每个叶节点上使用各自的均值做预测)不同,该算法需要再每个节点上都构建出一个线性模型。

3、ID3算法的优缺点:

ID3的做法每次选取当前最佳的特征来分割数据,并按照该特征的所有可能取值来切分,一旦切分后,该特征将不再起作用,因此有观点认为这种切分方式过于迅速。

另外:ID3算法不能直接处理连续型特征,只有事先将连续型特征转为离散型,才能在ID3算法中使用。

4、如何计算连续型数据的混乱度?

计算均值,求每条数据到均值的差值(平方值或绝对值)。

//2017/6/8

1、Python交互式GUI:Tkinter

由一些小部件(widget)组成:文本框、按钮、标签、复选框等对象。

还有一些布局管理器:grid()就是把部件放在一个二维表格中,可以设定部件在二维表格中的位置,从(0,0)位置开始。

Tk()用于创建根部件。

可以使用grid()方法,设置columnspan和rowspan的值告诉布局管理器是否允许一个小部件跨行或者跨列。

一些新的部件:文本输入框、复选框按钮、按钮整数值等

还可以设定按钮整数值:IntVar()

可以通过在entry部件上调用.get()方法得到输入框的值。

scatter()方法构建的是离散型散点图,而plot()方法则构建连续曲线。

//2017/6/9

1、如何使用?

本质就是对数据的各个特征按照其不同的特征值进行切分,切分得到的叶节点对应类别标签,对于叶节点一种是用一个单个值来表示,一种是用一个线性方程来表示。

过程:

加载数据(训练数据,最后一列表示标签)

递归调用创建回归树函数:每次从当前数据集选择最好的切分位置,找到之后,进行二元切分,然后对切分得到的两个数据集分别调用回归树创建函数。(其中选择最好的切分位置的方法就是利用切分得到的叶节点与实际标签进行比对——差值的平方或绝对值)

剪枝:为了防止过拟合,可以进行预剪枝和后剪枝,预剪枝就是自己给定一些参数,而后剪枝就是将数据分为训练集和测试集,利用测试集的数据对已构建的回归树进行从叶节点向上的合并(剪枝)。

以上就是回归树的建立。

对于模型树其实就是将回归树中叶节点表示为一个线性函数就可以了:x*a+b=y。

你可能感兴趣的:(读书笔记,机器学习)