白話大數據:大數據與機器學習在產品設計中的應用

1 評論 6426 瀏覽 23 收藏 10 分鐘

作為產品經理我們要明確自己不是在從事一種機械式的勞動,我們要不斷去思考新技術與產品結合的可能性,來不斷提升用戶效率降低用戶成本。通過學習與接觸新知識,我們將會不斷提升自己的認知底線,這是在增加你的替代成本,也是你能升職加薪贏娶白富美的真正原因。

這個專題將會通過真實的案例,來向好學的你用白話的方式講解一個個大數據與機器學習在產品設計中的應用。

引言

最近調研了一位班主任,他反饋了一個現象:過往的幾屆學生中總會出現這樣一種情況,原本明明是物理尖子生,但是隨著學業的進展,部分學生的物理成績開始下滑。

通過分析學生的試卷情況,老師發現學生的失分點可能是和一些數學知識相關。這是不是意味著學生物理學的不好的原因可能是在數學方面出了問題?如果真的是這樣,我該怎么幫助學生?

針對這種情況,我們是否有一種方法能夠找到物理知識點與數學知識點的關系呢?正好,公司產品里已經沉淀了大量關于學生的答題數據,基于關聯規則分析我們可以找到學生的錯題知識點的規則,最終獲得知識點間的相關規律,并將該規律應用于產品中進行知識圖譜的搭建。

關聯分析規則

關聯規則分析也稱為購物籃分析,一個經典的案例就是啤酒與尿布,最早是為了發現超市銷售數據庫中不同的商品之間的關聯關系。

美國沃爾瑪超市管理人員分析銷售數據時,發現了一個令人難以理解的現象:

在某些特定的情況下,“啤酒”與“尿布”兩件看上去毫無關系的商品,會經常出現在同一個購物籃中,且大多出現在年輕的父親身上。經調查發現,在美國有嬰兒的家庭中,一般是母親在家中照看嬰兒,年輕的父親去超市買尿布。父親在購買尿布的同時,往往會順便為自己購買啤酒。

言歸正傳,我們將數據庫的學生答題數據進行處理,將每位學生的數據整理成如下格式(整理方式不是本文重點內容,這里就不做闡述了):

現在假設,我們有10000條數據用來統計各個學生在知識點1與知識點2的掌握情況,其中有6000位學生未掌握知識點1,8000位學生未掌握知識點2,而有4000位學生同時未掌握知識點1和知識點2。

通過這個數據我們可以產生一條兩個知識點之間的關聯規則,用來表示未掌握知識點1的學生也未掌握知識點2。

這里我們需要引入三個關鍵指標來評估這條規則的有效性,分別為支持度、置信度和提升度,這里我盡量簡單的講解下:

支持度、置信度和提升度

支持度揭示了同時未掌握知識點1與知識點2的學生在整個數據集的占比,針對上方案例支持度 Support = 4000/10000 = 40%。

支持度越小,說明同時未掌握知識點1和知識點2的學生少之又少,兩個知識點之間的聯系并不大;若支持度很大,則說明未掌握知識點1與知識點2的學生占比非常大,那兩個知識點的相關性可能已經成為常識了,并不值得深究。

那僅了解支持度就足夠了么?肯定不是,通過支持度我們僅能了解到學生同時未掌握知識點1與知識點2的頻率,但我們并不能得到未掌握知識點1對未掌握知識點2起了多少決定因素。因此,我們要引入第二個指標,就是置信度。

置信度揭示了在未掌握知識點1的學生人群中,同時有多少學生也未掌握知識點2。針對上方案例,置信度 confidence = 4000/6000 = 67%。也就是意味著,在未掌握知識點1的學生中有67%的學生也未掌握知識點2。

是不是看了以上兩個指標后,你會覺得知識點1與知識點2肯定存在著某種頻繁關系?

畢竟67%已經不算是一個小數字了。但是我們再回看下案例,如果我們不考慮知識點1的掌握情況,只看知識點2的未掌握學生占比,這個值會高達 80% !這就表明未掌握知識點1對未掌握知識點2并不是一個正向的關系,未掌握知識點1的可能性提升反而會導致未掌握知識點2的可能性下降。

是不是很反常理?我額外掌握了一個知識點居然會讓我遺忘另一個知識點。其實,從現象上講這也是可能的。因為,人的大腦容量有限,并且部分知識點會存在干擾項,你學得多就會導致做題的時候會多種思考的維度,這可能會讓學生誤入歧途。(時隔多年,我終于找到我考試考不好的原因了?。榱私鉀Q這個問題,我們引入了提升度。

  • 當提升度為1時說明,應用關聯規則和不應用關聯規則產生相同的結果;
  • 當提升度大于1時,說明應用關聯規則和不應用關聯規則能產生更好的結果;
  • 當提升度小于1時,關聯規則具有負相關的作用。

本例中的提升度 Lift = 67 % / 80% = 0.84,所以知識點1與知識點2是負相關的。

實際應用

解釋完以上內容后,相信大家已經對關聯分析規則有了一個大致的概念。接下來我們進行實操,針對所有知識點進行兩兩組合,分別統計在未掌握知識點1的情況下未掌握知識點2的學生出現的數量、支持度、置信度和提升度。

因為閱讀本文的你很有可能并不會代碼(產品經理也不需要會代碼,了解整體思路即可),我們就直接給出代碼運行結果(有興趣的小伙伴可以去自學下,工具為Python,庫為sys,Pandas,apriori), 我們根據出現的實例數進行降序,并找到提升度>1的知識對,得到如下表格。

通過表格我們可以發現(牽扯到公司數據安全,這里我們就使用ID來進行說明),ID為0131535的知識點與ID為0134176的知識點同時未掌握的頻次最高。并且,兩個知識點未掌握知識點0131535的學生,同時未掌握的知識點0134176的概率是47.23%,未掌握知識點0131535將會增加未掌握知識點0134176的可能性,提升度為1.341。

我們可以建議老師在學生若未掌握知識點0134176 的時候,可以適當講解知識點0131535。

并且通過如上分析結果,我們可以提煉學生知識點間掌握程度的關聯(也可擴展到多個知識點),一個8年級的知識點學不會可能是因為6、7年級的某些知識點沒有掌握而導致的,以此來搭建學生知識圖譜,幫助學生追根溯源,找到知識漏洞。

結語

本文案例是教育行業知識圖譜的應用,那關聯規則還能用于哪些場景呢?

這里可以舉幾個常見場景:

  • 購物組合(購物車商品推薦)
  • 關鍵字搜索關聯分析
  • 網頁頁面瀏覽關聯分析
  • 購買行為預測
  • 流量來源預測
  • ……

以上是本次分享的內容,有沒有發現,機器學習與大數據并不可怕?

 

作者:Pirate,用白話說大數據給你聽。

本文由 @Pirate 原創發布于人人都是產品經理,未經許可,禁止轉載

題圖來自 Unsplash,基于 CC0 協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 仰望大神,好厲害

    來自廣東 回復