《recall函數(shù)怎么用?》
你好呀,我是小鹿,一個(gè)在自媒體圈摸爬滾打5年的老作者。最近好多姐妹私信我:“小鹿,你上次講的‘recall’到底咋用?我看了文檔一臉懵!”
別急,今天我就用最接地氣的方式,帶你搞懂這個(gè)聽起來高大上、其實(shí)超實(shí)用的函數(shù)——recall。
Q:什么是recall?它和precision有什么區(qū)別?
舉個(gè)真實(shí)案例!假設(shè)你是個(gè)電商運(yùn)營,想給用戶推薦“可能喜歡的商品”。你訓(xùn)練了一個(gè)模型,預(yù)測了1000個(gè)商品中哪些是用戶會(huì)買的。
結(jié)果出來啦:
模型預(yù)測了200個(gè)商品是“用戶會(huì)買”的(正類)
其中真正用戶買了的有150個(gè)(真陽性)
另外50個(gè)其實(shí)是用戶不感興趣的(假陽性)
而實(shí)際用戶買了的總共有200個(gè)(真實(shí)正類)
這時(shí)候——
Recall = 真陽性 / 實(shí)際正類 = 150 / 200 = 75%
意思是:你的模型找出了75%真正喜歡的商品,漏掉的那25%,就是用戶明明喜歡但你沒推薦出來的。
Q:那precision呢?為啥要對(duì)比著看?
Precision = 真陽性 / 預(yù)測正類 = 150 / 200 = 75%
意思是:你推薦的200個(gè)商品里,有75%是真的對(duì)用戶胃口的。
這時(shí)候你會(huì)發(fā)現(xiàn):如果只看precision,可能會(huì)忽略漏掉太多好東西;如果只看recall,又容易推薦一堆垃圾。
Q:那什么時(shí)候該優(yōu)化recall?什么時(shí)候該優(yōu)化precision?
真實(shí)場景來了!我在做小紅書內(nèi)容推薦時(shí),就遇到過這種抉擇:
有一次我們想提升“種草筆記曝光量”,于是把recall調(diào)高——哪怕推薦一些不太精準(zhǔn)的內(nèi)容,也要讓更多人看到。結(jié)果:曝光量漲了30%,但互動(dòng)率下降了15%。
后來我們調(diào)整策略:先用高recall撈出所有潛在興趣內(nèi)容,再用precision過濾掉低質(zhì)量的,最終達(dá)成“既不漏掉好內(nèi)容,也不浪費(fèi)用戶時(shí)間”。
Q:代碼怎么寫?Python里怎么調(diào)用?
簡單!用sklearn就能搞定:
from sklearn.metrics import recall_scorey_true = [1, 0, 1, 1, 0] 真實(shí)標(biāo)簽y_pred = [1, 0, 1, 0, 0] 模型預(yù)測recall = recall_score(y_true, y_pred)print(f"Recall: {recall:.2f}") 輸出:Recall: 0.67是不是超直觀?記住一句話:recall關(guān)注“有沒有漏掉”,precision關(guān)注“準(zhǔn)不準(zhǔn)”。
最后送大家一句我常寫在朋友圈的話:
“數(shù)據(jù)不是冷冰冰的數(shù)字,它是你和用戶之間的情感橋梁。懂recall的人,才懂什么叫‘不辜負(fù)每一次相遇’?!?/p>
下次寫文章,記得帶上這個(gè)知識(shí)點(diǎn),你會(huì)收獲更多點(diǎn)贊和私信哦~

