数据集中经常包含一些复杂的相互关系,使得输入数据和目标变量之间呈现非线性关系。对这些复杂的关系建模,一种可行的方式是使用树来对预测值分段,包括分段常数或分段直线。一般采用树结构来对这种数据建模。相应地,若叶节点使用的模型是分段常数则称为回归树,若叶节点使用的模型是线性回归方程则称为模型树。
CART算法可以用于构建二元树并处理离散型或连续型数据的切分。若使用不同的误差准则,就可以通过CART算法构建模型树和回归树。该算法构建出的树会倾向于对数据过拟合。一棵过拟合的树常常十分复杂,剪枝技术的出现就是为了解决这个问题。两种剪枝方法分别是预剪枝(在树的构建过程中就进行剪枝)和后剪枝(当树构建完毕再进行剪枝),预剪枝更有效但需要用户定义一些参数。
Tkinter是Python的一个GUI工具包。虽然并不是唯一的包,但它最常用。利用Tkinter,我们可以轻松绘制各种部件并灵活安排它们的位置。另外,可以为Tkinter构造一个特殊的部件来显示Matplotlib绘出的图。所以,Matplotlib和Tkinter的集成可以构建出更强大的GUI,用户可以以更自然的方式来探索机器学习算法的奥妙。
本章是回归的最后一章,希望读者没有错过。接下来我们将离开监督学习的岛屿,驶向无监督学习的未知港湾。在回归和分类(监督学习)中,目标变量的值是已知的。在后面的章节将会看到,无监督学习中上述条件将不再成立。下一章的主要内容是k均值聚类算法。