Code前端首页关于Code前端联系我们

SLIQ算法流程:【数据挖掘课程笔记】

terry 2年前 (2023-09-27) 阅读数 63 #数据结构与算法

1.数据结构

SLIQ算法过程:[数据挖掘课程笔记]

主要数据结构有: 1.属性列表 2.类列表

对于一个数据集,每个属性都有一个对应的属性列表。如上图所示,每个属性列表有两列,分别是对应的属性值和类列表中的记录索引。根据不同的索引值,可以获得记录的类别标签。对于连续属性,必须编辑属性列表。

对于类列表,存储的是每条记录对应的类标号以及该记录所在的当前叶子节点。类列表必须位于内存中。

2。算法过程

基尼指数:如果数据集D有n个不同的类,则:

SLIQ算法过程:[数据挖掘课程笔记]

在属性A下,将数据集拆分为D1和D2,则:

SLIQ算法过程:[数据挖掘课程笔记]

基尼获取定义:

SLIQ算法过程:[数据挖掘课程笔记]

SLIQ算法过程:[数据挖掘课程笔记]

算法思路:扫描所有属性列表。对于每个不同的属性列表,从上到下扫描并计算除当前记录得到的基尼利润。由此可见基尼最大功绩的特点和区别。

从上到下扫描属性列表时,必须使用另一种数据结构——类直方图。类直方图的行按点的左侧和右侧划分,列代表不同的类。如上图所示,当算法检查工资单中的第一条记录时,它首先根据索引找到当前记录所属的叶节点。我们可以看到,当salary = 15时,这条记录属于节点N2。当前节点N2有两条记录。直方图类初始化时,默认不分割这两条记录。因此,节点N2中有两条记录,即索引值为1和索引值为2的记录,从类列表中可以看出,这两条记录分别属于G类和B类。当算法

扫描记录salary=15,实际上是在节点N2上进行了一次试分割。 N2 中工资

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门