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