3-7 机器学习在业务面试中的应用
关于机器学习在数据分析面试中可能遇到的具体内容我们会在后面的章节中介绍,这一节中更加侧重于如何表达机器学习项目或者在业务面试中如何回答机器学习问题。
在面试中会怎么提问呢?
如果简历中有机器学习相关的项目或者比赛,面试官可能会问:你来介绍下这个项目?
如果是面试金融类的企业,可能会说:让你来做模型,对借贷人进行风控,该怎么去做?
如果是电商类的企业,可能会问:你会怎样识别出羊毛党用户呢?具体的流程如何?
如果是内容类企业,问题可以是:你会根据哪些数据向用户推荐合适的内容,具体的方案流程是什么?
这些问题都可以看成是机器学习在业务面试中的应用,这一步一般不会涉及到算法原理的考察,更加重视候选人能够依据“数据预处理-特征工程-模型训练-测试上线”等流程,清楚的表达自己的项目内容。在回答完这个问题后,针对你所选择的模型,面试官还可能进行更加深入的算法提问(当然不会像算法岗一样难)。
我们以“构建风控模型,判断是否能够借款”为例,简单介绍一下回答这种问题整个流程。注意:在本文中,不会对统计学以及算法的原理性知识进行具体的介绍,相关内容可以等待后续的数理统计以及机器学习模型专题。本文的主要目的是帮助同学们梳理思路,解决“在面试中按照什么流程表达自己的模型项目”以及“遇到有关机器学习的场景题时回答顺序是什么”的问题。
【一、数据预处理】
这里说的数据预处理主要是数据的清洗和转化。我们重点说下面试中最常遇到的缺失值、异常值、数据转化、数据规范化等处理。
1.缺失值
(1)一般来说,若缺失率高达50%以上,且重要性较低,可以考虑删除变量。比如在这样一个风控数据中,有一个变量为“距最高学历毕业时长”,缺失值高达70%,且现有的变量和用户是否有违约行为之间并不存在显著的相关关系,可以考虑删除变量。
(2)如果缺失率比较低,可以通过各种方式进行缺失值的填充,常见方法包括:
①均值填充,中位数填充,众数填充等——如果变量分布较均匀可以用均值填充,如果存在偏态分布可以用中位数填充,如果是离散变量可以用众数填充;比如针对“信用卡数量”这一变量,可能会优先考虑中位数填充,因为绝大多数的人信用卡数量集中在1-3张的区间里,这个变量很可能是偏态分布的。
②模型预测填充,可以采用回归,随机森林等模型对缺失值进行预测,利用模型结果填充数据。
③哑变量填充,又叫虚拟变量填充,主要用于离散数据的处理。例如有一列sex(性别),利用哑变量转化时,可以拆分为3列:sex_is_male, sex_is_female, sex_is_na。若该样本为男性用户,则sex_is_male=1, sex_is_female=0, sex_is_na=0。
2.异常值
(1)3倍标准差原则,比如数据与均值的差异大于3倍标准差,可以粗略的定义为离群点;
(2)根据聚类算法,远离主要簇的小簇或者个别样本点可以视为异常值;
(3)基于分位数判断离群点,这里可以利用python或者R快速的计算判断。在这里,异常值被定义为小于Q1-K(Q3-Q1)或大于Q3+K(Q3-Q1)。Q1和Q3分别代表下四分位数和上四分位数,K一般取值1.5,代表中度异常,若K=3,可代表极度异常。
针对异常值,可以选择和缺失值一样的处理方法进行填充。
3.数据转化
(1)针对定序型的数据,可以用序号进行编码,如客户对风险的理解层次,分为Good,Average,Bad三档,在进行序号编码时,可以根据大小关系进行赋值,如Good标记为3,Average标记为2,Bad标记为1。
(2)对于定类型的数据,可以采用one-hot编码,比如学历数据为高中,本科,硕士,那么高中表示为(1,0,0),本科表示为(0,1,0),硕士表示为(0,0,1)。
4.数据分箱
常用的分箱方法有:
(1)卡方分箱,卡方分
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
<p> 为什么要学习本专刊 (1)数据分析面试日益激烈,招聘门槛提高,对业务、技术的综合考察难度上升; (2)网上对数据分析面试题型的整理与解析质量参差不齐,缺少框架清晰、内容全面的学习资料; (3)直击数据分析面试热点问题; </p>