当前位置: 首页 > 科技观察

只需五步!哈佛学霸教你用Python分析相亲网站数据,在两万异性中找到真爱

时间:2023-03-13 15:41:16 科技观察

只需五步!哈佛学霸教你用Python分析交友网站数据,在两万异性中找到真爱不容易!如果您在美国,就像其他4000万单身男性一样,请注册Match.com、J-Date和OkCupid等约会网站,等待真爱来袭。但我相信大多数人都像麦金莱一样。虽然他们给OkCupid算法推荐的女性发了很多模棱两可的私信,但大部分都落入了海里。转折点出现在2012年6月的一个早晨,只有6次线下约会的男人正在电脑上编译机器代码,另一个窗口显示着他孤独的头像,他顿悟:他一直在用错误的方式发现爱。为了不辜负自己在应用数学领域的成就,他决定爬取OkCupid上的每一条相关信息,使用关键的K-Modes改进贝尔实验室算法寻找数据模式,缩小范围,用一击。也就是说,这是一个由数学家打造的完美交友体验贴,快来看看吧!第一步:分析失败原因,知己知彼OkCupid是哈佛大学数学系学生于2004年创立的交友网站,最引人注目的是其基于计算的配对模型。成员回答数十个多项选择题,涵盖广泛的主题,包括政治、宗教、家庭关系、性和智能手机。数学家ChrisMcKinlay通常会从数千个问题中选出350个问题——“以下哪种情况最有可能让你去看电影?”或“宗教/上帝在你的生活中。它有多重要?”对于每一个问题,用户都会选择一个答案来表明他的伙伴的哪个答案是他可以接受的,并通过给这个问题打分来表明这个问题对自己的重要性(5分,从不无关紧要必须回答)。OkCupid的匹配引擎使用这些数据来计算男女之间的匹配度。越接近100%,所谓数学意义上的灵魂伴侣就越匹配。麦金莱从数学上分析了他失败的原因。OkCupid的算法只用双方都愿意回答的问题来计算,而McKinlay选择的问题有些随机,不主流。当他查看自己的配对时,配对率超过90%的女性不到100人。请记住,洛杉矶有200万女性(约有80,000名女性使用OkCupid)。如果把匹配比作能见度,那么麦金莱可以说是一个看不见的幽灵。他意识到他应该增加火柴的数量。如果McKinlay通过统计抽样确定他的类型的女性会回答哪些问题,他就可以诚实地回答这些问题而忽略其他问题,从而创造一个全新的用户。用这种方法,他可以把洛杉矶所有可能匹配到的女人都匹配上,不匹配不合适的。第二步:使用Python,向朋友求助,疯狂收集数据ChrisMcKinlay使用Python脚本浏览了数百个OkCupid问卷问题,然后将女性用户分为七类,每一类都会被贴上独特的标签,比如如“多才多艺”和“细心周到”等。即使作为一名数学家,麦金莱也是一个不同寻常的人。他在波士顿郊区长大,2001年毕业于米德尔伯里学院,获得中文学位。同年8月,他在纽约世贸中心北塔91层的一家公司找到一份兼职工作。工作内容是将中文翻译成英文。五周后的一天,世界贸易中心倒塌了。(McKinlay直到那天下午2:00才出现。当第一架飞机在早上8:46撞上大楼时,他正在睡觉。)说。他在哥伦比亚大学的一个朋友招募他加入了麻省理工学院的一个专业二十一点队的衍生团队,他在接下来的几年里往返于纽约和拉斯维加斯之间,担任计数卡的工作,每年可以赚取60,000。这段经历点燃了他对应用数学的兴趣,最终使他获得了该领域的硕士和博士学位。“他们将能够在很多不同的情况下使用数学,”他说。“他们会看到一些新游戏,比如‘三张牌九扑克’,然后他们会回家写一点代码,然后他们就能想出打败它的策略。”现在,他想做同样的事情来寻找爱情。首先,他需要数据。当他在侧窗写论文时,他创建了12个假的OkCupid帐户并编写了Python脚本来管理它们。脚本搜索他的目标群体(25到45岁之间的异性恋或双性恋女性),访问她们的个人资料,并从她们的账户中抓取每一条有用的信息:种族、身高、吸烟状况、星座——“我想要他们都是,”他说。为了找到自己的另一半心,他也做了一些额外的研究。OkCupid让用户可以看到其他人的答案,但只能看到他们自己回答的问题。因此McKinlay设置了自己的机器人来随机回答每个问题。他并没有使用虚假的个人资料来吸引任何女性,所以答案并不重要,因为他将女性的答案收集到数据库中。麦金莱满意地看着他的程序飞速进行。然后,在收集了大约一千份文件后,他遇到了第一个障碍。OkCupid有一个短而快的系统来防止这种数据收集,他的程序一个一个被禁止。因此,他必须训练他的程序更像一个真人。他求助于他的神经科学家朋友山姆·托里西(SamTorrisi),后者最近曾教授麦金莱音乐理论,以换取高级数学课程。托里西也注册了OkCupid,他同意在他的电脑上安装间谍软件来监控网站的使用情况。根据手头的数据,麦金莱对托里西的点击率和打字速度进行了编程。他从家里带了第二台电脑,插在数学系的宽带线上,这样就可以24小时不间断运行了。三个星期后,他从全国2万名女性那里收集了600万个问题和答案。第3步:将20,000名女性分为7类,找出最合适的。按照麦金莱的工作计划,他需要从调查数据中找出一个规律,即大致按照相似性对女性进行分组。当他编写了一个名为K-Modes的改进的贝尔实验室算法时,这个问题得到了解决。K-Modes算法于1998年首次用于分析患病的大豆作物。他通过算法找到了一个自然的分界点,根据问题和答案,将20,000名女性分为七个统计组。“我很高兴,”他说。“这是我在六月经历过的最激动人心的事情。”他重新设置条件以收集另一个样本池:来自洛杉矶和旧金山的5,000人在过去一个月内登录了OkCupid。女性。K-Modes的另一个分组证实它们以相似的方式聚集,并确保统计抽样是有效的。现在只是决定哪个分类单元最适合他的问题,在为每个组抽查了几个文件后,结果发现一个太年轻,两个太老,一个太“基督教”。所以他徘徊在一个以二十多岁的女性为主,工作类型相对独立的类别,比如音乐家和艺术家。这就是黄金单身集群!这就像在大海捞针中寻找一根针,他找到了他的针,而在这丛中的某个地方,他找到了爱。邻近的一个分类单元似乎也引起了麦金莱的注意:年龄稍大,从事编辑和设计师等专业创意工作。他决定将这两个群体都作为自己的目标!于是他设置了两个配置文件,一个给A组,一个给B组。第四步:如实填写相关问题,寻找soulmate文章。回答问题更重要,所以他在两个类别中都选了前500个问题,并决定诚实地填写答案,他不想在计算机生成的谎言的基础上建立未来的关系。但他使用一种称为自适应提升的机器学习算法来得出最佳权重,让计算机确定每个问题的重要性。他发布了两张照片,一张是攀岩,另一张是在音乐演出中弹吉他。“不管以后有什么打算,你现在对什么更感兴趣?性还是爱情?”这个问题的答案显然是爱。但对于年轻的A组,他尊重计算机对问题的评级,认为它“非常重要”。对于ClusterB,这是一个“必须回答”的问题。当他回答完最后一个问题后,他在OkCupid上按配对百分比搜索了洛杉矶的女性。从头开始:第一页匹配99%都是女性。向下滚动……然后……向下滚动……,来自洛杉矶各地的10,000名女性会面。离被跟踪又近了一步!OkCupid会员在有人查看他们的页面时会收到通知,因此他编写了一个新程序来访问查看过他页面的女性的页面,按年龄循环:周一1,000名41岁女性,周二1,000名40岁女性.两周后,轮到这位27岁的女士了。女人会回他的个人资料,一天400左右。然后,私信开始蜂拥而至。“直到现在我还没有遇到过这样的人,我觉得你的个人资料很有趣,”一位女士写道,“对于一个擅长数字的粗野男人来说……我觉得我想要遇见你。”“嘿,你的个人资料很棒,我很想认识你,”另一位写道,“我认为我们有很多共同点,也许不是数学,但肯定更多!”“你真的会翻译中文吗?”还有人问:“我上了一些课,但学得不好。至此,数学部分完成。接下来,他需要离开他的隔间,进入实际的演习阶段,他要进行一次真正的约会!第5步:走出隔间,开始真正的约会6月30日,麦金莱开着他的日产汽车穿过城镇,来到加州大学洛杉矶分校的体育馆,开始他的约会练习。Sheila是一位来自“A类”的年轻网页设计师。他们在回声公园的一家咖啡馆吃午饭。”“太不可思议了,这几乎就像一次学术练习。与希拉的约会结束后,双方都感到不在电话中。第二天,麦金莱进行了第二次约会,一位来自“B类”的博客编辑。他们计划在回声公园湖周围散步,却发现正在施工。那个女人一直在读普鲁斯特,对生活感到失望。“这有点令人沮丧,”他说。第三天的约会也来自“B类”。他在韩国城的一家酒吧遇见了艾莉森。她是一名实习生编剧,肩上有一个斐波那契螺旋纹身。McKinlay喝了很多韩国啤酒,第二天在他的隔间里醒来时宿醉得很厉害。他后来在OkCupid上私信她说他想继续约会,但她没有回复。虽然被拒绝了,但他还是一天收到20条信息。练习约会显然与计算机资料约会有很大不同。他开始忽略一些页面没有内容的人的消息,只回复那些有幽默感的人或在首页上炫耀一些有趣的东西。他曾经是主动的一方,交换三到五个消息以获得约会。现在只需发送一个回复。“你看起来很酷。想见面吗?”20次约会后,他想出了一些潜在的模式。在年轻的一组中,大多数女性有两个或更多纹身,并且住在洛杉矶东区。在另一组中,她们为中度疯狂大小的狗。提前约会计划得很好。但随着工作越来越忙,他开始偶尔在午餐或咖啡时随意聚会,而且经常一天两次。他有一套完成“马拉松爱情”搜索的个人规则:不再喝酒约会,如果他们不打电话就不再约会,没有拖延,没有音乐会或电影。非常低。在从他的两个个人资料中平均挑选日期一个月后,他意识到他浪费了太多时间到达在纹身团体中向东边的女性展示。他删除了他的A组个人资料。他的效率提高了,但结果是一样的。随着夏天接近尾声,他已经有超过55次约会,每天都尽职尽责地记录在他的实验室笔记本上。只有三个产生了第二次约会,只有一个产生了三分之一。大多数不成功的约会者都面临自尊问题。麦金莱的情况实际上更糟。他必须检查他的计算。然后一条消息来自28岁的艺术家ChristineTienWang。麦金莱之前在加州大学洛杉矶分校附近找到了她,她身高6英尺,蓝眼睛,当时她正在加州大学洛杉矶分校攻读美术硕士学位。他们有91%的契合度。他在校园的雕塑花园遇见了她。他们从那里走到一家大学寿司店,他立即感受到了召唤!他们谈论了书籍、艺术、音乐,当她承认在给他发消息之前她对自己的个人资料做了一个小改动时,他给了她讲述了他黑入爱情网站的整个故事。“我觉得它有点黑暗和愤世嫉俗,”她说,“但我喜欢它。”这是第一次约会,接着是第二次,然后是第三次。两周后,他们的OkCupid账户都被暂停了。我认为我所做的只是每个人在网站上所做的稍微算法化的、大规模的、基于机器学习的版本。’”麦金莱说。每个人都在努力创建一个最佳配置文件,他只是有数据来设计一个。在他们第一次约会一年后,麦金莱和王天在韦斯特伍德寿司吧与一位记者见面,他们的关系正式确定。McKinlay拥有博士学位。他正在教数学,目前正在攻读音乐研究生学位。TienWang以一年的艺术奖学金被卡塔尔录取。她在加利福尼亚遇到了麦金莱。他们一直在Skype上保持联系。应记者要求,麦金莱带来了他的实验笔记本。天王以前没见过。这是一页页的公式和等式,麦金莱的笔迹很紧凑,还有一个整齐排列的女性名单,在日期列表的末尾,包含一些简短的注释。天王扫了一眼,发现有些亮点有点可笑。她注意到,8月24日,他在同一天带着两名女子去了同一个海滩。她说:“太可怕了。对于王天来说,麦金莱的OkCupid黑客之旅是一个有趣的故事。但所有的数学和编码只是他们故事的开始。见面后,关系真的被黑了。“人比他们的个人资料复杂得多,”她说,“所以我们见面的方式有点肤浅,但我们之间发生的一切都不是肤浅的,它是通过彼此的努力培养出来的。”这并不是说我们匹配所以我们关系很好,”McKinlay表示赞同,“这只是一种将我们置于同一空间的机制,我可以使用OkCupid找到人。”天王对此有些郁闷:“不是你找我,是我找到你了。”她摸了摸他的手肘说道。麦金莱想了想,承认自己是对的。一周后,天王回到了卡塔尔,这对夫妇每天都通过Skype通话。当麦金莱拿出一枚钻戒举到网络摄像头前求婚时,王天说“我愿意”。他们什么时候结婚还不完全确定,麦金莱说还需要进一步研究需要确定最佳结婚日期。相关报道:https://www.wired.com/2014/01/how-to-hack-okcupid/》】点此阅读作者更多好文