滑鐵盧大學一位叫 Bai Li 的華裔小哥哥,在 Medium 上分享了自己「如何用 ML 中的邏輯迴歸方法幫自己找脫單」的神操作。像這麼實用的技術,必須學習一個。
滑鐵盧大學是加拿大一所著名高校,是加拿大最好的大學之一,尤其數學、電腦科學等工程學科教學水平居世界前列,其中優勢專業電腦科學名列 2017 年 usnews 世界大學排行榜第 18 位。
不過,滑鐵盧大學和所有的理工科學校一樣,除了男女比例極不協調外,缺少社交活動,很難找到物件。
有些人覺得愛情這種東西是沒法量化的,你只管「做你自己,順其自然」就好了。
不過,作為滑鐵盧大學的一個資料科學家,小哥哥對此持不同意見。他覺得自己既然是搞計算機的,幹嘛不試試藉助機器學習來幫助自己找女朋友呢?
撩妹方法論:武裝自己
心動不如行動,馬上著手研究如何用機器學習技術找女票。
這個研究的核心問題是:具備哪些屬性才能在眾多男生中脫穎而出,受到妹紙們的青睞?
小哥哥就試著列出了男生上的特徵屬性,想找出哪些假設是可以有資料支撐。
在上面這些情況中,我按照是否符合標準會賦予 1 或 0 這兩個值。所以,我們是在衡量人們的上述屬性和能找到物件之間的關係。
上面有些屬性非常主觀,比如怎麼證明一個人很有趣?所以,假如你是想看那種超硬核又嚴格統計的研究,那麼後面的內容可能不是你的菜。
為了收集資料,我把自己能想到的每個人都列在表格裡,在每個屬性裡會以 0 或 1 給他們打分。最終,資料集有 N=70 行。如果你過去兩年和我同校,和我認識,多半這個表格上有你。
認真分析落單原因
首先,我們將精確概率法(Fisher’s Exact Test)對目標約會變數和所有的說明變數進行分析,發現其中有 3 個變數影響最為顯著:
健身:定期去健身房或運動的人有女朋友的概率會高出兩倍以上(P值=0.02)
眼鏡:不戴眼鏡的人有女朋友的概率比戴眼鏡的人會高出 70%(P值=0.08)
自信:有自信心的人有朋友的概率更高(P 值=0.09)
小哥哥對戴眼鏡與否影響這麼大感到很意外,好奇是不是因為戴眼鏡一般會給人產生「書呆子」的印象。
所以小哥哥又查了些資料,發現還真有這麼一回事,有篇研究論文講到大多數人認為不管男性還是女性,戴眼鏡會降低自身吸引力。
有些變數對於能否成功約會可能比較有預測力,不過很難確定,因為樣本較小:
留學生比加拿大本地學生的約會成功率要高
亞洲人和其它人種相比約會機會更少
縱覽其它因素,雖然女生很少,計算機專業的男生似乎並不處於劣勢;剩下的變數(身高/事業/有趣性/社交性/時尚/居住地)這些和成功約會的關係不是很大,畢竟約會只是確認關係的第一步,很少有年輕人想得太遠太複雜。
本次實驗的完整結果:
接著我們檢查各變數之間的關係,這可以幫我們識別出不正確的模型假設。
紅色表示正相關,藍色表示負相關
只展示統計顯著性 <0.1 的相關性,因此大部分變數之間的關係為空白。
從圖中看起來 { 有女朋友,看起來自信,去健身房,不戴眼鏡 } 有相互關係。用這些資料訓練後的模型也會反應這些偏差,未來我也會擴大調查範圍,收集更多資料。
用邏輯迴歸預測找女票
如果有個演算法能夠預測你有多大機率可以找到女票,豈不美哉?
小哥哥訓練了一個邏輯迴歸廣義線性模型,根據我們前文列舉的這些說明變數預測是否會有女票。
藉助 R 語言中的 glmnet 和 caret 包,我用彈性網路正則化訓練了這個廣義線性模型。然後用標準網格搜尋法優化了超引數,在每次迭代中使用留一交叉驗證法,並優化 kappa 係數。
最終結論
最終模型的交叉驗證 ROC AUC 分數為 0.673,也就是說模型在預測你找到女票的機率方面,比你憑感覺亂猜還是更靠譜些。
當然了,生活中總會有些偶然的不確定因素,人生也會有驚喜嘛。好了不說了,小哥哥要去健身房了,還要努力摘掉眼鏡!
(獻上 Bai Li 小哥哥的真人近照)
彩蛋:小哥哥現在怎麼樣了?
原文作者 Bai Li 小哥哥完成這項研究時,是在今年四月,他將文章釋出在 Medium 之後也大受好評,小哥哥的專案可以通過他的 GitHub 瞭解更多。
關注公眾號後回覆「單身狗」,
即可獲得小哥哥的 GitHub 地址
從文章釋出到今天已經快四個月咯,小哥哥怎麼樣了呢,我們也是通過一個不存在的網站,也稱臉書,聯絡到了小哥哥本哥,自己體會一下: