機器學習篇-名詞:候選集,覆蓋率
其實關於二分類問題當中出現的候選集以及覆蓋率的相關說法,我之前也是沒有聽說過的,我是通過參加天池的比賽-商場中精確定位用戶所在店鋪才了解到的。
針對該比賽先了解一下其中的數據情況:
本賽題目標為在商場內精確的定位用戶當前所在商鋪。在真實生活中,當用戶在商場環境中打開手機的時候,存在定位信號不準、環境信息不全、店鋪信息缺失、不同店鋪空間距離太近等等挑戰,因此如何精確的判斷用戶所在商鋪是一個難題。
本次大賽我們將提供在2017年8月份大概100家商場(複賽為2017年7-8月大概500家商場)的詳細數據,包括用戶定位行為和商場內店鋪等數據(已脫敏),參賽隊伍需要對其進行數據挖掘和必要的機器學習訓練。另外,我們會提供2017年9月份的商場內用戶數據來做評測,檢測您的演算法是否能準確的識別出當時用戶所在的店鋪。
任務描述
參賽者需要對我們提供的2017年8月份(複賽為2017年7-8月)數據進行店鋪、用戶、WIFI等各個維度進行數據挖掘和特徵創建,並自行創建訓練數據中的負樣本,進行合適的機器學習訓練。在我們提供2017年9月份的數據中,根據當時用戶所處的位置和WIFI等環境信息,通過您的演算法或模型準確的判斷出他當前所在的店鋪。
1、數據
本賽題提供兩種數據
1、商場內店鋪的信息數據,這個對訓練和評測都是統一的。
2、真實用戶在這些商場內的一段時間的到店交易數據,訓練和評測將採用不同的時間段。
注意:為了保護用戶和商家的隱私,所有數據均作匿名處理,同時做了必要的有偏採樣、過濾等脫敏措施。某些數據的某些欄位可能為NULL,請自行處理。
2、評價方式
本賽題採用準確率進行評價。詳細評分演算法如下:
預測正確:您給出的shop_id和標準答案的shop_id相等。
準確率 = 預測正確樣本總數/總樣本數
注意:如果某些row_id樣本您沒有給出結果,那麼也會被當成錯誤識別。
當然本篇論文不是講解如何來解決上述問題的,而是通過這個問題映射出二分類問題中,候選集和覆蓋率的概念。(上述問題的解法將通過後續的分享給出)
常規問題的解決思路是:
對於常規問題來說採用上述步驟進行即可,但是還有一個其中一個步驟可以穿插到其中即候選集的構建。
即在數據分析和特徵工程之間加入候選集的構建
在本文所提及的這個比賽當中,該比賽可以採用多分類的做法以及二分類的做法
多分類的方法:
候選集:所在mall的所有的商店
覆蓋率:100%
正負樣本比:1:所在mall中的所有商店-1
二分類的方法:
候選集:通過簡單的規則來構造候選樣本來形成候選集
規則如下:
- 用戶訪問過的商店
- 與當前row下的wifi有交集的wifi的商店(商店wifi只取出現最多的15個)
- 和當前用戶gps最近的三個商店
- 構造gpsKNN,與用戶gps最近的100個用戶的商店去重
- 保留全部正樣本,負樣本中隨機抽取一定比例的加入訓練集
(上述規則可以不需要理解,下一篇博客中會詳細解釋)
覆蓋率:99.1%(正樣本未出現在訓練集中的樣本在測試集中剔除)
正負樣本比:1:負樣本隨機抽樣之後所產生的候選集
通過不同規則產生的候選集需要進行候選集融合,因為訓練的時候要保證每個樣本的候選集的數量相同
候選集的融合和過濾保證候選集的數量一致
在多分類中候選集的數量為整個mall當中的所有商店
在二分類中候選集的數量為通過規則生成的少量商店
二分類中:相對於直接使用全量的商場店鋪做候選,用簡單規則構造的候選集樣本可以在不降低模型預測精度的情況下,大大降低模型訓練的複雜度
在構造候選集的過程當中,應當控制正負樣本比,把正負樣本比控制在合適的位置,必然,正負樣本比越小,模型的覆蓋率越高,但是當正負樣本太大的時候,會導致模型的複雜度和模型訓練時間大大增加,得不償失。
候選集:通過數據處理之後,通過特定的規則從訓練集當中篩選出來的少量的可以最大化體現數據特徵的樣本點
覆蓋率:在驗證集上面,正樣本可以在候選集中命中的概率。(亦可以是在整個訓練集中)
構建完候選集之後,之後模型訓練以及預測都是基於候選集來完成的
所以,覆蓋率可以大致表明該模型的上限
所以構造候選集的過程也是至關重要的一個步驟
參考:
天池錄播CTR 預估候選集選擇方案美團推薦演算法實踐:機器學習重排序模型成亮點 - -_-一條狗『 天池競賽』商場中精確定位用戶所在商鋪思路總結文章詳情
推薦閱讀:
※scikit-learn實戰
※BOW 演算法,被CNN 打爆之前的王者
※CS259D:數據挖掘與網路安全講義筆記
※機器學習基礎與實踐(一)----數據清洗
※複習:決策樹
TAG:機器學習 |