編者按:本文作者是滑鐵盧大學(xué)計算機科學(xué)專業(yè)17級的學(xué)生Bai Li,他在博客上寫了一篇用邏輯回歸預(yù)測找到女朋友的概率教程。論智君友情提示,本文意在分享項目思路,請勿輕易對號入座。
滑鐵盧大學(xué)是加拿大著名的理工科高校,是北美地區(qū)最優(yōu)秀的大學(xué)之一,我們的數(shù)學(xué)、計算機科學(xué)和工程學(xué)科水平居世界前列。然而,這樣的學(xué)校都有一個明顯的特點:男多女少。更糟糕的是滑鐵盧大學(xué)是出了名的缺少社交活動,所以估計我也跟學(xué)校里眾多CS同學(xué)一樣,女朋友是找不到的,這輩子都找不到的。
有人覺得愛情是無法量化的,這種操作太抽象,女朋友什么的,還是順其自然吧。但是作為滑鐵盧大學(xué)的數(shù)據(jù)科學(xué)家,這一點我不敢茍同。計算機專業(yè)的男人絕不輕易認輸!沒有社交,用機器學(xué)習(xí)幫助完成找女票的事業(yè)還不行嗎?
下面我就來說說詳細的教程,都搬好板凳拿起小本本!
首先,我們要明確這個項目的問題是:滑鐵盧大學(xué)的男生想找到女朋友,都需要哪些特質(zhì)?首先,大部分人都覺得工資高肯定更吸引妹子,另外身高或者身材更是加分項。我們想確定的是,哪些因素可以用預(yù)測進行量化,哪些僅僅是猜測而沒有數(shù)據(jù)支持。
我大概想了這么幾個特征:
約會(目標(biāo)變量):有女朋友的男生,或者過去五年至少談了六個月戀愛的男生
是否是國際學(xué)生
專業(yè)是否為CS、SE或ECE
成績優(yōu)異,并找到了牛X的實習(xí)
是否幽默健談
性格是否外向、愿意結(jié)交新朋友
是否自信
比我高(175+)
戴不戴眼鏡
經(jīng)常去健身房或喜歡各項運動的人
注重穿衣打扮
長居加拿大或者在加拿大居住工作至少五年
是否為亞裔
你也許注意到其中一些特征太主觀了,比如怎么才能規(guī)定一個人“有趣”、“幽默”呢?在這個項目中,我將人們分成兩部分,用1標(biāo)記其中一半,另外一半標(biāo)為0。所以我根據(jù)自己對周圍人的觀察,確定他們找到女朋友的能力。
要說明的是,本文并不屬于客觀嚴(yán)謹?shù)慕y(tǒng)計型研究,而是給大家提供一種思路。
為了收集數(shù)據(jù),我把每個能想到的同學(xué)的信息都制成表格,用1或0代表“是”或“否”,最后共有70個同學(xué)信息。注意了,滑鐵盧大學(xué)的各位,過去兩年跟Bai Li說過話的男生,你們可能已經(jīng)被用作訓(xùn)練數(shù)據(jù)了哦。
分析過程
首先我們在目標(biāo)變量Dating上對各種其他變量進行費舍爾精確檢驗,最終得到三種最重要的變量:
健身——愛健身愛運動的男生比其他男生有女朋友的概率大了兩倍(p-value=0.02)
眼鏡——不戴眼鏡的男生比戴眼鏡的男生有女朋友的概率多了70%(p-value=0.08)(睡前別玩手機了!眼保健操做起來啊各位!)
自信——有信心的男森最帥啦(p-value=0.09)
果然妹子們都喜歡身材好、有朝氣的男生。不過我有點吃驚戴眼鏡竟然這么重要?可能有些人會把戴眼鏡和nerd聯(lián)系起來吧,不過還真的有論文研究過這個問題,結(jié)果發(fā)現(xiàn)人們確實覺得眼鏡會讓魅力大打折扣。
有些變量也許可以預(yù)測成功約會的概率,但是由于樣本數(shù)量太少,結(jié)果不確定性很大:
國際學(xué)生比當(dāng)?shù)貙W(xué)生成功幾率大
亞洲男生比其他種族的男生優(yōu)勢較小
其他因素不變的情況下,CS專業(yè)的男生似乎更受歡迎
剩下的類似身高、成績、穿衣打扮等因素跟能否找女朋友關(guān)系不大,就算你去Facebook總部工作,對不起,該單身還是單身。
下面是實驗的全部結(jié)果:
Variable: international
N(international)=10, N(~international)=60
p(dating|international)=0.60, p(dating|~international)=0.38
p-value=0.299
Variable: cs
N(cs)=56, N(~cs)=14
p(dating|cs)=0.45, p(dating|~cs)=0.29
p-value=0.368
Variable: career
N(career)=46, N(~career)=24
p(dating|career)=0.43, p(dating|~career)=0.38
p-value=0.799
Variable: interesting
N(interesting)=34, N(~interesting)=36
p(dating|interesting)=0.47, p(dating|~interesting)=0.36
p-value=0.467
Variable: social
N(social)=29, N(~social)=41
p(dating|social)=0.45, p(dating|~social)=0.39
p-value=0.806
Variable: confident
N(confident)=37, N(~confident)=33
p(dating|confident)=0.51, p(dating|~confident)=0.30
p-value=0.092
Variable: tall
N(tall)=26, N(~tall)=44
p(dating|tall)=0.46, p(dating|~tall)=0.39
p-value=0.619
Variable: glasses
N(glasses)=41, N(~glasses)=29
p(dating|glasses)=0.32, p(dating|~glasses)=0.55
p-value=0.084
Variable: gym
N(gym)=22, N(~gym)=48
p(dating|gym)=0.64, p(dating|~gym)=0.31
p-value=0.018
Variable: fashion
N(fashion)=17, N(~fashion)=53
p(dating|fashion)=0.41, p(dating|~fashion)=0.42
p-value=1.000
N(canada)=31, N(~canada)=39
p(dating|canada)=0.42, p(dating|~canada)=0.41
p-value=1.000
Variable: asian
N(asian)=59, N(~asian)=11
p(dating|asian)=0.37, p(dating|~asian)=0.64
p-value=0.181
接著,我們對比了各變量之間的關(guān)系,這可以幫助找出錯誤的模型假設(shè)。紅點表示正面聯(lián)系,藍色表示負面聯(lián)系。我們只顯示出了統(tǒng)計顯著性<0.1的關(guān)系,所以大部分變量的組合是空白的。
如圖所示{有女朋友,有自信,健身,不戴眼鏡}互相有關(guān)。
這里我再強調(diào)一下,我統(tǒng)計的信息都是身邊的同學(xué),或者同學(xué)的同學(xué),專業(yè)都是學(xué)CS的并不能代表整個滑鐵盧大學(xué)的學(xué)生。
所以任何模型在這個數(shù)據(jù)上訓(xùn)練都會反映出同樣的偏差。未來我會收集更多數(shù)據(jù)改進模型。
用邏輯回歸預(yù)測戀愛概率
如何用算法預(yù)測找到女朋友的概率呢?讓我們搓搓手準(zhǔn)備開始吧!
我訓(xùn)練了一個邏輯回歸GLM,從各個解釋變量的角度預(yù)測找到女朋友的概率。利用R中的glmnet和caret包,我用彈性網(wǎng)絡(luò)正則化訓(xùn)練了一個GLM。然后再用標(biāo)準(zhǔn)網(wǎng)格搜索進行超參數(shù)優(yōu)化,用leave-one-out交叉驗證并且在每次迭代中對Kappa系數(shù)進行優(yōu)化。
結(jié)果模型的ROC曲線上交叉驗證的AUC分數(shù)為0.673,也就是說,模型的預(yù)測還是有點準(zhǔn)的,不過其中的不確定性因素仍然很多。最后,我還做了一個簡單計算器,大家有興趣可以玩玩。
小編測試了一下,全部選取了“弱勢因素”,這個結(jié)果可真悲傷
好了啥也不說了,我要去健身房舉鐵冷靜一下,再預(yù)約個近視手術(shù)了(手動再見)。
-
算法
+關(guān)注
關(guān)注
23文章
4616瀏覽量
93027 -
Facebook
+關(guān)注
關(guān)注
3文章
1429瀏覽量
54799 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8423瀏覽量
132752
原文標(biāo)題:用機器學(xué)習(xí)預(yù)測找到女朋友的概率,制勝秘訣有三點
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論