子集筛选(Select by Data Index)组件研究
版本:Orange3.38.1
作者:erichoo
时间:2025.6.15 9:00-2025.6.15 16:00
地点:重庆市江津区
文章目录
- 1 背景知识
- 2 功能详解
- 3 实例
- 3.1 主成分分析
- 3.2 散点图
- 3.3 子集筛选
- 4 总结
1 背景知识
在数据挖掘过程中,同源数据常因分析目标差异走上不同处理路径。后续若想基于行标识,从不同路径处理后的结果里精准筛选关联数据子集,Select by Data Index 组件就能满足这一需求。 本文后续把Orange软件的Select by Data Index 组件翻译为子集筛选组件。
子集筛选组件的核心逻辑是:接入“Data”(主数据集,可经特定路径处理 )和“Data Subset”(子数据集,经另一路径处理 ),二者需同源。组件依据行标识从Data里挑出与Data Subset行标识匹配的记录。哪怕数据在不同路径中经历变量替换、特征变换,行标识也能锁定数据行身份,保障筛选精准关联。
子集筛选组件的典型应用场景如下:
- 特征工程后的数据对齐
做特征工程时,对原始数据集的部分变量做变换得到处理后新变量,形成新的数据集,然后还需原始数据集中筛选出新数据集行匹配的数据,保障后续建模数据一致。比如电商用户行为分析,原始数据集有浏览时长、点击量等变量,通过分析后,生成浏览时长等级、点击活跃度等新特征,后续又需对齐原始表其他维度数据,用于用户画像。 - 多步骤分析的数据衔接
数据挖掘流程里,先对全量数据进行维度压缩、抽样、清洗得到中间子集,后续需用原始全量数据中对应行的更多维度信息深化分析。如医疗数据分析,先从患者全量数据做初步疾病特征筛选,形成中间子集,再用子集筛选组件找回全量数据中对应患者的基因、病史等完整信息做诊断模型构建。 - 跨算法结果整合验证
针对同一训练数据集采用不同算法进行分析,会产生多份带有行标识的预测结果表。子集筛选组件可以将不同算法的预测结果与原始数据特征整合,从而比较不同算法的效果。例如在营销场景下,对比随机森林和支持向量机两种算法对高潜力客户的预测差异,并结合客户年龄、消费频次等原始特征,交叉验证预测准确性,为营销策略制定提供更全面的依据。 - 异常检测与原始数据溯源
对数据集进行异常检测后,会得到标记异常样本的子集,但这些样本在原始数据中的完整信息对定位异常原因至关重要。利用子集筛选组件,可从原始全量数据中筛选出与异常样本子集行标识匹配的记录,回溯异常数据的完整上下文。例如在网络安全分析中,先通过孤立森林算法识别出疑似攻击行为的样本,再用组件找回原始网络流量日志中对应行的详细数据(如IP地址、请求时间、协议类型),帮助安全人员快速定位攻击来源与特征。
2 功能详解
子集筛选的功能配置界面如下图:
以下按照标红数字编号,依此介绍每一个组件功能:
- Data rows keep …
此组件并无任何配置功能,只有一段文本描述该组件的功能。该段文本的意思是:数据行保留其身份,即便部分或全部原始变量被替换;该组件接收两个可追溯至同一数据源的数据表(“Data” 和 “Data Subset” ),并基于行身份(而非实际数据内容 )从 “Data” 中选出所有在 “Data Subset” 里出现的行。 - 输入数据集概况
输入数据集用竖线分割Data与Data Subset的概况。如上图中的“150|3”,表示Data数据集150个实例,Data Subset数据集3个实例。 - 输出数据集概况
输出数据集用竖线分割Matching Data、Unmatched Data、Annotated Data三个数据集的概况,分别代表匹配数据、未匹配数据、标注数据。标注数据中,增加一个Selected列,通过YES/NO两个值来标识改行是否得到子集匹配。如上图中的“3|147|150”代表匹配数据3个实例、未匹配数据147个实例、标注数据150个实例。
3 实例
本实例以Iris数据集为来源,通过主成分分析与散点图,筛选样本,然后通过子集筛选组件,找回原始样本特征。ows文件如下图所示:
3.1 主成分分析
主成分分析选择了2个主成分,得到了150个实例、3个变量的Transformed Data数据集。详情如下图:
3.2 散点图
选择PC1、PC2两个变量来绘制Transformed Data数据集的散点图,并选择其中的部分样本,形成3个实例、4个变量的Selected Data数据集。
3.3 子集筛选
将原始Iris数据集作为Data,将3.2节得到的Selected Data数据集作为Data Subset,配置子集筛选组件,得到结果如下图:
点击输出数据集按钮,可以看到Matching Data、Unmatched Data、Annotated Data三个数据集的详情,如下图所示:
可以倒查出Selected为Yes的行号分别为24、86、123。下图为这三个样本的主成分分析与对应的原始数据对比情况:
4 总结
本文聚焦 Orange软件的Select by Data Index组件,介绍其子集筛选功能,并通过Iris数据集的主成分分析实例,展示了子集筛选组件在特征对齐场景下的应用。
示例ows文件已经传入gitee,路径地址为:
https://gitee.com/erichoocq/ai-erichoo-open/tree/master/Orange/samples
文件名称为:
test_select_by_index.ows