打破機(jī)器學(xué)習(xí)技術(shù)與業(yè)務(wù)藩籬——Amazon SageMaker Canvas深度體驗(yàn)
編輯導(dǎo)語:機(jī)器學(xué)習(xí)這一概念并不是人人都懂,也因此,一款可以讓用戶無需擁有對應(yīng)經(jīng)驗(yàn)、即可實(shí)現(xiàn)機(jī)器學(xué)習(xí)智能分析的工具便容易讓用戶感到好奇,例如Amazon SageMaker Canvas。本篇文章里,作者就對這款工具進(jìn)行了體驗(yàn)測評,一起來看一下。
作為一個(gè)曾經(jīng)干過數(shù)據(jù)分析、數(shù)據(jù)挖掘、且目前從事數(shù)據(jù)產(chǎn)品工作的“數(shù)據(jù)人”,當(dāng)聽說亞馬遜云科技推出了零代碼、不需要機(jī)器學(xué)習(xí)經(jīng)驗(yàn)就可上手的機(jī)器學(xué)習(xí)預(yù)測工具的時(shí)候,我腦海里條件反射性浮現(xiàn)出當(dāng)年那個(gè)抱著算法啃到哭的少女,以及隨之而來魯豫老師的聲音:我不信~~
抱著一顆一探究竟的好奇心,我登錄官網(wǎng)看到有兩個(gè)月的免費(fèi)體驗(yàn)期后,便馬上跟著官方指引注冊設(shè)置好賬戶,決定深度體驗(yàn)一下這款產(chǎn)品——Amazon SageMaker Canvas。
下面,我就以具體使用場景為切入,從“數(shù)據(jù)分析”、“產(chǎn)品設(shè)計(jì)”兩個(gè)角度來分享下這一個(gè)多月來我的體驗(yàn)使用感受。
一、業(yè)務(wù)數(shù)據(jù)分析場景:用戶注冊預(yù)測
在零售客戶營銷領(lǐng)域,最重要的管理方式莫過于分類施策。對不同特點(diǎn)、處于不同階段的客戶采取針對性的營銷手段,才能在有效的預(yù)算范圍內(nèi)最大程度提升營銷效果。
比如,我們都知道在客戶流失之前對其進(jìn)行挽留的效果要遠(yuǎn)好于已經(jīng)流失后再采取措施、以及如果能預(yù)判客戶注冊產(chǎn)品的可能性,就可以提前采取更為精準(zhǔn)的營銷方式,等等。
因此,準(zhǔn)確預(yù)測客戶在某種維度上的類別或可能性,提前進(jìn)行精準(zhǔn)的營銷干預(yù),對提升投入產(chǎn)出比是非常關(guān)鍵的事情。如何預(yù)測?以用戶注冊預(yù)測為例,目前各企業(yè)一般采取以下兩種方式:
一類是業(yè)務(wù)部門根據(jù)自己的業(yè)務(wù)經(jīng)驗(yàn)總結(jié)出哪些特征對用戶是否注冊某產(chǎn)品的影響較大,滿足這些特征的便判定為“會注冊”。
稍微嚴(yán)謹(jǐn)一點(diǎn)的會給每個(gè)特征賦予權(quán)重,計(jì)算得出注冊可能性分?jǐn)?shù)。但選什么特征,如何賦權(quán),很大程度是依賴于業(yè)務(wù)同事多年對數(shù)據(jù)的觀察總結(jié)和業(yè)務(wù)經(jīng)驗(yàn)沉淀。
這種方式的優(yōu)勢在于,邏輯簡單,業(yè)務(wù)解釋性強(qiáng);但缺乏對數(shù)據(jù)的深度挖掘,預(yù)測準(zhǔn)確率較低,同時(shí)非常依賴個(gè)人經(jīng)驗(yàn)。
另一類則是由專業(yè)的數(shù)據(jù)科學(xué)團(tuán)隊(duì)根據(jù)業(yè)務(wù)部門的預(yù)測需求,利用機(jī)器學(xué)習(xí)算法選取特征,訓(xùn)練、驗(yàn)證數(shù)據(jù),最后輸出一套最優(yōu)模型進(jìn)行預(yù)測。
由于運(yùn)用了專業(yè)的數(shù)學(xué)及統(tǒng)計(jì)理論對歷史數(shù)據(jù)進(jìn)行挖掘探索,準(zhǔn)確性較第一種方式有了很大提升。不過由于邏輯復(fù)雜,專業(yè)門檻高,整個(gè)過程對于業(yè)務(wù)同事而言是“黑匣子”般的存在。
相應(yīng)地,數(shù)據(jù)科學(xué)家在業(yè)務(wù)經(jīng)驗(yàn)方面較為缺乏,過程中需要與業(yè)務(wù)同事高度協(xié)作。對于這種“你不懂業(yè)務(wù),我不懂算法”的情況,怎么能夠高效溝通一直是很多企業(yè)在面臨的阻礙。
此外考慮到整個(gè)過程耗費(fèi)的人力算力和時(shí)間成本,利用機(jī)器學(xué)習(xí)探索數(shù)據(jù)的方式在企業(yè)里一直很難普適性地推廣開來。
總之,現(xiàn)狀就是業(yè)務(wù)分析和機(jī)器學(xué)習(xí)模型之間的確或主觀或客觀都存在著一道隔閡。但Canvas官網(wǎng)的產(chǎn)品優(yōu)勢介紹(圖1),仿佛就在說它可以打破這塊藩籬。為了印證,我將自己代入為一個(gè)不懂代碼不懂算法的業(yè)務(wù)分析角色,切實(shí)體驗(yàn)下如何在Canvas中進(jìn)行用戶注冊預(yù)測。
圖1(來自官網(wǎng))
第一步:數(shù)據(jù)準(zhǔn)備
本次使用亞馬遜云科技官網(wǎng)中的數(shù)據(jù)集,背景為銀行業(yè)務(wù)分析師想要預(yù)測哪些客戶最有可能注冊存款證,數(shù)據(jù)字段如圖2。
圖2:銀行營銷數(shù)據(jù)集字段說明
首先將數(shù)據(jù)集拆分為訓(xùn)練集和測試集。因?yàn)楣倬W(wǎng)數(shù)據(jù)集是比較規(guī)整的,為了更貼合平時(shí)業(yè)務(wù)分析工作中的數(shù)據(jù)情況,再將訓(xùn)練集縱向拆分成兩張表(trainA、trianB)。
tainA包括了客戶的基本信息及目標(biāo)值(圖2中的2-8和目標(biāo)字段y)、trainB包括剩余的客戶活動信息以及宏觀經(jīng)濟(jì)指標(biāo)(9-21字段),兩個(gè)數(shù)據(jù)集均有客戶代碼。同時(shí),我將部分字段的值替換為缺失值以更貼合實(shí)際情況。
第二步:將訓(xùn)練集導(dǎo)入Canvas
進(jìn)入Canvas首頁后,在dataset(數(shù)據(jù)集)中選擇Import(導(dǎo)入)??梢钥吹接腥N導(dǎo)入方式:
- 本地upload:直接拖拽本地文件上傳。
- S3儲存桶:從S3云中載入數(shù)據(jù)。
- 構(gòu)建鏈接器從第三方數(shù)據(jù)源(Redshift和Snowflake)導(dǎo)入。
前兩種方式我都嘗試了一下。對于3萬多行、22個(gè)字段的數(shù)據(jù),導(dǎo)入用時(shí)大約10秒。導(dǎo)入后可立即對數(shù)據(jù)進(jìn)行預(yù)覽。
圖3
現(xiàn)在需要把導(dǎo)入的兩個(gè)數(shù)據(jù)集trainA、trainB拼接成一張具有完整特征和目標(biāo)信息的表:train。該數(shù)據(jù)處理過程一般在建模之前會事先用其他工具完成。
但我發(fā)現(xiàn)Canvas在導(dǎo)入數(shù)據(jù)后,就自帶了這個(gè)數(shù)據(jù)連接功能:Join Data:用鼠標(biāo)拖拽想要連接的表,自定義連接方式及連接鍵,合并為一張表。
雖然最終達(dá)到的效果同Excel的Vlookup、SQL的join、以及python的pandas.concat等,但這種可視化的拖拽方式在操作便利度上還是有了極大提高。
至此,我們的訓(xùn)練數(shù)據(jù)集train已完整導(dǎo)入。
圖4
第三步:訓(xùn)練數(shù)據(jù),建立模型
首先,添加并命名New Modle:bank-marketing。接下來跳轉(zhuǎn)到的建模頁面依次有四個(gè)模塊:Select(選擇數(shù)據(jù))、Build(建立模型)、Analyze(分析模型結(jié)果)、Predict(預(yù)測新數(shù)據(jù))。按照模塊順序,我開始照著頁面提示進(jìn)行操作。
1)Select dataset
這一步是選擇訓(xùn)練數(shù)據(jù)集,先前導(dǎo)入及拼接好的數(shù)據(jù)都可供選擇。而且此步驟也可以跳轉(zhuǎn)到第二步從本地或云上導(dǎo)入數(shù)據(jù)集。我選擇了先前導(dǎo)入拼接好的數(shù)據(jù)集:train。
圖5
2)Build
數(shù)據(jù)集選擇好之后,自動跳轉(zhuǎn)到了Build頁面。Build頁面簡潔地分為四個(gè)區(qū)域:數(shù)據(jù)集統(tǒng)計(jì)概覽、目標(biāo)字段指定(Select a column to predict)、模型類型選擇(Model type)、建模(Preview model、Quick build、Standard build)。
① 數(shù)據(jù)集統(tǒng)計(jì)概覽區(qū):各字段的統(tǒng)計(jì)概覽已經(jīng)自動呈現(xiàn)出來,包括:
字段基本信息(數(shù)據(jù)類型、缺失值個(gè)數(shù)及占比、格式不匹配值的個(gè)數(shù)及占比、去重?cái)?shù)統(tǒng)計(jì)、均值、眾數(shù))。
可以預(yù)覽到此數(shù)據(jù)集中存在缺失值,不過Canvas官方介紹說建模時(shí)會自動進(jìn)行缺失值、格式不匹配值自動進(jìn)行處理。且諸如歸一化、數(shù)值編碼、分箱等特征工程操作,Canvas都會內(nèi)部自動處理。這對業(yè)務(wù)人員對所導(dǎo)入數(shù)據(jù)集的事前處理也降低了要求。
圖6
字段分布統(tǒng)計(jì)可視化:
圖7
字段篩選查看:
圖8
② 目標(biāo)字段指定(Select a column to predict):需要我們選擇模型的預(yù)測目標(biāo)字段:y。
此時(shí),旁邊的Modle type(模型類型選擇)已經(jīng)根據(jù)我所選擇的目標(biāo)字段快速匹配好了相應(yīng)的模型類型:二分類模型(2 category prediction)
圖9
在Model type中,我們還可以自行選擇模型的類型。Canvas目前支持的模型類型有(圖10):二分類模型(2 category prediction)、三種及以上分類模型(3 +category prediction)、回歸模型(Numeric model type)、時(shí)間序列預(yù)測模型(Time series forecasting)。當(dāng)我測試導(dǎo)入包含時(shí)間列數(shù)據(jù)集、且選擇了一個(gè)變化的數(shù)據(jù)列作為目標(biāo),會自動匹配到時(shí)間序列的預(yù)測任務(wù)。
圖10
建模區(qū)域有正式建模和預(yù)建模。預(yù)建模(Preview model)是正式模型構(gòu)建之前,Canvas幫我們粗略搭建的模型,通過Preview model,我們可以大概了解模型的預(yù)測效果、以及每個(gè)特征字段對目標(biāo)值y的影響程度(圖11)。
Canvas初步建立的Preview model顯示,模型的準(zhǔn)確率為91.682%,并且loan對目標(biāo)值y的影響程度最小。為了減少不重要特征值的干擾,同時(shí)提高建模效率,我在正式建模時(shí),沒有勾選字段Loan,并且從業(yè)務(wù)知識我可以知道cusid對用戶的是否注冊也是沒有影響的。因此我去掉了對特征字段Loan、cusid的勾選,并開始正式建模。
圖11
正式建模分為“Quik build”、“Standard build”。前者用時(shí)較快(2-15min),后者根據(jù)數(shù)據(jù)集大小不同大約需要耗時(shí)2-4小時(shí),但預(yù)測準(zhǔn)確率更高??筛鶕?jù)模型應(yīng)用場景的嚴(yán)謹(jǐn)度要求不同進(jìn)行選擇。我選擇了”Quick build“進(jìn)行建模。在等待期間,也是可以正常使用Canvas的其他界面。
第四步:模型分析
2分鐘后,我得到了Quick build的最終建模結(jié)果。對目標(biāo)值y的預(yù)測準(zhǔn)確率為91.649%。
圖12
此外,我還得到了更多信息:
1)單特征影響(Column impact)
我可以看到每個(gè)特征對客戶是否注冊的影響程度大小,其中duration,也就是客戶上次被聯(lián)系的持續(xù)時(shí)間大小對客戶是否注冊存款證的影響是最大的,其次是就業(yè)指數(shù)。
并且,每個(gè)特征字段的具體取值是如何影響預(yù)測目標(biāo)的可視化分析圖也在旁邊被清晰地展示出來。例如,通過對比圖中contact兩類取值的中位線高度,就能看出相比使用座機(jī)聯(lián)系客戶,使用手機(jī)聯(lián)系的客戶注冊存款證的可能性更高。這對后續(xù)我們營銷客戶存款證該采取哪種聯(lián)系方式有很大的指導(dǎo)意義。
圖13
2)模型評價(jià)指標(biāo)
我們還可以看到該分類模型的?;鶊D(圖14)、各種評價(jià)指標(biāo)和混沌矩陣(圖15)。
例如,我們看到在真實(shí)注冊了存款證的客戶有570個(gè),其中有375個(gè)被模型準(zhǔn)確預(yù)測到了,這說明準(zhǔn)確率precision為65.789%。而所有預(yù)測為會注冊存款證的客戶有696個(gè),其中375個(gè)是真的注冊了,則模型召回率recall為53.879%。
由于我們在營銷過程中,關(guān)注重點(diǎn)在于找出那些可能注冊的客戶(y=yes),如果現(xiàn)階段的營銷策略較為激進(jìn),寧愿誤判客戶會注冊,也不愿漏掉一個(gè)可能注冊的客戶,那precison更高的模型就是更符合我們營銷政策的;如果現(xiàn)階段的營銷策略較為保守,希望預(yù)測會注冊的客戶中大多都是真的會注冊的客戶,則應(yīng)該選擇recall更高的模型。
值得一提的是,也許不是所有業(yè)務(wù)分析人員都能馬上理解precision、recall等指標(biāo)的含義。但桑基圖(圖14)則能讓一個(gè)就算完全不懂機(jī)器學(xué)習(xí)的人也能夠快速直觀地看出分類預(yù)測結(jié)果與實(shí)際值之間的關(guān)系。
圖14
圖15
第五步:新數(shù)據(jù)目標(biāo)值預(yù)測
現(xiàn)在模型已經(jīng)建立好,并且我們對模型的分類結(jié)果也有了直觀地了解。接下來就是在實(shí)踐中檢驗(yàn)“真理”的時(shí)刻了:對訓(xùn)練集以外的新客戶數(shù)據(jù)進(jìn)行預(yù)測。Canvas的預(yù)測方式有:批量預(yù)測和單點(diǎn)預(yù)測。
1)批量預(yù)測(Batch prediction)
我導(dǎo)入了之前準(zhǔn)備好的驗(yàn)證數(shù)據(jù)集,1萬多行的數(shù)據(jù)集在5秒鐘之內(nèi)便得出預(yù)測結(jié)果(圖16)。預(yù)測結(jié)果中不僅有客戶的分類結(jié)果(是或否),還有客戶被預(yù)測為“是”或“否”的概率值。
這樣,我們就可以根據(jù)預(yù)測為“是”的概率大小降序排列,制定不同優(yōu)先級程度的營銷手段,例如為“是”的概率大于80%的客戶,將其推送至客服專人電話營銷,概率在50%-80%之間的客戶,僅通過短信營銷。
圖16
2)單點(diǎn)預(yù)測(Single prediction)
這里我錄入了單個(gè)客戶每個(gè)特征字段的值,Canvas便預(yù)測出這個(gè)客戶有99.844%的概率不會注冊存款證。當(dāng)我們想要對某個(gè)客戶進(jìn)行重點(diǎn)營銷或關(guān)注時(shí),這樣的單點(diǎn)預(yù)測便能極大提高便捷度。
圖17
第六步:分享模型給數(shù)據(jù)科學(xué)家
在一些非常重要的業(yè)務(wù)預(yù)測場景下,我們常常會對預(yù)測的準(zhǔn)確性有更嚴(yán)格的要求或者想要模型在業(yè)務(wù)中更長期廣泛地應(yīng)用。這時(shí),可以利用Canvas將我們訓(xùn)練好的模型通過Studio Link分享給數(shù)據(jù)科學(xué)家,他們便可以直接對模型的底層代碼進(jìn)行進(jìn)一步的調(diào)試優(yōu)化、部署等工作。
二、從業(yè)務(wù)數(shù)據(jù)分析預(yù)測角度看Canvas
Canvas的使用群體定位是不會代碼、沒有機(jī)器學(xué)習(xí)經(jīng)驗(yàn)的業(yè)務(wù)分析人員,那么從業(yè)務(wù)數(shù)據(jù)分析工作的角度來說,我體驗(yàn)總結(jié)出Canvas的以下應(yīng)用價(jià)值:
1. 適用于各類業(yè)務(wù)預(yù)測場景
包括分類預(yù)測、數(shù)值回歸預(yù)測、時(shí)間序列預(yù)測。例如,精準(zhǔn)營銷需要對客戶的注冊可能性進(jìn)行分類預(yù)測、金融風(fēng)控需要對客戶將來是否會逾期進(jìn)行分類預(yù)測;倉儲管理需要根據(jù)歷史情況預(yù)測庫存需求量(回歸預(yù)測);零售門店管理需要對具有周期性特點(diǎn)的客流量進(jìn)行預(yù)測(時(shí)間序列預(yù)測)……
2. 提高了業(yè)務(wù)預(yù)測的準(zhǔn)確性、可解釋性
從文章開頭提到的目前兩種業(yè)務(wù)預(yù)測方式可以看出,業(yè)務(wù)預(yù)測的準(zhǔn)確性和可解釋性通常很難兼得,而Canvas可以讓業(yè)務(wù)人員通過機(jī)器學(xué)習(xí)模型進(jìn)行預(yù)測以及挖掘出的每個(gè)特征變量的取值影響,分析結(jié)果可以更準(zhǔn)確、有依據(jù)地應(yīng)用于業(yè)務(wù)運(yùn)營管理決策。且整個(gè)過程業(yè)務(wù)方參與度高,業(yè)務(wù)可解釋性也相應(yīng)得到很大提升。
3. 提高了機(jī)器學(xué)習(xí)應(yīng)用的普適性
由于Canvas將機(jī)器學(xué)習(xí)預(yù)測的能力產(chǎn)品化、無代碼化。企業(yè)人員使用機(jī)器學(xué)習(xí)的門檻大大降低,一方面能解決傳統(tǒng)業(yè)務(wù)分析方式下對個(gè)人分析經(jīng)驗(yàn)極度依賴的情況;另一方面能使得機(jī)器學(xué)習(xí)在企業(yè)內(nèi)得到更普適廣泛的應(yīng)用。
4. 極大降低了業(yè)務(wù)分析人員與數(shù)據(jù)科學(xué)家的溝通成本
Canvas可以將業(yè)務(wù)同事建立的模型分享給數(shù)據(jù)科學(xué)家,便于其對模型代碼進(jìn)一步優(yōu)化。雙方在業(yè)務(wù)和技術(shù)的對接上直接通過Canvas形成了共識,使得業(yè)務(wù)與技術(shù)的溝通協(xié)作更加高效。
三、從產(chǎn)品設(shè)計(jì)角度看Canvas
1. 產(chǎn)品定位清晰且直擊痛點(diǎn)
Amazon Sagemaker Canvas的用戶定位為無代碼及機(jī)器學(xué)習(xí)經(jīng)驗(yàn)、但有通過數(shù)據(jù)來進(jìn)行業(yè)務(wù)預(yù)測需求的群體。這恰好瞄準(zhǔn)了企業(yè)數(shù)據(jù)分析現(xiàn)狀的痛點(diǎn),很大程度上彌補(bǔ)了業(yè)務(wù)分析與機(jī)器學(xué)習(xí)應(yīng)用之間的隔閡。
此外,Canvas在使用過程中可以與亞馬遜云科技的其他產(chǎn)品搭配使用,例如與Amazon S3、Amazon Redshift的數(shù)據(jù)對接、與Amazon SageMaker Studio的底層聯(lián)動,清晰界定的產(chǎn)品范圍及搭配方式也讓用戶的使用體驗(yàn)更加高效。
2. 功能結(jié)構(gòu)化繁為簡
我將Canvas的功能模塊結(jié)構(gòu)梳理如圖18 。其中最主要的模型建立部分包括四個(gè)步驟:選擇數(shù)據(jù)(Select)——建立模型(Build)——分析模型效果(Analyze)——進(jìn)行預(yù)測(Predict)。整個(gè)過程看似簡單,卻囊括了機(jī)器學(xué)習(xí)的全流程,在化繁為簡的同時(shí),能充分滿足業(yè)務(wù)人員的分析預(yù)測需求。
圖18
3. 交互操作簡潔易懂
首先從界面上來看,Canvas的UI風(fēng)格及配色上都非常簡潔(圖19),每個(gè)界面的要素都是必要且最少;在我操作的過程中,只需要跟著功能菜單的順序和提示一步一步進(jìn)行即可,并且操作都是點(diǎn)擊、拖拉這樣的簡單方式。
數(shù)據(jù)的展示及模型評價(jià)分析時(shí),大量采用可視化圖表,直觀易懂。的確是不需要寫一行代碼、機(jī)器學(xué)習(xí)零經(jīng)驗(yàn)的人也能快速上手使用。
圖19
四、體驗(yàn)感悟
因?yàn)槲易约阂酝墓ぷ髦性跇I(yè)務(wù)部門做過數(shù)據(jù)分析,也在技術(shù)部門做過數(shù)據(jù)挖掘,經(jīng)歷過不懂代碼不會機(jī)器學(xué)習(xí)卻必須要給業(yè)務(wù)做預(yù)測分析的階段,也經(jīng)歷過后面花大量時(shí)間學(xué)習(xí)寫代碼和機(jī)器學(xué)習(xí)算法轉(zhuǎn)崗數(shù)據(jù)挖掘、但卻離業(yè)務(wù)越來越遠(yuǎn)的階段。
Amazon Sagemaker Canvas 巧妙地打破了這兩者的壁壘,其無代碼也體現(xiàn)出產(chǎn)品背后強(qiáng)大的技術(shù)支撐,畢竟功能開發(fā)需要深刻場景理解及技術(shù)積淀。
在使用過程中我多次聯(lián)想到當(dāng)年計(jì)算機(jī)從Linux邁向圖形交互界面所產(chǎn)生的里程碑式的影響。
Amazon Sagemaker Canvas表面上是一個(gè)無代碼機(jī)器學(xué)習(xí)預(yù)測服務(wù)平臺,但其實(shí)本質(zhì)更體現(xiàn)出一種“科技普惠”的理念,讓機(jī)器學(xué)習(xí)技術(shù)能夠被更廣泛的、有需求的人應(yīng)用。而這種“科技普惠”所帶來的質(zhì)量和效率提升、資源成本的節(jié)約,正是當(dāng)前各企業(yè)數(shù)字化轉(zhuǎn)型過程中最重要的價(jià)值。
本文由 @離子燙電臺頭 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Pexels,基于CC0協(xié)議
很高興作者能分享這么優(yōu)秀的文章!
說下看完文章的體會:
1.零代碼機(jī)器學(xué)習(xí)平臺確實(shí)提高了日常工作中處理數(shù)據(jù)的效率!特別對于一些簡單數(shù)據(jù)簡單問題,應(yīng)用平臺提供的開箱即用的算法能夠取得很好的效果。
2.對于一些復(fù)雜問題復(fù)雜算法,希望在產(chǎn)品交互和功能集上能夠做的更好
3.希望更多的機(jī)器學(xué)習(xí)平臺開源或者商業(yè)推廣出來,共建美好生態(tài)
謝謝這位朋友走心的評價(jià),希望以后多多交流,互相學(xué)習(xí)!
讓技術(shù)走向產(chǎn)品化,才能最低成本地大量復(fù)制并服務(wù)于業(yè)務(wù)。
是的????