JD演算法大賽計算A榜數據池

更新:用戶全集為105321

數據更新後A榜大約是1223條,所以B榜也是差不多1223條

-------------------------------------------------------------

引言:京東演算法大賽被虐成了狗,抖波小機靈,我們來算一算A榜里到底有多少條正例

接下來進入正題,在這裡我們通過F_{11} 值來推算

F_{11} = 6PR/(5R+P)

其中P代表Precise,R代表Recall,設A榜數據量為lenReal,每次提交量為lenPreds,每次提交正確量為TP,我們得到P和R的計算公式如下

P=frac{TP}{lenPreds} R=frac{TP}{lenReal}

代入可以計算出

frac{6cdot TP}{F_{11} } =5cdot lenPreds+lenReal

我們可以看出其中不變數為lenReal,而F_{11} lenPreds都是我們通過提交就可以得到的量,關鍵在TP,只要我們能得到TP那就能計算出lenReal

所以我們提交了User表中所有的用戶,這樣就可以 TP=lenReal,上面的計算公式即可以化為

frac{6cdot lenReal}{F_{11} } =5cdot lenPreds+lenReal

其sku_id隨便取了一個,因為只考慮F_{11} ,所以與sku_id無關。下面是提交結果,F_{11} 值為0.01306,我們提交量lenPreds即所有用戶量為103616

帶入 lenRealapprox 1130

如果想要計算自己每次提交對了多少呢,我們可以化簡F_{11}F_{12}的計算公式:

TP_{1}=(5lenPreds+lenReal)cdot F_{11}/6

TP_{2}=(2lenPreds+3lenReal)cdot F_{12}/5


推薦閱讀:

知識布局-大數據apache基礎組件安裝文檔-hbase
關於Alternative Data的一些想法(2)
我能從本專欄讀到什麼?
讓機器讀懂用戶--大數據中的用戶畫像
數據分析師還吃香嗎?用數據告訴你

TAG:大數據 | 機器學習 |