案例解讀:Canvas在翻轉(zhuǎn)課堂中的二分類(lèi)預(yù)測(cè)應(yīng)用
編輯導(dǎo)語(yǔ):隨著技術(shù)的發(fā)展,我們會(huì)采取一些新形態(tài)來(lái)輔助日常業(yè)務(wù),比如翻轉(zhuǎn)課堂就是在線教育中的一種新形態(tài)。但是,如何才能讓翻轉(zhuǎn)課堂發(fā)揮更好的效果?本篇文章里,作者結(jié)合Amazon SageMaker Canvas做了應(yīng)用測(cè)評(píng),一起來(lái)看看吧。
一、案例背景
1. 背景介紹
在線教育的一種新形態(tài),利用建構(gòu)主義來(lái)推進(jìn)更好學(xué)習(xí)效果的達(dá)成。
而形態(tài)上,更多以翻轉(zhuǎn)課堂的形式來(lái)落地。它的真正達(dá)成需要一些要素,其中一個(gè)比較重要的點(diǎn)在于同學(xué)們之間能夠互相討論啟發(fā),這樣才能發(fā)揮出教學(xué)內(nèi)容的更好吸收效果。
在引入正式的分析之前,簡(jiǎn)單介紹一下翻轉(zhuǎn)課堂,是一種講練結(jié)合的方式,先老師講一段內(nèi)容,然后同學(xué)討論,通過(guò)同學(xué)與同學(xué)之間對(duì)前面內(nèi)容的討論,達(dá)到對(duì)內(nèi)容的更好理解,這種互相碰撞能對(duì)概念理解得更深刻,對(duì)使用邊界更明確,對(duì)過(guò)往經(jīng)驗(yàn)的復(fù)盤(pán)與未來(lái)使用方面都能有一些不錯(cuò)的聯(lián)系與觸動(dòng)。
2. 當(dāng)前問(wèn)題卡點(diǎn)
而當(dāng)前的中間過(guò)程的問(wèn)題卡點(diǎn),同學(xué)們進(jìn)入翻轉(zhuǎn)課堂時(shí)討論不起來(lái),而討論不起來(lái)的原因是很少的人進(jìn)入房間內(nèi)發(fā)言,會(huì)有一個(gè)房間1個(gè)人發(fā)言,其他人沉默的情況。
二、分析框架確定
1. 基本假設(shè)
為了能夠達(dá)到更好的效果,那么需要讓同學(xué)在聽(tīng)講之后,針對(duì)前面學(xué)過(guò)的內(nèi)容進(jìn)行討論。大家可以回憶想象一下高中的場(chǎng)景,老師臺(tái)上講完了內(nèi)容,臺(tái)下前后桌分組討論。討論起來(lái),互相碰撞思想時(shí)才是此時(shí)的精髓。
因?yàn)榫€下的過(guò)往關(guān)系積累以及線下的關(guān)系壓力等,所以大家發(fā)言討論不是難事兒,但線上的場(chǎng)景里,有些難度。在嘗試了通過(guò)數(shù)據(jù)瞄定線上關(guān)系,通過(guò)關(guān)系分組失敗之后,將視角轉(zhuǎn)移到了人的方面,在這里首先有兩個(gè)假設(shè):
- 發(fā)言是需要有過(guò)往積累的。
- 發(fā)言的人在過(guò)去的跡象中有做出一些不同的表現(xiàn),更活躍更愿意參與各種意見(jiàn)表達(dá)。
2. 確定分析目標(biāo)
在結(jié)合問(wèn)題方面,鎖定分析目標(biāo)就有兩個(gè):
- 通過(guò)同學(xué)歷史數(shù)據(jù)進(jìn)行建模,最終能夠預(yù)測(cè)用戶發(fā)言與否的模型;
- 能夠嘗試確定哪些行為對(duì)識(shí)別發(fā)言比較重要,作為后續(xù)產(chǎn)品運(yùn)營(yíng)的一個(gè)考慮抓手。
三、數(shù)據(jù)介紹
1. 基于假設(shè)的指標(biāo)選擇
為了能夠相對(duì)準(zhǔn)確地做出發(fā)言與否的預(yù)測(cè),那么從兩個(gè)假設(shè)里去找到相關(guān)的可量化的數(shù)據(jù)指標(biāo)。最終選定了四大類(lèi)數(shù)據(jù)。分別是基礎(chǔ)數(shù)據(jù)、歷史此類(lèi)活動(dòng)的數(shù)據(jù)、歷史學(xué)習(xí)情況以及互動(dòng)情況。
根據(jù)上面的四大方面,確定了如下的指標(biāo):
2. 目標(biāo)值確定
除了上述的變量之外,目標(biāo)字段為talk,他的判斷條件是在talk廳發(fā)言超過(guò)1min計(jì)為1,小于等于1min的計(jì)為0。
3. 數(shù)據(jù)量備注
因?yàn)槭褂肅anvas的過(guò)程中會(huì)需要上傳文件,所以進(jìn)行了脫敏,使該數(shù)據(jù)集既能保留了數(shù)據(jù)原本有用的部分,又能得到一定的保護(hù)。
由于是新業(yè)務(wù)初期,所以能夠拿到的只有2000+條數(shù)據(jù)。雖然看起來(lái)比較少,但能夠用于做最初的簡(jiǎn)單模擬。
四、利用Canvas建立機(jī)器學(xué)習(xí)模型
1. 操作總結(jié)
在Canvas建立模型的操作分為以下5個(gè)步驟:
- 構(gòu)建aws數(shù)據(jù)存儲(chǔ);
- 導(dǎo)入數(shù)據(jù);
- 通過(guò)目標(biāo)區(qū)分回歸與預(yù)測(cè)模型;
- 建立模型;
- 完成模型,回歸結(jié)果。
2. 構(gòu)建數(shù)據(jù)存儲(chǔ)
首先打開(kāi)Amazon SageMaker Canvas。因?yàn)榍捌谖乙呀?jīng)注冊(cè)好了Amazon SageMaker Canvas,所以注冊(cè)登錄等不做演示。
接下來(lái)搜索s3,打開(kāi)s3,在buckets下創(chuàng)建數(shù)據(jù)存儲(chǔ)位置,點(diǎn)擊“create bucket”來(lái)創(chuàng)建存儲(chǔ)數(shù)據(jù)的桶。
圖中是我創(chuàng)建的三個(gè)bucket,我在本次操作中使用的是sagemarker-studio-l,點(diǎn)擊打開(kāi)它,在里面上傳本地csv。此處需要注意,只能上傳csv,xlsx這樣格式上傳之后后續(xù)也是無(wú)法使用的,需要格外注意。
通過(guò)upload來(lái)打開(kāi)下一個(gè)上傳頁(yè)面,通過(guò)add files打開(kāi)我們要用的csv的文件夾,點(diǎn)擊上傳完成文件添加。
3. 導(dǎo)入數(shù)據(jù)
搜索Canvas回到這個(gè)頁(yè)面,點(diǎn)擊左側(cè)邊欄的Canvas啟動(dòng)Canvas功能。
打開(kāi)后的頁(yè)面就如下方圖的界面。
理論上來(lái)說(shuō),都是有數(shù)據(jù)才有模型,不過(guò)在Canvas里并沒(méi)有完全固定的順序,先添加數(shù)據(jù)或者先添加模型都是可以的。
現(xiàn)在我們先建立一個(gè)模型,點(diǎn)擊“new model”,對(duì)model起一個(gè)可辨識(shí)的名字。方便后續(xù)查看。
我會(huì)以我的目標(biāo)以及版本操作來(lái)命名。在此次操作中,起名為talk-vx(下圖是第3次建立模型,所以命名為talk-v3)。
在頁(yè)面中選擇import數(shù)據(jù)的方式,將s3中bucket下sagemarker-studio-l中存儲(chǔ)的csv導(dǎo)入到模型可選范圍中,并選中對(duì)應(yīng)數(shù)據(jù)集。下方圖為操作示意圖。
在所有都操作結(jié)束后,選擇對(duì)應(yīng)的數(shù)據(jù)集,點(diǎn)擊“select dataset”來(lái)確定數(shù)據(jù)集。
4. 通過(guò)目標(biāo)區(qū)分回歸與預(yù)測(cè)模型
在我的數(shù)據(jù)集中,talk是這個(gè)用戶發(fā)言or沒(méi)有發(fā)言,再次明確一下這個(gè)目標(biāo)字段的含義,在talk廳發(fā)言1min以上的為1,否則計(jì)為0。
在select a column to predict的欄目下,選擇talk為最終目標(biāo)字段。Canvas很智能地識(shí)別到了是二分類(lèi)模型。
5. 建立模型
可以快速查看一下我們指標(biāo)的情況,之后可以通過(guò)quick build快速構(gòu)建模型,之后會(huì)自動(dòng)定位到analysis頁(yè)等待一段時(shí)間。
這個(gè)過(guò)程中我們只需要等待,別的操作是沒(méi)有的。
6. 完成模型,回歸結(jié)果
如下圖所示,Canvas已經(jīng)完成了模型模擬,并返回了準(zhǔn)確率的結(jié)果。
1)準(zhǔn)確率概念明晰
準(zhǔn)確度在85.681%,看起來(lái)是不錯(cuò)的情況了。但這里需要明確一個(gè)問(wèn)題,什么是準(zhǔn)確率?
機(jī)器學(xué)習(xí)中的準(zhǔn)確率=預(yù)測(cè)對(duì)的個(gè)數(shù)/整體的個(gè)數(shù)。
我們這里舉個(gè)例子。在這個(gè)實(shí)驗(yàn)中,假如有10個(gè)數(shù)據(jù),6個(gè)是0,4個(gè)是1;而預(yù)測(cè)出的10個(gè)結(jié)果,6個(gè)0中預(yù)測(cè)出了5個(gè)0,4個(gè)1中預(yù)測(cè)出了2個(gè)1,那么這里的正確率就是(5+2)/10 = 70%。
2)不使用準(zhǔn)確率作為評(píng)判標(biāo)準(zhǔn)的原因
Canvas也提供了準(zhǔn)確率部分的查詢。可以打開(kāi)scoring的頁(yè)面來(lái)看整個(gè)模型的預(yù)測(cè)情況。
在下圖中,能夠看到最左邊的數(shù)據(jù)是400+的數(shù)據(jù)量,而在前文中,放到模型里的數(shù)據(jù)是2000+的數(shù)據(jù)。
這里就類(lèi)似我們?cè)谑褂脵C(jī)器學(xué)習(xí)中切分訓(xùn)練集和測(cè)試集數(shù)據(jù)的操作,切出來(lái)一部分用做訓(xùn)練模型的預(yù)測(cè)。
通過(guò)顏色與條狀寬度我們可以分辨到1是個(gè)小部分,0是個(gè)大部分,但在預(yù)測(cè)錯(cuò)誤的情況中,1預(yù)測(cè)為0的與0預(yù)測(cè)為1的這兩種錯(cuò)誤情況,圖上的寬度看起來(lái)是相近的。
但這里有我們需要兼顧看真實(shí)的0和1的寬度分布,可以知道1預(yù)測(cè)錯(cuò)誤的數(shù)量/實(shí)際為1的數(shù)量>0預(yù)測(cè)錯(cuò)誤的數(shù)量/實(shí)際為0的數(shù)量。
所以可以很清晰地看到不均衡的數(shù)據(jù)用準(zhǔn)確率的衡量方式并不靠譜。說(shuō)個(gè)極端點(diǎn)兒的例子,1000條數(shù)據(jù)中,999個(gè)0,1個(gè)1,就算把所有都預(yù)測(cè)為0,也能保證其較高的準(zhǔn)確率,99.9%。但在這種情況下,99.9%的準(zhǔn)確率對(duì)我們實(shí)在預(yù)測(cè)時(shí)并沒(méi)有什么用處。因?yàn)?才是我們希望準(zhǔn)確預(yù)測(cè)出來(lái)的。
3)選擇混淆矩陣作為評(píng)判依據(jù)
所以這里我們要用另一種方式來(lái)看,用混淆矩陣的方式來(lái)判斷模型的好壞。當(dāng)然Canvas也提供了查看混淆矩陣的入口。點(diǎn)擊“advanced metrics”來(lái)查看混淆矩陣。
混淆矩陣中,我們需要定義什么是正例,正例就是我們期望的那個(gè)記過(guò),在我們這個(gè)案例中,
因?yàn)槲覀円吹降念A(yù)測(cè)人是發(fā)言的人,也就是talk = 1。于是在左上角“positive class”下選擇“1”,那么我們可以很容易看到該模型在準(zhǔn)確率與召回率兩方面的情況,分別是62.887%和70.115%。都不是特別高的情況。
4)混淆矩陣快速理解
關(guān)于混淆矩陣,為了方便理解,通過(guò)一個(gè)小例子強(qiáng)調(diào)幾個(gè)基本概念。
比如我們從一群人中通過(guò)數(shù)據(jù)預(yù)測(cè)出女生。
- 那么準(zhǔn)確率就是TP/(TP+FP),這個(gè)值低就是把男生也預(yù)測(cè)為女生,說(shuō)明把我們不想找到的也找出來(lái)了。
- 那么召回率就是TP/(TP+FN),這個(gè)值低就是把女生預(yù)測(cè)為了男生,說(shuō)明把我們想找到的也沒(méi)能找出來(lái)。
5)Canvas可以有更短時(shí)間有更高的模型效果
回到前面的案例,可以看到這準(zhǔn)確率和召回率這兩個(gè)都不是特別高的水平,低于80%。
那么這樣的例子,可以說(shuō)是Canvas的模型模擬水平不足嘛?
當(dāng)然不可以這么武斷地下結(jié)論。
因?yàn)闄C(jī)器學(xué)習(xí)模型的結(jié)果不行,有兩種可能:
- 第一種是數(shù)據(jù)不行,所謂“garbage in,garbage out”。
- 第二種是模型選取的不行,每個(gè)模型都有其適用邊界,表現(xiàn)的好壞。
當(dāng)然這兩個(gè)可能都沒(méi)有辦法完全斷定。
但用另一種方法來(lái)判斷,拿這個(gè)數(shù)據(jù)通過(guò)python做過(guò)模型,利用自己做的模型選擇的算法選擇了邏輯回歸模型。下方的LR即為選擇的結(jié)果。
經(jīng)過(guò)調(diào)參后,準(zhǔn)確率60.85%,召回率65.84%。在不斷調(diào)參之后效果并不如Canvas處理的好。
如果去使用Canvas的話,也就是消耗了1/10的時(shí)間與精力,就足以得到更好的效果,那么就可以大大提升日常工作效率。
回到上面的話題,通過(guò)這兩次的比較,基本斷定的是數(shù)據(jù)質(zhì)量不高導(dǎo)致的。
需要對(duì)數(shù)據(jù)指標(biāo)或者數(shù)據(jù)量需要有所改進(jìn)??梢钥紤]:
- 用更多的指標(biāo)或替換更有用的指標(biāo)
- 更多的數(shù)據(jù)量來(lái)重新訓(xùn)練。
五、回歸分析目標(biāo)
那么回歸最初的分析目標(biāo)。
- 通過(guò)同學(xué)歷史數(shù)據(jù)進(jìn)行建模,能夠構(gòu)建預(yù)測(cè)用戶發(fā)言與否的模型。
- 能夠嘗試確定哪些行為對(duì)識(shí)別發(fā)言比較重要,作為后續(xù)產(chǎn)品運(yùn)營(yíng)的一個(gè)考慮抓手。
1. 第一個(gè)分析目標(biāo)回歸
在第一個(gè)分析目標(biāo)上,沒(méi)有達(dá)成得非常好。但Canvas的結(jié)果比自己做的效果好,且時(shí)間更短。所以可以采用Canvas的結(jié)果,用Canvas建構(gòu)的模型來(lái)預(yù)測(cè)后續(xù)的情況。
同時(shí)這里可以考慮兩個(gè)迭代方向:
- 一個(gè)是在選擇數(shù)據(jù)指標(biāo)方面,能夠思考找到更多邏輯上相關(guān)的可能數(shù)據(jù)指標(biāo);
- 另一個(gè)是在數(shù)據(jù)量方面,積累更多的業(yè)務(wù)數(shù)據(jù)來(lái)訓(xùn)練模型。
但是,在沒(méi)有更好的策略時(shí),Canvas的模型結(jié)果是一個(gè)當(dāng)前可以考慮采納的結(jié)果。
2. 第二個(gè)分析目標(biāo)回歸
在第二個(gè)分析目標(biāo)上,可以初步找到需要關(guān)注的指標(biāo)。
可以從這個(gè)左邊指標(biāo)影響程度上能夠看到哪些指標(biāo)是對(duì)預(yù)測(cè)發(fā)言情況有作用的指標(biāo)。
前6個(gè)指標(biāo)分別是:
- 停留在talk廳的時(shí)長(zhǎng);
- 停留在課程與talk廳的總時(shí)長(zhǎng);
- 看其他課程并發(fā)送消息互動(dòng)的數(shù)量;
- 付費(fèi)到現(xiàn)在的時(shí)間天數(shù);
- 停留在老師講課處的時(shí)長(zhǎng);
- 周活躍天數(shù)。
這些是可以考慮的前6個(gè)指標(biāo),但有個(gè)額外注意的內(nèi)容,單純地提升talk廳的時(shí)長(zhǎng)是沒(méi)有意義的,所以需要接下來(lái)去看什么與talk廳停留時(shí)長(zhǎng)相關(guān),那些停留時(shí)長(zhǎng)更長(zhǎng)的與更短的區(qū)別在哪些方面等等。
當(dāng)然這些都是與業(yè)務(wù)集合推進(jìn)的步驟,但確實(shí)是找到了接下來(lái)可以考慮的抓手方向。
六、期望與總結(jié)
在使用過(guò)程中對(duì)Canvas有兩個(gè)期望:
- 能夠連上公司的數(shù)據(jù)庫(kù),拿到數(shù)據(jù)更方便,這樣能夠更快去選取數(shù)據(jù)并構(gòu)建訓(xùn)練模型。
- 能夠?qū)?shù)據(jù)預(yù)測(cè)結(jié)束后的結(jié)果返回,例如有返回結(jié)果api接口。這樣就能輔助后續(xù)線上的互動(dòng)教育做到更快速又合適的分組了。
總結(jié)
Canvas是一個(gè)非常方便快捷高效的工具,它的好處如下:
1)簡(jiǎn)單快捷易操作,通過(guò)導(dǎo)入數(shù)據(jù)、quick build等快捷完成短時(shí)間高效果的模型訓(xùn)練。相比于自己模型寫(xiě)代碼,訓(xùn)練模型且不斷調(diào)參,Canvas達(dá)到更好的效果也就消耗1/10的時(shí)間。
2)因?yàn)槟P偷男Ч?,?xùn)練速度更快,可以在特征工程做完之后,快速對(duì)數(shù)據(jù)情況有個(gè)把握,這些數(shù)據(jù)能夠訓(xùn)練到什么程度。當(dāng)然沒(méi)有特別好的特征工程處理的話,就可以用邏輯縮小范圍,不斷構(gòu)建模型嘗試,找到最合適的用于分類(lèi)的要素。
3)能夠在模型結(jié)果輸出后,得到模型中的指標(biāo)重要性,可以考慮作為相關(guān)的抓手要素.
作者:李猛
本文由 @三法?原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自 Unsplash,基于CC0協(xié)議。
看到最后再想到自己的粗略分析就笑了,不愧是得一等獎(jiǎng)的牛神。。。。還是得細(xì)致出功夫
一篇手把手教你如何使用Amazon SageMaker Canvas工具的文章,感覺(jué)可以有效提高翻轉(zhuǎn)課堂的效率
哈哈哈哈作者分析的很是專(zhuān)業(yè)!看標(biāo)題我以為是可畫(huà),結(jié)果是這么高級(jí)的東西