火山引擎工具技術(shù)分享:用 AI 完成數(shù)據(jù)挖掘,零門(mén)檻完成 SQL 撰寫(xiě)
在使用 BI 工具的時(shí)候,經(jīng)常遇到的問(wèn)題是:“不會(huì) SQL 怎么生產(chǎn)加工數(shù)據(jù)、不會(huì)算法可不可以做挖掘分析?”
而專(zhuān)業(yè)算法團(tuán)隊(duì)在做數(shù)據(jù)挖掘時(shí),數(shù)據(jù)分析及可視化也會(huì)呈現(xiàn)相對(duì)割裂的現(xiàn)象。流程化完成算法建模和數(shù)據(jù)分析工作,也是一個(gè)提效的好辦法。
同時(shí),對(duì)于專(zhuān)業(yè)數(shù)倉(cāng)團(tuán)隊(duì)來(lái)說(shuō),相同主題的數(shù)據(jù)內(nèi)容面臨“重復(fù)建設(shè),使用和管理時(shí)相對(duì)分散”的問(wèn)題——究竟有沒(méi)有辦法在一個(gè)任務(wù)里同時(shí)生產(chǎn),同主題不同內(nèi)容的數(shù)據(jù)集?生產(chǎn)的數(shù)據(jù)集可不可以作為輸入重新參與數(shù)據(jù)建設(shè)?
1. DataWind 可視化建模能力來(lái)了
由火山引擎推出的 BI 平臺(tái) DataWind 智能數(shù)據(jù)洞察,推出了全新進(jìn)階功能——可視化建模。
用戶可通過(guò)可視化拖、拉、連線操作,將復(fù)雜的數(shù)據(jù)加工建模過(guò)程簡(jiǎn)化成清晰易懂的畫(huà)布流程,各類(lèi)用戶按照所想即所得的思路完成數(shù)據(jù)生產(chǎn)加工,從而降低數(shù)據(jù)生產(chǎn)獲取的門(mén)檻。
畫(huà)布中支持同時(shí)構(gòu)建多組畫(huà)布流程,一圖實(shí)現(xiàn)多數(shù)據(jù)建模任務(wù)的構(gòu)建,提高數(shù)據(jù)建設(shè)的效率,降低任務(wù)管理成本;另外,畫(huà)布中集成封裝了超過(guò) 40 種數(shù)據(jù)清洗、特征工程算子,覆蓋初階到高階的數(shù)據(jù)生產(chǎn)能力,無(wú)需 Coding 完成復(fù)雜的數(shù)據(jù)能力。
2. 零門(mén)檻的 SQL 工具
數(shù)據(jù)的生產(chǎn)加工是獲取及分析數(shù)據(jù)的第一步。
對(duì)于非技術(shù)使用者來(lái)說(shuō),SQL 語(yǔ)法存在一定使用門(mén)檻,同時(shí)本地文件無(wú)法定時(shí)更新,導(dǎo)致看板每次都需要手動(dòng)重做。獲取數(shù)據(jù)所需的技術(shù)人力往往需要排期,數(shù)據(jù)的獲取時(shí)效及滿足度大大打折,因此使用零代碼的數(shù)據(jù)建設(shè)工具變得尤為重要。
下方列舉兩個(gè)典型場(chǎng)景,零門(mén)檻完成數(shù)據(jù)處理在工作中是如何應(yīng)用的。
2.1 【場(chǎng)景1】所想即所得,可視化完成數(shù)據(jù)處理過(guò)程
在產(chǎn)品運(yùn)營(yíng)迭代急需不同數(shù)據(jù)的及時(shí)輸入反饋時(shí),可以抽象數(shù)據(jù)的處理過(guò)程,通過(guò)可視化建模拖拉算子構(gòu)建數(shù)據(jù)處理過(guò)程。
如要獲取按照日期、城市粒度的訂單數(shù)及訂單金額,并獲取每日 Top10 消耗金額數(shù)據(jù)的城市數(shù)據(jù),操作如下:
常規(guī)數(shù)據(jù)處理流程 | 可視化建模處理流程 |
|
|
2.2 【場(chǎng)景 2】多表快速結(jié)合,輕松解決多數(shù)據(jù)關(guān)聯(lián)計(jì)算
在數(shù)據(jù)處理過(guò)程中,有多個(gè)數(shù)據(jù)源需要進(jìn)行組合使用,常規(guī)通過(guò) Excel 需要掌握高階 Vlookup 等算法有些難度,且耗時(shí)長(zhǎng)。同時(shí)數(shù)據(jù)量較大時(shí),電腦性能可能沒(méi)辦法完成數(shù)據(jù)的組合計(jì)算。
如有兩份數(shù)據(jù)量比較大的訂單數(shù)據(jù)和一份客戶屬性信息表,需要根據(jù)賬單金額和成本金額計(jì)算利潤(rùn)金額,然后按照利潤(rùn)貢獻(xiàn)高低取 Top100 的用戶訂單信息
常規(guī)數(shù)據(jù)處理流程 | 可視化建模處理流程 |
|
|
3. AI 數(shù)據(jù)挖掘,不再高不可及
當(dāng)基礎(chǔ)的數(shù)據(jù)清洗已經(jīng)沒(méi)辦法滿足數(shù)據(jù)建設(shè)和數(shù)據(jù)分析,需要 AI 算法加持去挖掘數(shù)據(jù)更多隱藏的價(jià)值時(shí)。算法團(tuán)隊(duì)同學(xué)可能苦于無(wú)法很好與可視化圖表聯(lián)動(dòng)使用,沒(méi)辦法生產(chǎn)好的數(shù)據(jù)快速被應(yīng)用;而普通用戶可能直接被 AI 代碼的高門(mén)檻直接壓滅了這個(gè)算法的苗頭——提需求又怕需求太淺、價(jià)值無(wú)法很好評(píng)估輸出,此時(shí)算法挖掘成為了一種奢望。
DataWind 的可視化建模封裝了超過(guò) 30 類(lèi)常見(jiàn)的 AI 算子能力,用戶僅需了解算法的作用可以通過(guò)配置化的方式配置算法算子的輸入和訓(xùn)練目標(biāo)即可完成模型訓(xùn)練,根據(jù)配置的其他數(shù)據(jù)內(nèi)容快速得到預(yù)測(cè)結(jié)果。?
下方將以兩個(gè)典型場(chǎng)景為例,看不寫(xiě) Python 如何完成數(shù)據(jù)挖掘。?
3.1 【初階】不會(huì) Python 也可做數(shù)據(jù)挖掘
用戶日常工作基本不涉及寫(xiě) Python,但存在做數(shù)據(jù)挖掘的需求場(chǎng)景。他需要基于存量高意向客戶樣本做客戶意向度挖掘。此時(shí)可通過(guò)可視化建模構(gòu)建數(shù)據(jù)挖掘流程:
- 拖入樣本數(shù)據(jù)和全部數(shù)據(jù)作為數(shù)據(jù)輸入。
- 拖入分類(lèi)算法,如 XGB 算法用于模型訓(xùn)練。
- 拖入預(yù)測(cè)算子,搭建模型與全部數(shù)據(jù)的關(guān)系進(jìn)行預(yù)測(cè)。
- 實(shí)際數(shù)據(jù)和預(yù)測(cè)結(jié)果結(jié)合輸出數(shù)據(jù)集,從而分析全部用戶數(shù)據(jù)的意向分布。
3.2【高階】不寫(xiě) Python 也可構(gòu)建復(fù)雜算法模型
用戶需要根據(jù)現(xiàn)有數(shù)據(jù),構(gòu)建一個(gè)用戶回購(gòu)模型。在模型搭建中需要經(jīng)過(guò)數(shù)據(jù)清洗、格式轉(zhuǎn)換之后采用梯度提升樹(shù)構(gòu)建預(yù)測(cè)模型,此時(shí)可以根據(jù)可視化建模構(gòu)建回購(gòu)模型流程:
- 合并行:將 n 個(gè)算子(圖中的長(zhǎng)方形)輸出數(shù)據(jù)表根據(jù)一致的表頭合并成一張總的數(shù)據(jù)表,用戶銷(xiāo)售數(shù)據(jù)沒(méi)有增刪新屬性時(shí)此處不用改動(dòng)。
- 缺失值替換:屬性列存在空值(null)時(shí),會(huì)影響后續(xù)模型計(jì)算,使用替換缺失值算子可以將空值替換為指定默認(rèn)值,用戶銷(xiāo)售數(shù)據(jù)沒(méi)有增刪新屬性時(shí)此處不用改動(dòng)。
- one-hot 編碼: 文本類(lèi)型的屬性無(wú)法直接被模型訓(xùn)練使用,需要 one_hot 編碼成數(shù)字向量例如:
- 梯度提升樹(shù):負(fù)責(zé)擬合訓(xùn)練數(shù)據(jù),輸出一個(gè)可以用于預(yù)測(cè)的模型(圖中沒(méi)有標(biāo)注的參數(shù)不需要維護(hù)人員修改):
- 聚合_1:去除預(yù)測(cè)數(shù)據(jù)中的重復(fù)項(xiàng),取最大概率。
- 提取字段:提取必要的 label 和概率值輸出。
4. 多場(chǎng)景、多任務(wù)建設(shè),管理不再分散
作為數(shù)據(jù)分析師,日常也會(huì)有很多構(gòu)建數(shù)據(jù)集、搭建數(shù)據(jù)看板的工作。但通常從數(shù)倉(cāng)獲取的底表會(huì)是一張寬表,在此基礎(chǔ)之上,根據(jù)不同的場(chǎng)景需求搭建不同的數(shù)據(jù)集任務(wù)。
在后續(xù)的使用時(shí),常常會(huì)遇到類(lèi)似的的數(shù)據(jù)集越來(lái)越多,但具體邏輯又無(wú)法很好的對(duì)比確認(rèn)。此時(shí),如果所有數(shù)據(jù)集邏輯在一個(gè)數(shù)據(jù)集里面配置生成,每個(gè)數(shù)據(jù)集通過(guò)任務(wù)流程就可以判斷和定義應(yīng)用就好了。
針對(duì)這一場(chǎng)景,DataWind 的可視化建模能力也可以很好的完成??梢暬9δ苤С謫我粩?shù)據(jù)集同時(shí)被多種邏輯處理加工生成多個(gè)數(shù)據(jù)集。以處理訂單數(shù)據(jù)和用戶數(shù)據(jù)為例:
- 有用戶想看訂單的統(tǒng)計(jì)數(shù)據(jù),那么可以搭建訂單統(tǒng)計(jì)數(shù)據(jù)集的數(shù)據(jù)處理流程。
- 有用戶就想看明細(xì)數(shù)據(jù),但是需要對(duì)明細(xì)字段進(jìn)行加工清洗,這時(shí)可以構(gòu)建訂單明細(xì)表數(shù)據(jù)集的處理流程。
- 有些用戶又想結(jié)合用戶屬性去統(tǒng)計(jì)用戶的訂單分布,那么構(gòu)建多表關(guān)聯(lián)結(jié)合指標(biāo)聚合生成完成用戶訂單統(tǒng)計(jì)數(shù)據(jù)集。
- 同樣邏輯可以生成多表關(guān)聯(lián)下的用戶訂單明細(xì)數(shù)據(jù)集。
由此,通過(guò)一個(gè)任務(wù)、兩個(gè)數(shù)據(jù)輸入完成了 4 個(gè)數(shù)據(jù)集的生成,4 個(gè)數(shù)據(jù)集可以構(gòu)建一個(gè)數(shù)據(jù)主題域,后續(xù)相關(guān)數(shù)據(jù)使用均可從此任務(wù)輸出的數(shù)據(jù)集進(jìn)行使用。
5. 關(guān)于我們
火山引擎智能數(shù)據(jù)洞察 DataWind 是一款支持大數(shù)據(jù)明細(xì)級(jí)別自助分析的增強(qiáng)型 ABI 平臺(tái)。從數(shù)據(jù)接入、數(shù)據(jù)整合,到查詢、分析,最終以數(shù)據(jù)門(mén)戶、數(shù)字大屏、管理駕駛艙的可視化形態(tài)呈現(xiàn)給業(yè)務(wù)用戶,讓數(shù)據(jù)發(fā)揮價(jià)值。