火山引擎工具技术分享:用 AI 完成数据挖掘,零门槛完成 SQL 撰写
更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群
文 / DataWind 团队封声
在使用 BI 工具的时候,经常遇到的问题是:“不会 SQL 怎么生产加工数据、不会算法可不可以做挖掘分析?”而专业算法团队在做数据挖掘时,数据分析及可视化也会呈现相对割裂的现象。流程化完成算法建模和数据分析工作,也是一个提效的好办法。
同时,对于专业数仓团队来说,相同主题的数据内容面临“重复建设,使用和管理时相对分散”的问题——究竟有没有办法在一个任务里同时生产,同主题不同内容的数据集?生产的数据集可不可以作为输入重新参与数据建设?
DataWind 可视化建模能力来了
由火山引擎推出的 BI 平台 DataWind 智能数据洞察,推出了全新进阶功能——可视化建模。
用户可通过可视化拖、拉、连线操作,将复杂的数据加工建模过程简化成清晰易懂的画布流程,各类用户按照所想即所得的思路完成数据生产加工,从而降低数据生产获取的门槛。
画布中支持同时构建多组画布流程,一图实现多数据建模任务的构建,提高数据建设的效率,降低任务管理成本;另外,画布中集成封装了超过 40 种数据清洗、特征工程算子,覆盖初阶到高阶的数据生产能力,无需 Coding 完成复杂的数据能力。
零门槛的 SQL 工具
数据的生产加工是获取及分析数据的第一步。
对于非技术使用者来说,SQL 语法存在一定使用门槛,同时本地文件无法定时更新,导致看板每次都需要手动重做。获取数据所需的技术人力往往需要排期,数据的获取时效及满足度大大打折,因此使用零代码的数据建设工具变得尤为重要。
下方列举两个典型场景,零门槛完成数据处理在工作中是如何应用的。
【场景 1】所想即所得,可视化完成数据处理过程
在产品运营迭代急需不同数据的及时输入反馈时,可以抽象数据的处理过程,通过可视化建模拖拉算子构建数据处理过程。
如要获取按照日期、城市粒度的订单数及订单金额,并获取每日 Top10 消耗金额数据的城市数据,操作如下:
【场景 2】多表快速结合,轻松解决多数据关联计算
在数据处理过程中,有多个数据源需要进行组合使用,常规通过 Excel 需要掌握高阶 Vlookup 等算法有些难度,且耗时长。同时数据量较大时,电脑性能可能没办法完成数据的组合计算。
如有两份数据量比较大的订单数据和一份客户属性信息表,需要根据账单金额和成本金额计算利润金额,然后按照利润贡献高低取 Top100 的用户订单信息。
AI 数据挖掘,不再高不可及
当基础的数据清洗已经没办法满足数据建设和数据分析,需要 AI 算法加持去挖掘数据更多隐藏的价值时。算法团队同学可能苦于无法很好与可视化图表联动使用,没办法生产好的数据快速被应用;而普通用户可能直接被 AI 代码的高门槛直接压灭了这个算法的苗头——提需求又怕需求太浅、价值无法很好评估输出,此时算法挖掘成为了一种奢望。
DataWind 的可视化建模封装了超过 30 类常见的 AI 算子能力,用户仅需了解算法的作用可以通过配置化的方式配置算法算子的输入和训练目标即可完成模型训练,根据配置的其他数据内容快速得到预测结果。
特征工程算子(13)
机器学习算子(22)
自然语言处理算子 (3)
AI 算子参数配置
AI 模型训练效果
下方将以两个典型场景为例,看不写 Python 如何完成数据挖掘。
【初阶】不会 Python 也可做数据挖掘
用户日常工作基本不涉及写 Python,但存在做数据挖掘的需求场景。他需要基于存量高意向客户样本做客户意向度挖掘。此时可通过可视化建模构建数据挖掘流程:
拖入样本数据和全部数据作为数据输入
拖入分类算法,如 XGB 算法用于模型训练
拖入预测算子,搭建模型与全部数据的关系进行预测
实际数据和预测结果结合输出数据集,从而分析全部用户数据的意向分布
【高阶】不写 Python 也可构建复杂算法模型
用户需要根据现有数据,构建一个用户回购模型。在模型搭建中需要经过数据清洗、格式转换之后采用梯度提升树构建预测模型,此时可以根据可视化建模构建回购模型流程:
合并行:将 n 个算子(图中的长方形)输出数据表根据一致的表头合并成一张总的数据表,用户销售数据没有增删新属性时此处不用改动。
缺失值替换:属性列存在空值(null)时,会影响后续模型计算,使用替换缺失值算子可以将空值替换为指定默认值,用户销售数据没有增删新属性时此处不用改动。
one-hot 编码: 文本类型的属性无法直接被模型训练使用,需要 one_hot 编码成数字向量例如:
梯度提升树:负责拟合训练数据,输出一个可以用于预测的模型(图中没有标注的参数不需要维护人员修改):
聚合_1:去除预测数据中的重复项,取最大概率。
提取字段:提取必要的 label 和概率值输出。
多场景、多任务建设,管理不再分散
作为数据分析师,日常也会有很多构建数据集、搭建数据看板的工作。但通常从数仓获取的底表会是一张宽表,在此基础之上,根据不同的场景需求搭建不同的数据集任务。
在后续的使用时,常常会遇到类似的的数据集越来越多,但具体逻辑又无法很好的对比确认。此时,如果所有数据集逻辑在一个数据集里面配置生成,每个数据集通过任务流程就可以判断和定义应用就好了。
针对这一场景,DataWind 的可视化建模能力也可以很好的完成。可视化建模功能支持单一数据集同时被多种逻辑处理加工生成多个数据集。以处理订单数据和用户数据为例:
有用户想看订单的统计数据,那么可以搭建订单统计数据集的数据处理流程;
有用户就想看明细数据,但是需要对明细字段进行加工清洗,这时可以构建订单明细表数据集的处理流程;
有些用户又想结合用户属性去统计用户的订单分布,那么构建多表关联结合指标聚合生成完成用户订单统计数据集;
同样逻辑可以生成多表关联下的用户订单明细数据集。
由此,通过一个任务、两个数据输入完成了 4 个数据集的生成,4 个数据集可以构建一个数据主题域,后续相关数据使用均可从此任务输出的数据集进行使用。
关于我们
火山引擎智能数据洞察 DataWind
火山引擎智能数据洞察 DataWind 是一款支持大数据明细级别自助分析的增强型 ABI 平台。从数据接入、数据整合,到查询、分析,最终以数据门户、数字大屏、管理驾驶舱的可视化形态呈现给业务用户,让数据发挥价值。
火山引擎工具技术分享:用 AI 完成数据挖掘,零门槛完成 SQL 撰写的更多相关文章
- UWP 手绘视频创作工具技术分享系列 - 全新的 UWP 来画视频
从2017年11月开始,我们开始规划和开发全新的来画Pro,在12月23日的短视频峰会上推出了预览版供参会者体验,得到了很高的评价和关注度.吸取反馈建议后,终于在2018年1月11日正式推出了全新版本 ...
- UWP 手绘视频创作工具技术分享系列
开篇先来说一下写这篇文章的初衷. 初到来画,通读了来画 UWP App 的代码,发现里面确实有很多比较高深的技术点,同时也是有很多问题的,扩展性,耦合,性能,功能等等.于是我们决定从头重构这个产品,做 ...
- UWP 手绘视频创作工具技术分享系列 - SVG 的解析和绘制
本篇作为技术分享系列的第一篇,详细讲一下 SVG 的解析和绘制,这部分功能的研究和最终实现由团队的 @黄超超 同学负责,感谢提供技术文档和支持. 首先我们来看一下 SVG 的文件结构和组成 SVG ( ...
- UWP 手绘视频创作工具技术分享系列 - Ink & Surface Dial
本篇作为技术分享系列的第四篇,详细讲一下手绘视频中 Surface Pen 和 Surface Dial 的使用场景. 先放一张微软官方商城的图,Surface 的使用中结合了 Surface Pen ...
- UWP 手绘视频创作工具技术分享系列 - 手绘视频与视频的结合
本篇作为技术分享系列的第三篇,详细讲一下手绘视频中结合视频的处理方式. 随着近几年短视频和直播行业的兴起,视频成为了人们表达情绪和交流的一种重要方式,人们对于视频的创作.编辑和分享有了更多的需求.而视 ...
- UWP 手绘视频创作工具技术分享系列 - 文字的解析和绘制
本篇作为技术分享系列的第二篇,详细讲一下文字的解析和绘制,这部分功能的研究和最终实现由团队共同完成,目前还在寻找更理想的实现方式. 首先看一下文字绘制在手绘视频中的应用场景 文字是手绘视频中很重要的表 ...
- UWP 手绘视频创作工具技术分享系列 - 有 AI 的手绘视频
AI(Artificial Intelligence)正在不断的改变着各个行业的形态和人们的生活方式,图像识别.语音识别.自然语言理解等 AI 技术正在自动驾驶.智能机器人.人脸识别.智能助理等领域中 ...
- UWP 手绘视频创作工具技术分享系列 - 位图的绘制
前面我们针对 SVG 的解析和绘制做了介绍,SVG 是图片的一种形式,而另一种很重要的图片是:位图,包括 png.jpeg.bmp 等格式.位图的基本规则是,组成的基本元素是像素点,由宽度 * 高度个 ...
- UWP 手绘视频创作工具技术分享系列 - 手绘视频导出
手绘视频最终的生成物是视频文件,前面几篇主要讲的是手绘视频的创作部分,今天讲一下手绘视频的导出问题.主要以 UWP 为例,另外会介绍一些 Web 端遇到的问题和解决方法. 如上所述,手绘视频在创作后, ...
- 火山引擎 A/B 测试产品——DataTester 私有化架构分享
作为一款面向 ToB 市场的产品--火山引擎A/B测试(DataTester)为了满足客户对数据安全.合规问题等需求,探索私有化部署是产品无法绕开的一条路. 在面向 ToB 客户私有化的实际落地中,火 ...
随机推荐
- DNS 服务 docker-bind 的部署使用
前言 前面使用 nginx 代理转发了几个域名到服务器,但是每次添加一个域名都需要在客户端添加一行 hosts 文件,无疑是繁琐的,其中也提到可以使用 DNS 来实现自动解析域名 到指定服务器的功能, ...
- 7z 一键压缩备份
该批处理已开源 开原地址: 点击进入 磁盘备份 工具有很多,如果你需要增量式备份的话,以下这些方法并不适合你.goodsync 可以了解一下. 以下方式仅适用于,懒人一键压缩备份. 对于我来说 定期的 ...
- git如何使用?初始化仓库 提交代码
首先 国内一般使用码云 注册码云 在ui界面创建仓库 一般只有一个readme 方法一: 第一步 git clone https://gitee.com/用户个性地址/HelloGitee.git ...
- 动态规划——提高Ⅴ(DP优化)
单调队列优化DP 其实单调队列就是一种队列内的元素有单调性(单调递增或者单调递减)的队列,答案(也就是最优解)就存在队首,而队尾则是最后进队的元素.因为其单调性所以经常会被用来维护区间最值或者降低DP ...
- JAVAweek7
本周学习[函数][数组] 什么是函数: 函数就是定义在类中的具有特定功能的一段独立小程序.函数也称为方法. 函数的格式: ·修饰符 返回值类型 函数名(参数类型 形式参数) { 执行语句: retur ...
- liunx系统sed命令使用
增 sed '$行数i 新增内容' 文件名在文件里某行上面新增内容 sed '$行数a 新增内容' 文件名在文件里某行下面新增内容 -i.bak对源文件进行修改并备份修改之前源文件 #在文件里第5行上 ...
- idea用不了 idea.bat文件闪退
由于idea的智能,在破解之后会留下一些问题,根据网上搜出来的解决办法. 1.C:\Users\dell\AppData\Roaming\JetBrains\IntelliJIdea2022.2 在这 ...
- 解决GET http://192.168.41.103:9528/sockjs-node/info?t=1678639328658 net::ERR_CONNECTION_TIMED_OUT
问题现象 解决办法 找到依赖/node_modules/sockjs-client/dist/sockjs.js注释掉下面的一行代码
- 【笔记整理】request模块基本使用
基本使用 发送get请求.获取响应各种请求.响应信息 def fun1(): url = "http://www.baidu.com" resp = requests.get(ur ...
- lca 学习笔记
定义 最近公共祖先简称 \(LCA\) 两个节点的最近公共祖先,就是这两个点的公共祖先里,离根最远的的那个 为了方便,我们记某点集 \(S={v1,v2,...,vn}\) 的最近公共祖先为 \(LC ...