首页 > 小米数据挖掘日常实习一面复盘
头像
KarenOu
编辑于 2021-04-18 17:43
+ 关注

小米数据挖掘日常实习一面复盘 内部员工回复

聊简历上最近做的项目,分享了CTR预估的项目。
1. 怎么拆分训练集和测试集,按月份来划分不会有时间差吗
这个问题我回答的不好。我们用的数据是每个月每个用户对不同邮件的点击行为。我做项目的时候也有考虑过,不同月份用户行为特征、数据分布会不稳定,造成训练集和测试集数据分布有差别。面完之后和同学讨论了一下,可能可以先假设整体中的用户是类似的,然后每个月份按用户来划分训练集和测试集,保证训练集和测试集不同月份里用户不会有交叉。这样既可以保证训练集的数据不会泄漏到测试集,也能避免出现时间差的问题。但也有很大的漏洞,就是“用户是类似的”的假设可能不成立,尤其是要预测对不同类别的邮件的点击率,有不同喜好的用户的特征分布会有区别。不知道有没有更好的解决办法,可以讨论一下。

2. 如何填补缺失值
我回答的是,对于用户基本属性,用中位数或者众数填充,但对于行为类特征(如浏览了某类网页多长时间),就会用0填充。但会导致数据非常稀疏,因为很多用户其实是没有什么浏览行为的。

3. 对这种高缺失率的行为特征应如何处理,填0的话,特征解释性不会很差吗
这个我回答的没在点子上,我只说了用的DeepFM模型,FM的部分能够解决稀疏特征的问题,但对于特征解释性我就不会回答了。面试结束后去查了一下,可能有两种办法,1个是用PCA降维,从稀疏特征中提取主要特征;另一种是把稀释的行为特征一起放进一个FC层,用类似embedding的方法来让特征变得稠密。但好像都不能解决特征解释性的问题。

4. 介绍DeepFM模型
5. 介绍XGBoost算法,和随机森林相比有什么优点,过拟合怎么解决
6. Python怎么识别IPv4特征
这个真的问到知识盲区了,完全不会。应该是考用正则表达式去匹配IP。
ip_addr = "127.168.1.1"

ip_addr =  re.findall(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", ip_addr)

面试官是风控部门的,有建议我把本专业金融领域的知识学好,才能在知识大融合的时代有自己的竞争力。

更多模拟面试

全部评论

(2) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐