助睿实验作业7-2:自媒体运营分析-作品特征构建

1 实验目的

在实验7-1清洗后的数据基础上,使用助睿ETL完成以下两类特征的计算与存储:

· (1)标题特征与互动总数(更新明细表):计算互动总数(total_interaction = likes + favorites + shares + coins);提取5个标题特征标志字段(has_best、has_lowcode、has_practice、has_tutorial、has_pit);将计算结果更新到 content_analysis 表。

· 2)关键词级别的汇总数据:分别计算含每个关键词的作品的平均互动总数;将互动汇总结果输出到 title_feature_analysis 表。

通过本实验,学生应掌握:

· 理解特征工程在数据分析中的核心作用

· 使用助睿ETL"计算器"组件计算衍生指标

· 使用"JavaScript代码"组件完成文本关键词的自动标注

· 使用"插入/更新"组件回填数据,不新建表、不覆盖已有基础数据

· 使用"过滤+聚合"组件组合完成分组统计计算

2 实验环境

实验平台:助睿在线实验平台 https://lab.guilian.cn/

本次实验使用助睿数智(Uniplore)作为一站式数据科学平台。该平台覆盖从数据接入、ETL处理、机器学习建模到可视化展示的全链路零代码功能,适用于数据分析教学与企业数据加工场景。助睿数智官网为 https://www.uniplore.com/

数据处理工具:助睿ETL(数据集成平台)

助睿ETL核心优势:

· 全元数据驱动架构:平台内所有对象类型均通过元数据标准化定义,覆盖数据读取、处理、写入的全流程

· 零代码拖拽式操作:通过可视化方式完成数据的抽取(Extract)、转换(Transform)、加载(Load),无需编写复杂代码

· 丰富的预处理组件:内置筛选、填充、聚合、连接、字段选择等多种转换节点,灵活应对各类数据清洗场景

· Pipeline(转换)机制:面向数据流通处理的核心功能单元,由多个不同功能的Transform步骤组合构成,聚焦数据本身的加工转换操作

· 开源内核高可用引擎:基于开源内核的高可用引擎架构,通过标准化插件体系可灵活扩展引擎能力

本次实验使用的核心组件:

组件

用途

表输入

读取 content_analysis 表中待处理的数据

计算器

计算互动总数(likes + favorites + shares + coins)

JavaScript代码

提取标题中的5个关键词特征标志

插入/更新

按 id 匹配,更新 content_analysis 表中的特征字段

过滤记录 + 聚合

分别统计整体平均值和每个关键词的平均值

增加常量

为每个关键词分支添加名称标识

合并记录

5个关键词的统计结果合并为5

表输出

将互动数据汇总写入 title_feature_analysis 表

3 核心设计思路

本次实验构建两类特征,并将数据更新到实验7-1的 content_analysis 表中:

· 互动总数:likes + favorites + shares + coins,反映作品的用户互动规模(绝对值)

· 标题特征:把标题中是否包含特定关键词提取为0/1标志字段,后续量化对比这些词的实际效果

数据处理流程:

【图1 特征工程数据处理流程图】

image

4 实验步骤

4.1 更新 content_analysis 表(标题特征+互动总数)

步骤1:导入数据

将实验7-1输出的 content_analysis 表作为输入,拖入助睿ETL工作区。助睿ETL支持跨项目引用数据集,可直接选择实验7-1输出的结果表。

步骤2:提取标题特征(核心分析维度)

在"JavaScript代码"组件中,可以直接使用 JavaScript 代码对 title 字段进行关键词匹配,生成5个标题特征标志字段。

var title = title; // 字段名直接作为变量使用 // 判断关键词 var has_best = title.indexOf("保姆级") !== -1 ? 1 : 0; var has_lowcode = title.indexOf("零代码") !== -1 ? 1 : 0; var has_practice = title.indexOf("实战") !== -1 ? 1 : 0; var has_tutorial = (title.indexOf("教程") !== -1 || title.indexOf("指南") !== -1) ? 1 : 0; var has_pit = title.indexOf("踩坑") !== -1 ? 1 : 0; // 将结果赋值给新字段(输出字段需在字段表中提前定义) has_best = has_best; has_lowcode = has_lowcode; has_practice = has_practice; has_tutorial = has_tutorial; has_pit = has_pit;

【图2 JavaScript代码组件配置截图】

返回值说明:

字段

返回值

条件

has_best

1 / 0

title中含"保姆级"1,否则为0

has_lowcode

1 / 0

title中含"零代码"1,否则为0

has_practice

1 / 0

title中含"实战"1,否则为0

has_tutorial

1 / 0

title中含"教程"或"指南"为1,否则为0

has_pit

1 / 0

title中含"踩坑"为1,否则为0

设计思路:这五个关键词在数据中高频出现,且与"教学价值""实操性"强相关,是分析标题影响力的理想切入点。每个特征独立提取,便于在BI中做分组对比。

步骤3:计算互动总数

接入"计算器"组件,新增 interactions 字段:interactions = likes + favorites + shares + coins

步骤4:数据更新

使用"插入/更新"组件,将计算好的特征数据回填到 content_analysis 表。

关键配置:

配置项

设置

目标表

content_analysis

查询关键字

id(匹配依据)

更新字段

total_interaction, has_best, has_lowcode, has_practice, has_tutorial, has_pit

字段映射:

流字段

表字段

id

id

interactions

total_interaction

has_best

has_best

has_lowcode

has_lowcode

has_practice

has_practice

has_tutorial

has_tutorial

has_pit

has_pit

"插入/更新" vs "表输出"的区别:如果使用"表输出",每次运行都会新增行,导致数据重复。"插入/更新" id 匹配,如果 id 已存在则更新指定字段,如果不存在才插入新行(本例中 id 一定存在,所以只做更新,不新增行)。这样本实验可以反复运行,不会产生重复数据。

步骤5:执行转换流

完整转换流如下,点击运行:

【图3 更新 content_analysis 完整转换流截图】

数据结果:

【图4 content_analysis 更新后数据探查结果】

4.2 输出关键词级别的汇总表

步骤1:创建目标表

在助睿ETL中创建以下目标表用来存储本节最后输出的数据:

字段

类型

说明

id

INT

自增主键

platform

VARCHAR(20)

平台(B站/CSDN)

feature_name

VARCHAR(50)

关键词名称

avg_interaction

DECIMAL(10,2)

含该关键词的平均互动总数

overall_avg

DECIMAL(10,2)

该平台整体平均互动总数

sample_count

INT

含该关键词的作品数

步骤2:计算整体平均互动数

接入"排序记录"、"分组"组件,按 id 升序排序,不设分组条件,直接计算 AVG(total_interaction),得到 overall_avg。

聚合完成后,接入"增加常量"组件,新增字段 feature_name = '保姆级',为这一行数据贴上名称标签,以便用于后续与关键词数据连接。

步骤3:计算关键词的平均互动数

"保姆级"为例,表输入组件复制分发另一条分支,先接"过滤记录"组件,设置 has_best = 1,只保留含"保姆级"的作品。

然后接入"排序记录"、"分组"组件,按 id 升序排序,计算 AVG(total_interaction) 得到 avg_interaction,COUNT(id) 得到 sample_count。

聚合完成后,接入"增加常量"组件,新增字段 feature_name = '保姆级',为这一行数据贴上名称标签。

为什么要加这个常量?因为聚合后的数据只有数值,没有关键词名称。如果不加,5个分支的数据合并后无法区分谁是谁。常量就是给每一行贴上一个"标签",告诉下游"这一行是保姆级的数据"

步骤4:合并整体平均值和关键词平均值

接下来将整体平均值和关键词平均值进行合并,使用"记录集连接"组件,匹配字段为 feature_name,由于2个分支都只有1行数据,所以无需排序。

步骤5:数据入库

"表输出"组件将合并后的数据入库,这里需要注意:不勾选"裁剪表",因为还有其他关键词数据也要入库,不用删除已有数据。

步骤6:执行转换流

一个关键词的互动汇总数据加工转换流如下,点击运行:

【图5 单个关键词互动汇总转换流截图】

查看数据:

【图6 title_feature_analysis 单关键词数据查看截图】

接下来加工其他关键词的数据:

复制粘贴整个分支,然后只修改两处:过滤条件(如 has_lowcode = 1)和常量值(如"零代码")。其他组件配置完全相同。

最后的完整数据情况如下:

【图7 title_feature_analysis 完整数据截图】

5 实验输出

输出表

数据粒度

用途

content_analysis(更新)

作品级

排名、趋势、概况等明细分析

title_feature_analysis(新建)

关键词级

标题特征互动分析

Logo

一站式 AI 云服务平台

更多推荐