Weka中CfsSubsetEval对分类数据集的运行机制及相关系数方向疑问
CFS特征选择相关问题解答
1. WEKA对分类数据集的CFS计算逻辑
皮尔逊相关系数确实要求输入为数值型变量,WEKA的CfsSubsetEval内部已经做了自动转换处理:
- 二分类的类标签(你的案例中是yes/no)会被直接映射为1和0的数值型变量
- 标称型的输入属性会根据取值数量做对应处理:二值标称属性直接映射为0/1,多值标称属性会做哑编码后计算等效相关系数,或采用对称不确定性指标等价替代皮尔逊相关的统计作用,不需要用户手动转换数据格式即可完成评估。
2. 仅筛选出10个属性的原因
该结果和分类数据集类型、样本不平衡都存在关联,核心由CfsSubsetEval的筛选准则决定:CFS优先保留和类标签相关性高、且特征之间相关性低的无冗余特征子集,出现仅10个特征被选中的情况通常有几个原因:
- 剩余60个属性要么和类标签的相关性极低,对分类任务没有增益,要么和已选中的10个属性存在高度共线性,被判定为冗余特征过滤
- 1:9的高度不平衡样本会压低多数属性和类标签的相关性:大部分属性在占比90%的no类和占比10%的yes类中分布差异不明显,计算得到的相关系数达不到入选阈值
- 若你的输入属性中包含大量标称型属性,编码后的相关系数计算规则更严格,只有和分类标签关联极强的属性才会被保留。
3. 皮尔逊相关系数的方向含义
此处的“方向”和向量的空间方向不属于同一概念,指的是两个变量变化趋势的匹配关系:
- 相关系数为正值时,代表变量X上升时,变量Y也倾向于同步上升,二者变化趋势同向,例如“用户月消费额”越高,二分类标签“是否续费”(映射为0/1后)取值为1的概率越高,二者相关系数为正
- 相关系数为负值时,代表变量X上升时,变量Y倾向于同步下降,二者变化趋势反向,例如“用户逾期天数”越多,二分类标签“是否放款通过”取值为1的概率越低,二者相关系数为负
单维度变量本身没有向量属性,但两个变量的联动变化存在同向/反向的差异,这就是相关系数“方向”的实际含义。
内容的提问来源于stack exchange,提问作者Encipher
相关产品推荐
相关产品推荐

