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

扩展数据(Concatenate)组件研究

版本:Orange3.38.1
作者:erichoo
时间:2025.5.31 10:00-2025.6.2 16:00
地点:重庆市江津区

文章目录

  • 1 背景知识
  • 2 功能详解
  • 3 实例
    • 3.1 辅数据-全变量
    • 3.2 辅数据-交变量
    • 3.3 主数据-列覆盖
    • 3.4 主数据-非覆盖
  • 4 总结

1 背景知识

数据挖掘过程中,准备样本数据是第一个难点。有时候,我们面临的难点是要素不够,这就需要横向整合多个数据来源,采用拼接的模式充分增强数据维度,Orange软件的合并数据(Merge Data)组件具备此功能;有时候,我们面临的难点是样本量不够,这就需要纵向整合多个数据来源,采用扩展的模式充分增强实例数量,本节研究的扩展数据(Concatenate)组件具备此功能。
总结来看,扩展数据组件主要应用于以下场景:

  • 分段整合
    即按时间维度整合历史数据,形成时序完整的数据集。例如电商平台每日生成订单日志(包括订单 ID、用户 ID、金额、时间等变量),如果需要分析月度销售情况,那么需要整合该月度内所有交易日的订单日志。分段整合场景的典型特征是多段同构,即样本的结构相同但所属时间段不同。
  • 分组整合
    即按业务特征整合多源数据,形成业务完整的数据集。例如零售集团旗下拥有高端品牌、大众品牌、折扣品牌 ,各品牌有各自独立的门店系统,如果需要综合分析零售集团的客户特征,那么需要整合所有品牌的客户数据。分组整合场景的典型特征是多组同构,即样本的结构相同但业务特征不同。
  • 多端整合
    即按应用终端整合移动端、PC端,形成终端完整的数据集。例如社交平台公司同时拥有 iOS 端、Android 端和 PC 端的登录日志,如果需要分析跨设备登录规律(如 用户在手机端晨练时登录,PC 端办公时再次登录的场景),那么就需要整合所有终端的登录样本。多端整合的典型特征是多端同构,即样本的结构相同但采集来源不同。

2 功能详解

Orange软件的Concatenate组件,具备主数据、辅数据两种应用模式。主数据模式的激活,需要设置主数据,此时输出样本变量将以主数据为准;辅数据模式在未设置主数据时自动激活,此时输出样本变量可以选择辅数据变量的交集或者并集。
需要注意的是,Merge Data组件只支持两个输入数据集(Data与ExtraData),Concatenate组件可以支持多个输入数据集,辅数据(Additional Data)可以有多个,主数据(Primary Data)只能有一个。
扩展数据组件的功能配置界面如下图:
在这里插入图片描述
以下按照标红数字编号,依此介绍每一个组件功能:

  1. Variable Sets Merging
    变量集合并。
    此控件只在辅数据模式下可用,用于设置变量集合选择规则(并集/交集)。
  2. all variables that appear in input tables
    并集。
    输出数据集的变量为所有输入数据集变量的并集。
  3. only variables that appear in all tables
    交集。
    输出数据集的变量为所有输入数据集变量的交集。
  4. Use column names from the primary table, and ignore names in other tables.
    主数据列名为准。
    此控件只在主数据模式下可用。如果选中,那么所有辅助数据集按照列位置认定变量名称;如果不选中,那么所有辅助数据集按照列名称认定变量名称,名称不一致者值为缺失。
  5. Treat variables with the same name as the same variable, even if they are computed using different formulae.
    忽略计算函数。
    如果选中,那么同名称的变量只取值而忽略计算函数;否则,名称相同但计算函数不同的变量将被认定为不同变量。
  6. Append data source IDs
    附加数据来源编号。
    如果选中,则在输出数据集中增加一个变量,描述每一个样本的数据源。
  7. Feature name
    如果子控件6选中,则此处可以设置数据源变量的名称。
  8. Place
    变量位置。
    如果子控件6选中,则此处可以设置数据源变量的类型,包括Class、Attribute、Meta三类,分别代表分类属性、一般属性、元属性。
  9. 输入数据集概况
    通过竖线分割的两段,来描述输入数据集,前段表示主数据,后段表示辅数据。例如“- | 7 4” 表示输入主数据未设置、第一个辅数据包括7个实例、第二个辅数据包括4个实例;又如“1 | 3 5” 表示输入主数据包含1个实例、第一个辅数据包括3个实例、第二个辅数据包括5个实例。鼠标停留后,会显示每一个输入数据集的详情。

3 实例

本实例以股价数据为例,展示分段数据整合的场景,并尽量覆盖Concatenate组件的主要功能。ows文件如下图所示:
在这里插入图片描述
该实例通过数据集重命名1-5组件,确定了五个不同时间段的数据集gzmt1-5,各数据集截图如下。

gzmt1gzmt2
gzmt3gzmt4
gzmt5
可以看出,gzmt1数据集独有“最高价”变量,gzmt2、3、5独有“最低价”变量,gzmt4独有“最低价2”变量。 下面依次介绍四个Concatenate组件的配置与输出。

3.1 辅数据-全变量

组件配置如下图:
在这里插入图片描述
从上图中可以看出,输入数据集中,无主数据,有两个辅数据(gzmt1和gzmt2);选中了辅数据的并集模式(all variables that appear in input tables);未选择附加数据源(Append data source IDs)。这种配置下,得到的输出数据集如下:
在这里插入图片描述
从变量集合来看,的确取到了输入数据集的并集,所有输入数据集的独有部分全部涵盖。

3.2 辅数据-交变量

组件配置如下图:
在这里插入图片描述
从上图中可以看出,输入数据集中,无主数据,有三个辅数据(gzmt1、gzmt2、gzmt3);选中了辅数据的交集模式(only variables that appear in all tables);选中了附加数据源(Append data source IDs),并命名该变量为“src-id”,类型选择为Meta。这种配置下,得到的输出数据集如下:
在这里插入图片描述
从变量集合来看,的确取到了所有输入数据集的公有部分,所有输入数据集的独有部分全部丢弃,增加了变量“src-id”,其值为输入数据集名称。

3.3 主数据-列覆盖

组件配置如下图:
在这里插入图片描述
从上图中可以看出,输入数据集中,有主数据(gzmt5),有两个辅数据(gzmt2、gzmt4);选中了主数据列名为准(Use column names from the primary table, and ignore names in other tables.);选中了附加数据源(Append data source IDs),并命名该变量为“src-ID1”,类型选择为Meta。这种配置下,得到的输出数据集如下:
在这里插入图片描述从上图可以看出,虽然输入辅数据gzmt4独有“最低价2”变量,但还是以主数据gzmt5的列名称为准,按照位置匹配了值,将“最低价2”变量的值赋给了“最低价”变量。

3.4 主数据-非覆盖

组件配置如下图:
在这里插入图片描述
从上图中可以看出,输入数据集中,有主数据(gzmt5),有两个辅数据(gzmt2、gzmt4);未选中主数据列名为准(Use column names from the primary table, and ignore names in other tables.);选中了附加数据源(Append data source IDs),并命名该变量为“src-ID2”,类型选择为Meta。这种配置下,得到的输出数据集如下:
在这里插入图片描述
从上图可以看出,输入辅数据gzmt4独有“最低价2”变量未匹配主数据gzmt5的“最低价”变量,而是赋予了缺失值。

4 总结

本文聚焦 Orange软件的 Concatenate 组件,介绍其在数据挖掘中用于纵向整合数据、增强实例数量的功能,适用于分段、分组、多端等多源同构数据整合场景。该组件有主数据和辅数据两种模式,辅数据模式下可选择变量并集或交集,主数据模式下能按主数据列名或位置匹配变量,文中通过股价数据实例展示了不同配置下的输出效果。
示例ows文件已经传入gitee,路径地址为:
https://gitee.com/erichoocq/ai-erichoo-open/tree/master/Orange/samples
文件名称为:
test_concatenate.ows

参考数据的路径地址为:
https://gitee.com/erichoocq/ai-erichoo-open/tree/master/Orange/samples/data
文件名称为:
gzmt_SH600519.csv
guizhou_moutai_stock_data.csv

http://www.xdnf.cn/news/10781.html

相关文章:

  • 《AI Agent项目开发实战》DeepSeek R1模型蒸馏入门实战
  • Python----目标检测(《YOLO9000: Better, Faster, Stronger》和YOLO-V2的原理与网络结构)
  • SystemVerilog—三种线程之间的区别
  • 掌握HttpClient技术:从基础到实战(Apache)
  • IBM 与嘉士伯(Carlsberg)携手推进 SAP S/4HANA 数字化转型,打造啤酒行业新范式
  • Altium Disigner(16.1)学习-元器件封装
  • 从0开始学vue:pnpm怎么安装
  • 【深度学习】实验四 卷积神经网络CNN
  • 【设计模式-3.5】结构型——装饰器模式
  • 网络攻防技术二:密码学分析
  • 从0开始学vue:vue3和vue2的关系
  • VitalInsight智能体检报告解读
  • YOLOv5 :训练自己的数据集
  • SpringBoot(六)--- AOP、ThreadLocal
  • FastAPI安全认证:从密码到令牌的魔法之旅
  • 打卡第34天:MLP神经网络训练
  • 有公网ip但外网访问不到怎么办?内网IP端口映射公网连接常见问题和原因
  • OpenCV4.4.0下载及初步配置(Win11)
  • 【iOS(swift)笔记-14】App版本不升级时本地数据库sqlite更新逻辑二
  • 从 AMQP 到 RabbitMQ:核心组件设计与工作原理(二)
  • 使用 HTML + JavaScript 实现图片裁剪上传功能
  • Java Script函数
  • 操作系统:文件系统笔记
  • 用“红烧鱼”类比说明卷积神经网络CNN的概念
  • docker使用sh脚本创建容器
  • day 43
  • [SC]SystemC语法小结(三)
  • 函数组件和类组件
  • dns的正向解析,反向解析,多项解析,主从配置
  • PCIe—TS1/TS2 、EQ TS1/EQ TS2