天天看點

火山引擎工具技術分享:用 AI 完成資料挖掘,零門檻完成 SQL 撰寫

作者:位元組跳動技術團隊

在使用 BI 工具的時候,經常遇到的問題是:“不會 SQL 怎麼生産加工資料、不會算法可不可以做挖掘分析?”

而專業算法團隊在做資料挖掘時,資料分析及可視化也會呈現相對割裂的現象。流程化完成算法模組化和資料分析工作,也是一個提效的好辦法。

同時,對于專業數倉團隊來說,相同主題的資料内容面臨“重複建設,使用和管理時相對分散”的問題——究竟有沒有辦法在一個任務裡同時生産,同主題不同内容的資料集?生産的資料集可不可以作為輸入重新參與資料建設?

1.DataWind可視化模組化能力來了

由火山引擎推出的 BI 平台 DataWind 智能資料洞察,推出了全新進階功能——可視化模組化。

使用者可通過可視化拖、拉、連線操作,将複雜的資料加工模組化過程簡化成清晰易懂的畫布流程,各類使用者按照所想即所得的思路完成資料生産加工,進而降低資料生産擷取的門檻。

畫布中支援同時建構多組畫布流程,一圖實作多資料模組化任務的建構,提高資料建設的效率,降低任務管理成本;另外,畫布中內建封裝了超過 40 種資料清洗、特征工程算子,覆寫初階到高階的資料生産能力,無需 Coding 完成複雜的資料能力。

2. 零門檻的 SQL 工具

資料的生産加工是擷取及分析資料的第一步。

對于非技術使用者來說,SQL 文法存在一定使用門檻,同時本地檔案無法定時更新,導緻看闆每次都需要手動重做。擷取資料所需的技術人力往往需要排期,資料的擷取時效及滿足度大大打折,是以使用零代碼的資料建設工具變得尤為重要。

下方列舉兩個典型場景,零門檻完成資料處理在工作中是如何應用的。

2.1 【場景1】所想即所得,可視化完成資料處理過程

在産品營運疊代急需不同資料的及時輸入回報時,可以抽象資料的處理過程,通過可視化模組化拖拉算子建構資料處理過程。

如要擷取按照日期、城市粒度的訂單數及訂單金額,并擷取每日 Top10 消耗金額資料的城市資料,操作如下:

正常資料處理流程 可視化模組化處理流程
  1. 請技術同學拉取訂單的明細資料,包含訂單 id/ 訂單金額/使用者 id/ 訂單日期城市等
  2. 将資料通過透視圖的操作設定行為訂單日期、城市,名額為訂單金額求和、訂單 id 求和
  3. 将透視結果按照金額排序,然後編寫序号
  4. 用篩選器過濾 Top10 的資料
  1. 選擇資料源,選擇庫表或上傳 CSV 檔案或連接配接 LarkSheet
  2. 篩選需要使用的字段資訊,配置自己定義的字段名稱及格式
  3. 選擇聚合算子,按照日期和城市聚合計算訂單量和訂單金額
  4. 選擇 Top 值算子,取 Top10 金額數量
  5. 輸出資料集,資料集可應用到風神中繪制圖表
火山引擎工具技術分享:用 AI 完成資料挖掘,零門檻完成 SQL 撰寫

2.2 【場景 2】多表快速結合,輕松解決多資料關聯計算

在資料處理過程中,有多個資料源需要進行組合使用,正常通過 Excel 需要掌握高階 Vlookup 等算法有些難度,且耗時長。同時資料量較大時,電腦性能可能沒辦法完成資料的組合計算。

如有兩份資料量比較大的訂單資料和一份客戶屬性資訊表,需要根據賬單金額和成本金額計算利潤金額,然後按照利潤貢獻高低取 Top100 的使用者訂單資訊:

正常資料處理流程 可視化模組化處理流程
  1. 需要将兩個訂單資料打開後,Copy 資料合并到一個檔案中
  2. 采用 VloopUp 查找訂單裡使用者和客戶裡使用者資料,然後将兩者資料組合生成新的資料
  3. 采用透視表計算使用者賬單金額和成本金額,然後計算利潤金額
  4. 按照利潤金額排序擷取 TopN 客戶資訊
  1. 可以上傳 CSV 檔案 /LaskSheet 建構資料輸入
  2. 然後可以合并 3 月 /4 月訂單資料為一份資料
  3. 連接配接客戶資訊屬性表,綁定客戶屬性資訊
  4. 選擇聚合,按照客戶具體計算賬單金額和成本金額
  5. 選擇計算列,根據賬單金額和成本金額計算利潤金額
  6. 根據利潤金額排序擷取 TopN 客戶資訊
火山引擎工具技術分享:用 AI 完成資料挖掘,零門檻完成 SQL 撰寫

3. AI 資料挖掘,不再高不可及

當基礎的資料清洗已經沒辦法滿足資料建設和資料分析,需要 AI 算法加持去挖掘資料更多隐藏的價值時。算法團隊同學可能苦于無法很好與可視化圖表關聯使用,沒辦法生産好的資料快速被應用;而普通使用者可能直接被 AI 代碼的高門檻直接壓滅了這個算法的苗頭——提需求又怕需求太淺、價值無法很好評估輸出,此時算法挖掘成為了一種奢望。

DataWind 的可視化模組化封裝了超過 30 類常見的 AI 算子能力,使用者僅需了解算法的作用可以通過配置化的方式配置算法算子的輸入和訓練目标即可完成模型訓練,根據配置的其他資料内容快速得到預測結果。

火山引擎工具技術分享:用 AI 完成資料挖掘,零門檻完成 SQL 撰寫
火山引擎工具技術分享:用 AI 完成資料挖掘,零門檻完成 SQL 撰寫
火山引擎工具技術分享:用 AI 完成資料挖掘,零門檻完成 SQL 撰寫

下方将以兩個典型場景為例,看不寫 Python 如何完成資料挖掘。

3.1 【初階】不會 Python 也可做資料挖掘

使用者日常工作基本不涉及寫 Python,但存在做資料挖掘的需求場景。他需要基于存量高意向客戶樣本做客戶意向度挖掘。此時可通過可視化模組化建構資料挖掘流程:

1.拖入樣本資料和全部資料作為資料輸入。

2.拖入分類算法,如 XGB 算法用于模型訓練。

3.拖入預測算子,搭模組化型與全部資料的關系進行預測。

4.實際資料和預測結果結合輸出資料集,進而分析全部使用者資料的意向分布。

火山引擎工具技術分享:用 AI 完成資料挖掘,零門檻完成 SQL 撰寫

3.2【高階】不寫 Python 也可建構複雜算法模型

使用者需要根據現有資料,建構一個使用者回購模型。在模型搭建中需要經過資料清洗、格式轉換之後采用梯度提升樹建構預測模型,此時可以根據可視化模組化建構回購模型流程:

火山引擎工具技術分享:用 AI 完成資料挖掘,零門檻完成 SQL 撰寫

1.合并行:将 n 個算子(圖中的長方形)輸出資料表根據一緻的表頭合并成一張總的資料表,使用者銷售資料沒有增删新屬性時此處不用改動。

2.缺失值替換:屬性列存在空值(null)時,會影響後續模型計算,使用替換缺失值算子可以将空值替換為指定預設值,使用者銷售資料沒有增删新屬性時此處不用改動。

3.one-hot 編碼: 文本類型的屬性無法直接被模型訓練使用,需要 one_hot 編碼成數字向量例如:

4.梯度提升樹:負責拟合訓練資料,輸出一個可以用于預測的模型(圖中沒有标注的參數不需要維護人員修改):

火山引擎工具技術分享:用 AI 完成資料挖掘,零門檻完成 SQL 撰寫

5.聚合_1:去除預測資料中的重複項,取最大機率。

6.提取字段:提取必要的 label 和機率值輸出。

火山引擎工具技術分享:用 AI 完成資料挖掘,零門檻完成 SQL 撰寫

4. 多場景、多任務建設,管理不再分散

作為資料分析師,日常也會有很多建構資料集、搭建資料看闆的工作。但通常從數倉擷取的底表會是一張寬表,在此基礎之上,根據不同的場景需求搭建不同的資料集任務。

在後續的使用時,常常會遇到類似的的資料集越來越多,但具體邏輯又無法很好的對比确認。此時,如果所有資料集邏輯在一個資料集裡面配置生成,每個資料集通過任務流程就可以判斷和定義應用就好了。

針對這一場景,DataWind 的可視化模組化能力也可以很好的完成。可視化模組化功能支援單一資料集同時被多種邏輯處理加工生成多個資料集。以處理訂單資料和使用者資料為例:

1.有使用者想看訂單的統計資料,那麼可以搭建訂單統計資料集的資料處理流程。

2.有使用者就想看明細資料,但是需要對明細字段進行加工清洗,這時可以建構訂單明細表資料集的處理流程。

3.有些使用者又想結合使用者屬性去統計使用者的訂單分布,那麼建構多表關聯結合名額聚合生成完成使用者訂單統計資料集。

4.同樣邏輯可以生成多表關聯下的使用者訂單明細資料集。

由此,通過一個任務、兩個資料輸入完成了 4 個資料集的生成,4 個資料集可以建構一個資料主題域,後續相關資料使用均可從此任務輸出的資料集進行使用。

火山引擎工具技術分享:用 AI 完成資料挖掘,零門檻完成 SQL 撰寫

5. 關于我們

火山引擎智能資料洞察 DataWind 是一款支援大資料明細級别自助分析的增強型 ABI 平台。從資料接入、資料整合,到查詢、分析,最終以資料門戶、數字大屏、管理駕駛艙的可視化形态呈現給業務使用者,讓資料發揮價值。

繼續閱讀