程序员租房的那些事
源 | 小象 文 | 水木华章
一、找房子
作为一个有理想有抱负,立志改变世界的程序员,目光远大是必要的,立足当下,租个合适的房子同样也是必要的。
不过怎样才能找到合适的房子呢?作为一个高逼格的程序员,上网逐家搜显然有些掉价。于是,阿里的工程师鹿星通过大数据建立了一个分析模型,凭此模型可以方便快捷地找到自己所需的房子。该模型的建立过程如下:
爬取数据
用Python的Scrapy爬虫框架,再用scrapy-splash来提供js渲染服务,完整地采集到了所有在租自如房间数据。如下是采集到的数据样例,每一行是一个json格式的字符串。
得到租金的整体情况
通过脏数据过滤,得到所有合租房的数据。
合租房不同价格区间的房间数量分布
形成租金地图
房间价格在地图上的分布如下图所示。红色表示大于3000元/月的房间,绿色表示2000-3000元/月的房间,紫色表示小于2000元/月的房间。颜色越深表示同一个位置重叠的房屋越多。
合租房价格在地图上的分布
推算自如对房间定价时考虑的因素主次
使用随机森林算法对房间每月租金进行预测,选取了14个特征。用三分之二的数据训练模型,三分之一的数据进行测试,在测试集上得到拟合优度R2=0.86,得出不同特征对租金的影响程度排名前十:
找出最符合预期的房间
综合自身的关注属性值对房间进行排序,使用灰度关联分析法对房间进行打分。过滤掉属性值超出心理预期范围的房间,得出了如下数据(样例):
对这三个属性值进行无量纲化,这里采用离差标准化,公式如下:(标准化后x_i^,取值范围为[0,1])。
得出的数据如下:
然后设定最优序列,最理想的状态当然是房间面积最大、租金最低、到公司距离最近了。因此最优序列为[1,0,0],每个属性与最优序列相应属性之间的关联系数如下:
设定每个属性的权重,权重值使用目标优化矩阵确定。
得出结果:房间面积权重为1/6,房间租金权重为1/3,到公司的距离权重为1/2,那么每个房间的关联系数=房间面积关联系数/6+房间租金关联系数/3+到公司的距离关联系数/2,计算结果如下:
计算出所有房间的关联系数,从大到小排列后取Top10如下:
到这里就可以选出最适合自己的房子啦!
二、招合租
对非IT人士来说,和IT人士共享房子是一种美好的体验:首先,电脑有问题再也不用求爷爷告奶奶地四处找人帮忙了。其次IT人士比较宅,喜欢泡在电脑前,没事不会影响别人生活。再者IT男多加班,每日早出晚归,不会占用房子资源,相当于租了一间屋子,却享有整个房子的使用权。
但是对IT人士来说,却不愿意找非IT人士合租。理由很简单:IT人士多工作较忙,不喜欢总被人当做电脑修理工,解决他们各类电脑问题,浪费自己的时间。此外,喜欢安静,因为嘈杂的环境影响写代码的思路。第三,IT人士喜欢探讨随时遇到的问题。所以,IT人士最理想的合租伙伴莫过于同行了。
同为IT人士的你,是怎么找合租室友的呢?曾经有一份IT人士招租的公告是这样的:
帅炸了,有木有?对于他这种别出心裁地招室友的行径,其他IT人士自然是不甘寂寞的,于是纷纷抛出解决方案:
下面又是各种精简版:
……
至于这位成先生是否如愿找到了同行作室友?答案还用说吗?非IT业者连他的联系方式都看不懂好么?
三、买房还是租房
一个有理想有抱负,立志改变世界的程序员,必然不缺乏当上CEO、赢取白富美的雄心壮志,租房只是眼前的苟且,未来拥有一套自己的房子自然不在话下。但是何时告别租房,买下自己的房子呢?这样的问题同样难不倒程序员,一切都以大数据说话。这是一位程序员自己做的统计模型:
以程序员A和B为例,A君租房,B君买房。灰色单元是设定的一系列参数,填好相应数值以后,按“开始计算”按钮(采用宏计算),会得到若干年(贷款年限 – 以20年为例)后买房和租房两种选择的总财产金额。
从上图可以看到,当租售比为400时,20年后租房的A君比租房的B君总资产高出80多万,所以租房比买房要划算。
通过不同数值的多次计算,该程序员得出了结论:租售比<200买房划算,否则就租。
……
笔者相信,凭借程序员无与伦比的智商和优秀的赚钱能力,肯定都会早日告别租房生涯,拥有自己的房子,当上CEO,赢取白富美,迎来自己的人生巅峰。
你也许感兴趣的:
- 【外评】电脑从哪里获取时间?
- 【外评】为什么 Stack Overflow 正在消失?
- Android 全力押注 Rust,Linux 却在原地踏步?谷歌:用 Rust 重写固件太简单了!
- 【外评】哪些开源项目被广泛使用,但仅由少数人维护?
- 【外评】好的重构与不好的重构
- C 语言老将从中作梗,Rust for Linux 项目内讧升级!核心维护者愤然离职:不受尊重、热情被消耗光
- 【外评】代码审查反模式
- 我受够了维护 AI 生成的代码
- 【外评】Linux 桌面市场份额升至 4.45
- 【外评】作为全栈开发人员如何跟上 AI/ML 的发展?
请问您是用什么工具来分析的,有代码可以分享嘛?