奧推網

選單
科技

...分析師,可能不是資料分析師——體驗Amazon SageMaker Canvas有感

編輯導語:當機器學習概念與資料分析場景相碰撞時,會產生什麼樣的“火花”?也許,使用者可以更加便利地清洗、篩選資料,進行資料洞察,並建立預測模型。本篇文章裡,作者結合Amazon SageMaker Canvas這款0程式碼機器學習智慧工具進行了體驗測評,一起來看看吧。

一、前言

我雖然不是資料分析師,但是因為工作及愛好的原因,經常需要做一些資料的分析。

以前我分析資料的時候,都是先去資料庫寫一段長長的SQL查資料,問題簡單的就加多幾段SQL簡單分析完畢;複雜一點的就下載回來用Excel公式+透檢視;再複雜一點的就上Python+NLP+sklearn;更復雜的只能攤攤手:“哦吼,這個實現不了,提個需求找開發吧”。

最近抱著好奇的心態,體驗了一下亞馬遜雲科技號稱“0程式碼”的無程式碼機器學習智慧工具——Amazon SageMaker Canvas(後續簡稱

Canvas

),最近本來就很流行低程式碼、0程式碼平臺的概念,這一下子把無比深奧的機器學習給0程式碼了,可憐的網際網路程式猿們和資料分析師是不是又要面臨新N輪的失業了。

百度指數-關鍵詞:低程式碼

二、機器學習與資料分析

大部分PM大佬們,沒看過機器學習跑,但肯定或多或少做過資料分析的活,甚至不少公司還要求產品經理和運營、市場小夥伴們一起揹著各種使用者量、訂單量、訂單額的OKR/KPI。

使用者量有多少,都是怎麼來的?下單的人那麼多,他們有什麼共同屬性?一份問卷發下去,使用者反饋的結果如何?這些都是非常常見的資料分析問題。

我們透過研發協助,或者系統功能,匯出對應資料後,一般在Excel、SPSS或者專業的BI軟體中完成資料洞察與分析、繪製圖表等工作,這就是最常見的資料分析過程。

其中最頭疼的,就是如何看懂這些資料、剖析出資料背後的問題。遇到一些複雜的問題時,需要產品經理、運營或更專業的資料分析師,掌握一定的統計學方法,同時對業務背景和行業知識有深厚的理解,才可能撥開迷霧,透過資料接近真相。

一個人學習、積累經驗的過程是漫長的、限制重重的,但如果讓高速、大容量的電腦來代替人去學習和積累經驗,透過大資料對電腦進行訓練,然後讓電腦對問題做出判斷,是否就能培訓出“電腦專家”呢?

答案是肯定的,機器學習就是一種讓電腦像人一樣去學習、積累經驗、嘗試解決問題的方案。

機器本身並不明白什麼業務邏輯,於是我們要給機器“灌輸”大量的資料,機器透過決策樹、支援向量機、神經網路、深度學習等演算法去不斷“刷題”訓練,形成類似人的“意識”,最後對新來的資料產生一定的預測能力。

例如一位房地產老中介,可以通過幾十年的經驗,在看到一個新的顧客時,快速判斷該顧客的購買意向一樣。機器學習完大量的交易資料後,當有一個新的樣本進入時,機器就能快速判斷成交的機率。

人需要數年時間、在行業裡摸爬滾打加上大量前人經驗教訓,才可能精通一門技藝,無論是產品經理還是資料分析師、運營等,皆是如此。

對比人的學習過程,機器一樣需要大量的“經驗”即資料為基礎,但是透過大量的CPU、GPU算力,學習過程可以縮短到數個小時內完成,只要樣本量足夠大,機器的分析能力一點都不比人差,就像著名的電腦圍棋選手AlphaGo一樣。

關鍵在機器的經驗傳承,就是“Ctrl+C、Ctrl+V”的這麼簡單的事情,支援不斷迭代,而人的經驗傳承、知識升級就完成沒法跟機器比了。資料分析工作更講究基於客觀事實的資料基礎,相對比設計、策劃等創意類工作,沒那麼感性,這就讓本身“理性”的機器有了先天的優勢。

三、機器學習能做什麼

我們熟悉的特斯拉汽車自動駕駛,就是透過機器學習的方法讓車載電腦學會開車。但是對於大部分產品經理,這種需求都是遙不可及的,

那日常工作中,機器學習對我們有什麼用?

換個角度想一下:

當你糾結公司產品最近大量投入廣告,但是訂單量卻一直不理想時;

每舉辦完一個活動,運營就得花幾天在那裡絞盡腦汁想區分出作弊的使用者時;

運維每到活動釋出後,就提示疑似有大量黑產刷單時。

產品經理會想,如果有一個工具,可以幫助我們實現精準推薦、分析使用者作弊機率、預測黑產風險等,那該多少啊!這時候機器學習就離我們不遠了。

我們可以透過Canvas的一些官方示例,看看機器學習在日常工作中能幫上什麼忙:

1)客戶成交分析

在銀行辦理業務的過程中,透過客戶的年齡、工作、婚姻、教育、住房、貸款、違約,還有宏觀經濟的居民消費指數、消費者信心指數、就業指數等資訊,判斷客戶是否會購買存款證(Certificate of Deposit,簡稱CD,一種定期存款)。

這是一個典型的二元分析,即透過多個條件綜合判斷結果是、還是不是。例如電商就可以以此分析一款產品使用者會買,還是不買;快遞預測是否能準時送達。

2)街區房價分析

透過街區地址座標、該街區的房屋平均年齡、房屋數量、人口、家庭數量、家庭收入中位數等資訊,分析該區域房屋價格。

這是一個常見的迴歸分析案例,透過一系列引數,最終得出一個數據作為結果。常見應用場景可以是成交價格預測、活動帶來的使用者增長效果預測等。

3)基於日期的銷量預測

透過日期、銷售額、是否有活動、是否是學校放假,然後判斷一個具體日期或時間段的銷量。這是一種基於時間的序列預測,常見的應用場景是使用者量走勢預測、成交量走勢預測、風險數量預測等。

4)貸款違約風險預測

透過貸款人的貸款金額、貸款週期、貸款利息、貸款目的,貸款人的就業年限、房屋抵押情況、收入水平等資料,分析該使用者是正常還款中、完成還款、還是會違約產生壞賬(charged off)。

與案例1中的客戶成交分析不同的是,此時結果是3個,甚至可能是多個,這種屬於“多類分類問題”,相對於非黑即白的二元分析,藉助此模式,可以用於更豐富的場景預測。例如我們有多套房子,可以用來判斷使用者最可能對其中哪一套感興趣;又或者用於把使用者按消費慾望自動分級、按某種使用者畫像自動歸類等。

除了Canvas官方案例外,我還整理了一些在電商運營中,售前、中、後不同階段,機器學習可以助力的地方:

可以看出機器學習可以介入的機會很多,就算現階段還不能完全取代人工運營,也可以有效為運營、客服、資料分析等崗位,發現問題和提供建議,從而整體提高營銷能力。

四、實際體驗

接下來我們將透過一份使用者購買資料,透過Canvas,實際體驗一番,看看0程式碼的機器學習平臺究竟是怎麼樣的。

測試專案:

某內購商城,將要舉辦一個活動,希望把幾款熱銷的商品推廣給更多的員工購買。

測試目的:

預測每位員工最可能購買的商品,然後進行精準推送,提高轉化率。

樣本介紹:

從系統中匯出了5款活動商品的歷史購買記錄,包括了購買者所使用的手機品牌、客戶端型別、性別、司齡、年齡、婚姻、戶口、學歷、職位、職級、工作城市、所屬部門等資訊,讓機器學習不同型別的員工更可能選購哪款商品,根據預測結果,向公司其餘員工定向推廣具體的商品,提高轉化率。

資料量:資料清洗後共9113條有效資料。

1. 建立賬號

註冊一個亞馬遜雲科技的個人賬號,完成儲存空間S3和Canvas的初始化。

2. 正式體驗Amazon SageMaker Canvas

Amazon SageMaker Canvas作為一款0程式碼機器學習平臺,可以看到整個平臺介面十分的簡潔、時尚,完全不會讓人有對程式碼或者機器學習深奧知識的恐懼感,視覺效果滿分。

1)建立模型

建立一個Model,即建立了一個專案。

2)匯入資料

為專案匯入需要讓機器學習的資料。

Canvas的資料需要utf-8格式的CSV,且先上傳到S3儲存中,才能在此匯入。

除了匯入單個CSV資料集,Canvas還支援對多個CSV進行視覺化的聯表操作、匯入來自Amazon Redshift和Snowflake的資料,並進行SQL操作,提供更豐富的ETL資料處理能力。

資料安全:如果需要學習訓練的資料中,包含了公司的敏感資訊,請提前完成脫敏,避免不必要的資料洩露。

3)預覽欄位和選擇目標

檢視匯入的資料、選擇需要作為預測結果的欄位。

Select a column to predict:選擇一列欄位作為預測物件,選擇好後,Canvas會自動識別該列資料的型別,是數值、二元物件、還是多元物件等,如果識別不正確,可以點選Change type手動修改。

其他作為被分析物件的列,Canvas會自動檢測它的資料型別,但是有一定機率識別不準確,且不支援修改,所以需要檢查清楚,並在資料來源頭解決問題,例如某零件的型號格式是個數字組合,但是Canvas就會將其當作數值處理了,從而影響了機器學習準確性。

此時我選擇商品名稱作為最終的預測物件,後續系統就會自動分析其他欄位與商品名稱之間的關係,即分析不同的使用者屬性,對最後購買商品的影響。

4)預覽模型

透過點選Preview model,只需要稍等幾十秒到幾分鐘(取決於欄位的資料和資料總量),就可以看到系統的預估準確率、以及每個欄位的影響權重。Canvas會自動完成傳統機器學習過程中,從樣本庫切分訓練集、測試集的過程,自動使用測試集的完成準確率評估,降低了機器學習的操作門檻。

在過往資料模型建設的過程中,需要大量使用者調研、經驗總結、甚至專家評審的資料建模過程,Canvas就用了幾分鐘就完成了!極大地降低了資料分析的門檻(甚至完全沒門檻了,會認字看結論即可)。

如果我們發現一些欄位的影響權重非常低,對結果幾乎毫無影響,可以直接在欄位列表中去掉這些值,這樣可以提高後續分析的速度,甚至提高預測的準確性。有些欄位系統可能會認為對結果影響不大,但是我們從經驗或常識認為並非如此,則可以選擇性保留。

每次調整好要分析的欄位後,可以點選一次Preview model,看看準確率是否有所變化,從而實現最佳化模型的過程。

5)模型構建

Canvas提供了Quick快速和Standard標準兩種模式,快速一般需要2-15分鐘,標準需要2-4個小時。

標準和快速的區別是,標準的預測準確率會高些,而且支援分享給Amazon SageMaker Studio——一款面向資料科學家、研發工程師的,程式碼化機器學習平臺,讓專業使用者可以對這個模型調優、用於生產環境等。如果只是想試用,使用Quick模式將高效得多。

我嘗試了兩次標準的建模過程,發現數據量超過十萬行以上,介面預估的時間就不太準。如果只是想體驗,使用Quick build即可。

Canvas可以讓使用者不再需要關注機器學習的策略和演算法的問題,極大地降低了機器學習的入門門檻。

策略:用什麼準則去學習、確定損失函式;

演算法:此處的演算法指狹義的演算法,如最小二乘法、梯度下降、上升法等,是從數學上如何解決問題的演算法。

廣義的演算法,就是我們在學習機器學習過程中經常會聽到的名詞,如線性迴歸、決策樹、貝葉斯、支援向量機、神經網路等演算法,其實囊括了上述策略和演算法這兩者的內容。

6)訓練結果

等待機器學習完畢,就可以看到系統分析出來的預測準確率。

在概覽Overview Tab裡,可以看到每一個指標的影響係數,點選具體指標,可以檢視該指標的列舉值,對預測結果的影響係數平均/最高/75%/中位/25%/最小值,透過概覽資料,可以快速瞭解不同的欄位對於最終結果的值的具體影響。

機器自學完成了對資料的理解和影響權重的判斷,並生成了精美的權重影響表格,以往需要資料分析師或者運營同事花上個半天甚至幾天時間的工作,全自動化了。

這一步我們看到,機器認為員工所屬城市是影響商品購買決策的主要原因,其次是職級、訂單來源(裝置)、職務等資訊。婚姻、戶口、學歷等因素對購買決策影響非常小。

本次預測,系統提示的成功率是38。8%,看似不太理想,但換個思路:向三個人推送不同的商品,有一個人會喜歡這款商品,這個結果還是很不錯的,畢竟我們有五款商品,如果是隨機盲推的話,準確率就只有20%了。如果資料量更大,並採用標準的資料建模方式,應該能獲得更好的預測準確率。

點選得分Scroing Tab,可以檢視預測結果和實際結果的區別,以及對於每個預測結果的準確率,點選高階指標Advanced metrics,可以檢視到更多高階指標。

由於預測物件型別的不一樣,高階指標也不一樣,可用於給資料分析師進行更高階的預測效果判斷使用。

7)模型預測

Canvas支援批次預測和單個預測的功能,如果我們只是想測試預測效果,或者被預測物件較少或較低頻出現時,可以直接使用單個預測,輸入已知的屬性,即可完成預測過程。

此處我輸入使用者資訊後,系統預測該使用者購買商品A的意願最大,以及其他各商品的購買可能性。

批次預測,需要先將需要預測的資料集上傳到S3儲存中,再在此處選取,然後完成批次預測和結果下載。批次預測更適合商業化場景使用,可以對多個數據同時完成預測,預測結果可以用於精準推薦、定向營銷。

營銷的過程中,我們還可以把新的產生的訂單資料和舊的整合在一起,再建一個機器學習專案,不斷哺育機器學習樣本、提高預測精準性。

8)版本管理

新建版本後,可以切換不同的欄位,但是不允許修改匯入用於機器學習的資料集。如果我們認為預測結果、準確率不太理想,可以嘗試建立新的版本,對上傳的資料集,選擇不一樣的欄位,然後再重新機器學習訓練,構建獲得一個新的模型,在多個模型間對比,找到效果最好的方案。

9)模型分享

如果每次資料預測都需要先匯出要資料,然後再上傳到S3、再匯入Amazon SageMaker Canvas,然後預測、匯出結果,需求頻率一高,必然導致效率低下。

透過標準模式構建出來的模型,支援Amazon SageMaker Studio,讓研發和分析師進行更高階的開發,最終將機器學習的結果應用於業務生產過程中,使預測能力功能化、產品化。

3. 計費方式

根據Amazon SageMaker Canvas的介紹,收費是使用會話費用+模型訓練費用綜合計費。即按使用系統的時長+模型的資料量兩個維度雙重計費。

Amazon SageMaker Canvas為新人提供了免費試用套餐:免費套餐為期兩個月。該免費套餐包括每月最多 750 小時的互動式會話時間,以及每月最多 10 個模型建立請求,每個模型建立請求最多 100 萬個單元格。如果只是用於試用,應該綽綽有餘。

五、體驗總結

在評價Amazon SageMaker Canvas好壞前,我們要看它到底解決了什麼問題:Canvas相對比傳統的機器學習平臺,好處是無需編寫任何程式碼,無需學習那些高深的資料分析方法和機器學習演算法,就能實現對資料的機器學習和預測。

Canvas將機器學習的門檻大幅度降低,整個操作流程(註冊和初始化除外)甚至比很多Excel中的公式都更簡單,讓人可以輕鬆上手。Canvas還提供了工作流對接,做好的模型可以給工程師進一步使用,這就讓該平臺不僅僅是“玩玩而已”,做出來的東西是可以真正應用到生產作業中的。

隨著機器學習相關技術的不斷髮展,機器學習在很多行業已展露出逐步取代人工的態勢,未來的科技發展勢必離不開機器學習。如何降低門檻,讓更多人投入機器學習工作的懷抱中、擴大機器學習的影響面,將是一個全新的問題。

目前很多耳熟能詳的科技巨頭,如微軟、谷歌、蘋果等,都相繼推出了自己的0程式碼/低程式碼機器學習平臺,受限於資料安全、語言門檻、網路訪問以及其他一些侷限問題,其中很多平臺還處於一個不溫不火的階段。

但是,透過對Canvas的體驗,可以斷定在可期的未來,機器學習大機率會成為一種可以速成的技能,只不過是有人專門研究資料收集,有人研究如何構建模型,有人挑選演算法、有人選擇策略……就像現在的網際網路IT分工精細化一樣的過程。

有了這樣快捷的工具後,使用者將無法感知如何預防過擬合、如何進行演算法調優提效等傳統機器學習過程中常見的問題。不需要太多的統計學和行業知識,就能完成資料建模和預測,還可能導致使用者對於機器學習的過度依賴,從而忽視了行業知識的沉澱和人在此過程中的重要意義。但是這些問題,隨著0程式碼機器學習平臺的不斷升級迭代,肯定會逐步得以解決。

最後,迴歸本篇的題目,下一個資料分析師,何必是資料分析師,藉助更高階的0程式碼機器學習平臺,機器學習平臺可能就像Axure、墨刀、XD等軟體一樣流行,簡單上手,人人都是資料分析師。

#專欄作家#

iCheer,公眾號:雲主子,人人都是產品經理專欄作家。房地產/物業行業產品經理,Python程式設計愛好者,養貓發燒友。

本文原創釋出於人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基於CC0協議