如何找到原始属性的一个好的子集?
属性子集选择通过去除无关或冗余属性(或维度)来减少数据集的大小。属性子集选择的目的是发现一个最小的属性集,使得数据的后续概率分布尽可能接近使用所有属性获得的原始分布。
对于 n 个属性,有 2n 个可能的子集。对属性的最优子集进行穷举搜索可能非常昂贵,特别是当 n 和数据类的数量增加时。因此,通常使用探索减少搜索空间的启发式方法进行属性子集选择。
这些方法通常是贪婪的,因为在搜索属性空间时,它们会不断做出当时看来是好的选择。它们的方法是在希望这将导致全局最优解的情况下,做出局部最优选择。这种贪婪技术在实践中效率很高,并且可以接近计算最优解。
“最佳”和“最差”属性通常使用统计显著性检验来确定,这些检验认为属性彼此独立。可以使用一些不同的属性评估度量,包括用于构建分类决策树的信息增益度量。
属性子集选择的基本启发式方法包括以下技术:
逐步前向选择 - 该过程从一个空属性集作为减少集开始。确定第一个属性中最好的属性,并将其插入到减少集中。在每次后续迭代或步骤中,将剩余的初始属性插入到该集中。
逐步后向消除 - 该过程从完整的属性集开始。在每个阶段,它都会消除集合中剩余的最差属性。
前向选择和后向消除的组合 - 可以将逐步前向选择和后向消除技术混合使用,以便在每个阶段,该过程选择最佳属性并从剩余属性中消除最差属性。
决策树归纳 - 包括 ID3、C4.5 和 CART 在内的决策树算法最初是为分类而设计的。决策树归纳构建一个流程图状结构,其中每个内部(非叶)节点表示对属性的测试,每个分支对应于测试的结果,每个外部(叶)节点表示类预测。在每个节点上,算法选择“最佳”属性将信息划分为单个类。
当决策树归纳用于属性子集选择时,将从给定信息构建一棵树。树中未出现的任何属性都被认为是不相关的。出现在树中的属性组形成减少的属性子集。