当前位置: 首页 > news >正文

Select Rows组件研究

版本:Orange3.38.1
作者:erichoo
时间:2025.4.25 9:00-2025.5.6 17:00
地点:重庆市江津区

文章目录

  • 1 背景知识
  • 2 功能详解
  • 3 条件类型
  • 4 实例
    • 4.1 日期类型
    • 4.2 数字类型
    • 4.3 文本类型
    • 4.4 标称类型
  • 5 总结

1 背景知识

在数据挖掘领域中,在数据挖掘领域中,Select Rows组件作为数据预处理过程中的核心工具,用于基于特定条件对数据集中的样本进行筛选和提取,又称为数据样本筛选或样本选择。该组件在数据挖掘过程中发挥着关键作用,适用于以下典型场景:

  • 精准样本子集提取:原始数据集往往包含大量样本,其中部分样本可能与分析目标无关,或存在数据质量问题(如数据缺失严重、存在异常值等)。通过Select Rows组件,可依据条件筛选出符合需求的样本子集,去除干扰数据,使分析聚焦于有效样本。例如,在客户消费行为分析中,数据集中包含各群体消费样本,若仅需分析高消费客户行为,可通过Select Rows组件设置消费金额阈值,提取符合条件的样本,实现精准分析。
  • 数据清洗与异常处理:现实数据中常存在异常样本或错误样本,这些样本会影响模型训练和分析结果的准确性。利用Select Rows组件,可设置条件识别并剔除异常样本,或单独提取异常样本进行深入分析。如在气象数据集中,个别温度样本出现明显偏离正常范围的数值,使用Select Rows组件筛选出这些异常样本,有助于提升数据质量,保证后续分析的可靠性。
  • 动态样本探索与分析:在数据探索阶段,需从不同角度观察数据。Select Rows组件支持灵活设置筛选条件,快速生成不同样本子集,方便研究人员对比分析。如在电商销售数据中,通过该组件筛选不同时间段、不同地区的销售样本,对比销售趋势和区域差异,为商业决策提供依据。
  • 适配特定任务需求:不同的数据分析和建模任务对数据有不同要求。Select Rows 组件可根据任务需求筛选合适的样本,如在时间序列分析中,选择特定时间范围内的样本;在预测模型中,筛选出符合某些特征组合的样本用于特征工程或模型解释,帮助研究人员更好地理解数据与模型决策之间的关系,提高模型训练和分析的针对性。

2 功能详解

Orange软件中的Select Rows组件功能配置如下图所示:
在这里插入图片描述
以下按照标红数字编号,依此介绍每一个组件功能:

  1. Conditions:条件编辑区,通过子控件5、6、7三个按钮控制筛选条件的增加删除,通过内部的表格控件展示/编辑所有筛选条件(每一个条件右侧的X按钮可以删除该条件)。
  2. 要素:选择筛选条件作用的目标列。
  3. 条件:选择目标列的条件类型。根据目标列的类型,可以选择的条件各不相同。为保证叙述的连贯性,条件类型详情在下一节介绍。
  4. 阈值:设置与条件配套的参考值。涉及区间的条件类型,例如is between/is outside,要设置两个参考值(下文以左右区分二者),其他都只需要设置一个参考值。
  5. Add Condition:增加一个新的条件。
  6. Add All Variables:添加所有变量/列。点击后,如果子控件1的内容不为空,则系统会弹出警告(This will replace the existing filters with filters for all variables),提醒用户现有条件将全部被替换,如果点击OK按钮,则所有现有内容清空,每一个列都会增加一个条件。
  7. Remove All:清空所有条件。此按钮需谨慎,一旦点击,系统无如何确认对话框,直接删除所有条件编辑区内容。
  8. Remove unused values and constant features:删除未用值与常量要素。对于标称类型的可选值集合,如果不存在任何样本赋予该值,那么该值被认定为unused,类型的可选值将被重新定义;如果某个列的所有样本值都一样,那么被认为是常量要素,被删除。
  9. Remove unused classes:删除未用分类。对于数据分析中的分类任务,目标类型的可选值集合中,如果不存在任何训练样本赋予该值,那么该值被认定为unused,被删除。
  10. 自动更新:如果勾选,将在条件变化时自动更新并发送输出数据。否则,需要手动点击发送。
  11. 样本概况:通过三个数字来表示输出的概况。第一个数字代表Matching Data,即满足筛选条件的样本总数,示例图中为4617;第二个数字代表Unmatched Data,即不满足筛选条件的样本总数,示例图中为1046;第三个数字代表AnnotatedData,即标记输出样本(比输入样本增加了一个列Selected代表是否选中),示例图中为5663。

3 条件类型

Orange中的变量,一共包括日期、数值、文本、标称四个类型,分别解释如下:

  • 日期类型,列图标为T,代表Time,源代码中类别为TimeVariable
  • 数值类型,列图标为N,代表Numeric,源代码中类别为ContinuousVariable
  • 文本类型,列图标为S,代表String,源代码中类别为StringVariable
  • 标称类型,列图标为C,代表Category,源代码中类别为StringVariable

下面详细介绍在Select Rows组件的条件子控件3中,每一个变量类型可以有哪些选择。

  1. 日期&数值
    日期类型数值类型的选择条件一致,包括如下几种:
  • equals,相等,即字段值等于参考值的样本被选择。
  • is not,不等于,即字段值不等于参考值的样本被选择。
  • is below,之下,即字段值小于参考值的样本被选择。
  • is at most,不超过,即字段值小于等于参考值的样本被选择。
  • is greater than,大于,即字段值大于参考值的样本被选择。
  • is at least,至少,即字段值大于等于参考值的样本被选择。
  • is between,介于,即字段值大于等于左参考值并且小于等于右参考值的样本被选择。
  • is outside,之外,即字段值小于左参考值或者大于右参考值的样本被选择。
  • is defined,定义,即字段值非缺失的样本被选择。
  1. 文本
    文本类型的选择条件包括如下几种:
  • equals,相等,即字段值等于参考值的样本被选择。
  • is not,不等于,即字段值不等于参考值的样本被选择。
  • is before,在前面,即字段值小于参考值的样本被选择。由于Orange编程语言为python,所以字符串的小于操作,就是按照字典序排在前面者。字典序可以这样理解:从字符串的第一个字符开始,依次比较两个字符串对应位置的字符。若两个字符不同,那么具有较小 Unicode 编码值的字符所在的字符串就被判定为较小,若一个字符串是另一个字符串的前缀,那么较短的字符串被认为较小。
  • is equal or before,在前面或者相等,即字段值小于等于参考值的样本被选择。
  • is after,在后面,即字段值大于参考值的样本被选择。
  • is equal or after,在后面或者相等,即字段值大于等于参考值的样本被选择。
  • is between,介于,即字段值大于等于参考值并且小于等于最大值的样本被选择。
  • is outside,之外,即字段值小于参考值或者大于最大值的样本被选择。
  • contains,包含,即字段值包含参考值的样本被选择。
  • does not contain,不包含,即字段值不含参考值的样本被选择。
  • begins with,以开头,即字段值前缀为参考值的样本被选择。
  • does not begin with,未以开头,即字段值前缀不为参考值的样本被选择。
  • ends with,以结尾,即字段值后缀为参考值的样本被选择。
  • does not end with,未以结尾,即字段值后缀不为参考值的样本被选择。
  • is defined,定义,即字段值非缺失的样本被选择。
  • is not defined,未定义,即字段值缺失的样本被选择。
  1. 标称
    标称类型的选择条件包括如下几种:
  • is,是,即字段值等于参考值的样本被选择。
  • is not,非,即字段值不等于参考值的样本被选择。
  • is one of,是一种,即字段值包含于参考值集合的样本被选择。
  • is defined,定义,即字段值非缺失的样本被选择。

4 实例

本实例通过某上市公司历史股价数据的筛选,来演示四个类型的样本选择过程。ows文件如下图:
在这里插入图片描述

4.1 日期类型

日期类型配置,如下图所示:
在这里插入图片描述
通过日期的条件,选择了2005年后非2008年的样本,避开了2008年金融危机数据以及2005年以前股价波动较小的样本,总共得到满足条件的样本数为4617。

4.2 数字类型

数字类型的配置,如下图所示:
在这里插入图片描述
实例中首先增加了一个涨幅列,该列定义为最高价/开盘价,然后在过滤条件中,设置为涨幅在8%以上的样本,总共得到满足条件的样本数为32。

4.3 文本类型

文本类型的配置,如下图所示:
在这里插入图片描述
设置了文本必须大于1.35,且文本中包含6,总共得到满足条件的样本数为4478。

4.4 标称类型

标称类型的配置,如下图所示:
在这里插入图片描述
设置了该列必须有定义,且为多选值之一,总共得到满足条件的样本数为2506。

5 总结

本文以Orange软件中的Select Rows组件为研究对象,阐述其在样本筛选中的作用,详细介绍功能配置,并通过股票历史数据集演示日期、数值、文本、标称四大类型的筛选能力 。示例ows文件已经传入gitee,路径地址为:
https://gitee.com/erichoocq/ai-erichoo-open/tree/master/Orange/samples
文件名称为:
test_select_rows01.ows
参考数据为:
data/guizhou_moutai_stock_data.csv

相关文章:

  • 使用Java和LangChain4j实现人工智能:从分类到生成式AI
  • stm32之输出比较OC和输入捕获IC
  • SQLite数据类型
  • Class AB OPA corner 仿真,有些corenr相位从0开始
  • 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十一讲)
  • 人工智能100问☞第15问:人工智能的常见分类方式有哪些?
  • 2025年软件工程与数据挖掘国际会议(SEDM 2025)
  • Three.js和WebGL区别、应用建议
  • 大模型在宫颈癌诊疗全流程预测与应用研究报告
  • 【免费试用】LattePanda Mu x86 计算模块套件,专为嵌入式开发、边缘计算与 AI 模型部署设计
  • [论文阅读]MCP Guardian: A Security-First Layer for Safeguarding MCP-Based AI System
  • VMware搭建ubuntu保姆级教程
  • NGINX `ngx_http_browser_module` 深度解析与实战
  • 数据中台架构设计
  • 分布式开发:数字时代的高性能架构革命-为什么要用分布式?优雅草卓伊凡
  • IP-Adapter
  • Caffeine快速入门
  • R语言助力森林生态研究:从数据处理到群落稳定性分析的完整流程,结合机器学习与案例写作
  • Kali Linux 安装 Rust 环境简明教程
  • js获取uniapp获取webview内容高度
  • 中国人民银行:5月8日起降息,15日起降准
  • 指挥家高健:东方市民音乐会“高贵不贵”,我愿意常来
  • 丁薛祥在学习《习近平经济文选》第一卷专题研讨班上强调:深入学习贯彻习近平经济思想,加强党中央对经济工作的集中统一领导
  • 印巴矛盾已达近年“最高点”:军政经文全面紧张,巴将向联合国通报局势
  • 莫斯科一机场实施临时限制措施
  • 多地政府机关食堂五一“开门迎客”:怎么看这场“宠粉”大戏