數據驅動優化:如何利用 KNN 算法驅動產品優化?

2020-12-27 人人都是產品經理

在網際網路行業中常常有利用數據分析或者數據挖掘的結論來應用到產品中,驅動產品的優化,提升產品的各項KPI 指標, 在數據挖掘和數據分析的背後會涉及到一些數據挖掘或者機器學習的算法。本文主要是knn算法原理的介紹,以及在它在網際網路行業中的具體應用,後續會介紹這個算法的具體實現(R 語言和python 語言)。

一、knn 算法原理:

現在假如有一個樣本, 樣本中的每一個叫做個體, 我們已經知道這些個體所屬的類別,現在有一個新的未知類別的個體,我們可以通過計算它與樣本中所有個體的相似距離,然後找出與它具體最小的k個個體, 這k個個體最多的類別就是這個新的個體的預測的類別。

算法步驟:

1.計算測試數據與各個訓練數據之間的距離

計算具體之前需要對數據中的每一個屬性進行數據歸一化,防止數據過大對距離的計算產生影響:

數據歸一化:

x* = (x – x_mean)/(x_max -x_min)

x_mean 表示數據的均值, x_max 表示數據的最大值, x_min 表示數據的最小值

例如有一個屬性的取值為:20, 40, 80, 100,則首先計算平均值: (20+30+80+100)/4=60。

最小值:20 ,最大值: 100,則歸一化後每個值為:

  • (20-60)/(100-20)=-0.5
  • (40-60)/(100-20)=-0.25
  • (80-60)/(100-20)= 0.25
  • (100-60)/(100-20)=0.5

2.計算各體之間的距離公式如下

  1. 按照距離的遞增關係進行排序;
  2. 選取距離最小的K 個點;
  3. 確定前K 個點所在類別的出現頻率;
  4. 返回前K 個點中出現頻率最高的類別作為測試數據的預測分類。

二、在網際網路實際情景中的應用

1. 需求背景

現在某app 上了一個歌詞製作的功能, 每天會有一定的用戶去使用歌詞製作的功能,製作的歌詞會經過外包團隊的審核,來判斷這個歌詞是否能夠投入使用。

現在根據一段時間的審核,已經能夠根據製作歌詞質量的好壞來將整體歌詞製作的用戶細分為:優質用戶,即製作的歌詞數目又多質量又高;一般用戶,製作的歌詞數和質量都屬於普通的情況;垃圾用戶,即製作的歌詞數目不多質量又差。

業務方需要提高整體的歌詞製作質量所以希望能夠根據現有的優質用戶具有的特徵,去發現更多這種類似的用戶,來不斷提高整體的UGC 歌詞。

2. 需求溝通

數據分析師根據對業務的理解與業務方溝通,探討可能決定一個歌詞製作的用戶是否是優質用戶可能具有的特徵,以及業務方根據業務的熟悉和敏感度給出的分析建議,然後再次分析這個需求的需求目的以及需求執行的可行性(是否有支持的數據)。

3. 數據探索

根據溝通後的結論,數據分析師從數據倉庫提取相對應的數據,即提取三類用戶的一些屬性特徵及其用戶ID,如下圖所示:

  • userid 指的是用戶的帳號
  • song_play_7 指的是過去 7 天的平均播放量
  • lyric_activity_7 指的是過去 7 天的對歌詞有效活躍行為: 如歌詞搜索, 歌詞報錯,歌詞分享,歌詞翻譯,歌詞改錯等
  • type: 代表用戶是屬於哪一種類型的用戶: 優質 2 , 一般 1 ,垃圾 0

本次例子假如是沒有缺失值和異常值,一般來說要對數據中的缺失值和異常值進行處理。比如去掉異常值,對缺失值進行均值或者眾數來代替。

4. knn 算法預測一個新用戶是否是屬於優質用戶

假如已經知道這個用戶的播放量為140,報錯次數為3,歸一化處理後為:0.932203,0.5

首先對上面的數據進行歸一化處理:

計算這個新的用戶和圖中的每一個用戶的歐式距離為:

((0.932203- 0.762711864)^2+(0.5-0.833333333)^2) 的開方根

依次計算結果如下:

則最小距離的前三位分別為0.373948311, 1.16863508, 1.537825481,他們對應的type 都是 2 ,即優質用戶, 則可以判斷這個新用戶為優質用戶。

  • 0.373948311
  • 1.16863508
  • 1.537825481
  • 3.504101344
  • 4.363063227
  • 5.500652804
  • 6.544595038
  • 7.392345678
  • 8.515194827

類似的大盤的所有的用戶都可以採取這種方式來找出優質用戶進行拉新。

5. 結果反饋模型落地

將這個模型的預測過程和結果與業務方溝通,並且安排模型落地,並監控上線之後的效果,不斷改善模型.

6. 可能具有的成果

根據這個模型業務方發現了優質用戶所具有的特徵屬性,通過運營的方式拉取很多優質用戶,大大提高整體的優質歌詞的比例,提高KPI 指標。

 

本文由 @陳友洋  原創發布於人人都是產品經理。未經作者許可,禁止轉載。

題圖來自 pexels,基於CC0協議

相關焦點

  • 數據+ 進化算法 = 數據驅動的進化優化?進化算法 PK 數學優化
    數據驅動的進化優化是什麼,僅僅就是數據 + 優化算法嗎?數據驅動的進化優化適用於哪些應用場景?傳統的數學優化方法是否迎來了新一輪的挑戰。本文將為您深入淺出的解答以上問題。文末我們還附上了相關資料與參考文獻的大禮包,這些資料並非一個簡單的書單,是經過本文兩位作者多年的研究經驗和學習歷程精心挑選整理的,有頂級期刊的優質論文,也有科普大眾的通俗講義。
  • 如何構建數據驅動組織
    02 如何打造數據驅動力事實上,大多數組織(尤其是大型企業)都已投入大量資源來收集、存儲、保護和分析其業務數據,越來越多的企業管理層預期他們的投資會帶來具有變革意義的回報。;數據資產的獲取和存儲;數據資源的共享和協作;價值場景的探索和挖掘;數據服務的構建和利用;數據產品的度量和運營。
  • Win10 19536發布 可選驅動更新 優化Family群組
    Win10 19536發布 可選驅動更新 優化Family群組Windows 10 Build 19536版本更新內容:可選驅動更新本次更新最明顯的改進對於那些熟悉韓文輸入的用戶,在使用Hanja進行輸入的時候,微軟將會提供新的候選窗口,該窗口使用現代控制項和更清晰的字體:新的輸入法優化了算法,用於在使用觸摸鍵盤編寫韓語時進行文本預測。文字建議現在應該更加準確,並且與您所寫的內容相關。
  • 數據驅動人工智慧的實踐 | 雷鋒網公開課
    我在國內外從事AI有十來年,涉及了AI在多媒體理解、社交、廣告、營銷、金融等領域的產品與研發工作。在這兒,我想跟大家分享一些自己的從業思考。數據驅動的AI框架,可以帶來哪些作用?說到數據,毋庸置疑,是咱們這個時代很重要的資產。大家常說大數據有「3V」:volume,數據量,從TB到PB甚至更大的數據。variety,多樣性,包括結構化,半結構化,非結構化的數據。
  • 基於KNN和Kmeans算法利用MNIST數據集實現手寫數字識別
    利用kd樹可以省去對大部分數據點的搜索,從而減少搜索的計算量。在KNN中我們的目的是求前K大的或者前K小的元素,實際上有一個比較好的算法,叫做BFPTR算法,又稱為中位數的中位數算法,它的最壞時間複雜度為O(n),它是由Blum、Floyd、Pratt、Tarjan、Rivest 提出。
  • 珀萊雅:電商發力渠道優化 品牌和產品升級驅動
    來源:證券市場紅周刊珀萊雅(603605)投資建議: 電商和單品牌店強勢發力,產品和形象升級持續驅動。品類變化導致毛利率小幅下滑 0.4pct 至 62.18%,形象宣傳費增加使得銷售費用率提升1.65pct,但平臺化管理、人員優化使得管理費用率下降 3.98pct(管理職工薪酬費用率下降 1.8pct), 淨利率提升 1.33pct 至 15.39%。電商強勢發力,線下增速提升,渠道優化成效顯著。
  • 數據驅動設計:如何提升註冊轉化率?
    這種工程和分析的思維就是把一個大的問題細化成一系列小的問題,然後針對每一個小的問題進行迅速的改進,很多小的迭代累積而成大幅度的改進產品整體體驗,並最終產生大幅度的商業效果。註冊激活用戶是增長的開始,今天我們就以「註冊」為例,聊一聊如何從數據驅動產品的角度,進行註冊環節的研發和迭代。
  • 深解數據驅動:從過去 到未來
    伴隨著最近這幾年BigData, AI, Machine Learning概念的火爆,數據驅動(Data Driven)做為一個策略被IT界滄海拾珠 , 重新翻炒。在這個大趨勢下,如何做到數據驅動?如何發揮了投資無數的DT(Data Technology的收益,而不只是一堆高性能高並發的一零一零?如何在回答圖靈問題之外,有效的部署機器算法去解決真實的問題?
  • AMD新顯卡驅動迎來更大變化:自動優化 無線串流
    AMD新顯卡驅動迎來更大變化:自動優化 無線串流 2018年12月14日 13:16作者:孫斌編輯:孫斌文章出處:泡泡網原創   北京時間2018
  • 實測:NV為逼你換顯卡驅動「負優化」?
    至於為什麼「最老」版本表現會比較弱,是因為卡剛上市的時候,驅動對其的優化還不是最好,因此無法釋放它全部的實力,反正都是老生常談的東西了。總之在這5款熱門大作中依舊沒有「負優化」的表現。發熱量測試:為了模擬玩家的使用環境,我們的測試也是把平臺安裝到機箱裡面再進行的,用顯卡測試軟體Furmark滿載運行直到溫度上升至穩定為止,記錄數據。
  • 算法模型自動超參數優化方法
    貝葉斯優化可以這樣進行。選擇幾個數據點x,使在當前先驗分布上運行的獲取函數a(x)最大化。評估目標成本函數c(x)中的數據點x,得到結果,y。用新的數據更新高斯過程先驗分布,以產生一個後驗(它將成為下一步的先驗)。解釋當前的高斯過程分布(這是非常便宜的),以找到全局最小值。貝葉斯優化就是把概率論的思想放在代入優化的思想後面。綜上所述:代用優化利用代用函數或近似函數通過抽樣來估計目標函數。
  • 神策數據舉行2017數據驅動大會
    全球視野,展現數據驅動理論實踐的前沿陣地 以全球視野萃取本土智慧。本屆數據驅動大會聚焦國內本土企業數據化建設升級轉型,構建中外創新交流平臺,領略前沿科技魅力,為中國創新數據驅動道路提供真知灼見。就市場容量、科技發達程度和市場活躍度而言,美國和加拿大始終是全球大數據行業發展的風向標。
  • 八張圖,看懂數據分析如何驅動決策
    關注並將「人人都是產品經理」設為星標每天早 07 : 45 按時送達如今在這個大數據時代,數據對於企業的重要性越來越明顯,因此不少企業開始做數據驅動決策,讓業務裡的每個人都可以更精準的展開工作;本文作者分享了關於數據分析如何驅動決策的講解,我們一起來看一下。
  • 優化新作 NVIDIA發布378.66 WHQL驅動
    NVIDIA近日發布了WHQL版的378.66驅動,此次優化的遊戲包括《狙擊精英4》《榮耀戰魂》《光環戰爭2》等熱門大作。  同時,NVIDIA表示新驅動支持Video SDK 8.0,可以提供10/12-bit硬體解碼VP9、HEVC加速,已經更好的多媒體性能。
  • 數據驅動下催生智慧交通信號全流程優化新平臺
    在第十五屆中國智能交通年會道路交通控制與優化分論壇上,海信網絡科技公司智慧交通事業本部副總經理陳曉明發表了《數據驅動的城市級交通信號控制智能調優》主題演講,展示了海信在智能信號調優領域的最新研究成果。同時平臺支持對路段電警及卡口過車數據進行統計分析,通過大量社會車輛獲取的行程時間及平均速度數據評價路段優化效果,增強評價的客觀性及可靠性。第三,是調優管理。
  • mysql 如何優化left join
    於是我上網查了下MySQL實現join的原理,原來MySQL內部採用了一種叫做 nested loop join的算法。Nested Loop Join 實際上就是通過驅動表的結果集作為循環基礎數據,然後一條一條的通過該結果集中的數據作為過濾條件到下一個表中查詢數據,然後合併結果。
  • R語言--鄰近算法KNN
    ❝KNN(k鄰近算法)是機器學習算法中常見的用於分類或回歸的算法。它簡單,訓練數據快,對數據分布沒有要求,使它成為機器學習中使用頻率較高的算法,並且,在深度學習大行其道的今天,傳統可解釋的簡單模型在工業大數據領域的應用更為廣泛。本文介紹KNN算法的基本原理和用R代碼實現。
  • 利用遺傳算法優化GANs
    遺傳算法是根據大自然中生物體進化規律而設計提出的,是根據大自然中生物體進化規律而設計提出的。是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法。在本片文章中,我們嘗試使用遺傳算法來對訓練GANs進行優化,我們的訓練模型是生成手寫數字。
  • 朗播網教研活動上海場:數據化驅動自適應學習新篇章
    隨著在線教育的發展,市場在呼喚新型教研人才的出現:既懂教學又懂產品的新型人才:眾多的老師希望增強自己的產品化思路,了解自適應學習;眾多的在線教育從業者希望自己深入了解教育產品本質,將網際網路更切實落到教育領域。
  • 不要再說「負優化」了 NVIDIA新驅動提高幀數
    【PConline 資訊】作為負優化的代表,NVIDIA之前經常發生更新顯卡驅動導致顯卡跑分下降的情況,讓人詬病。不過NVIDIA近期貌似痛改前非,不斷針對主流遊戲進行優化。2月27日,NVIDIA發布了GeForce Game Ready 391.01 WHQL正式版驅動(Win10 64Bit、Win7 64Bit)。