前几天接到心仪公司的机器学习面试邀请,由于之前一直做数据分析,并没有太多机器学习实战经验,深知不足,于是开始了两天没日没夜的‘考前突击’,总结了很多自认为有用的东西;出乎意料的是面试全程并未问到专业知识,大多是从平时做的工作中挖掘我的态度及能力。不论结果如何,这是我反思最多的一次面试,有些看似不起眼的问题也许正潜伏着最大的机会。感想不多说,趁自己还有激情,把这两天突击的东西记下总结起来,方便以后复习,也激励自己更深入的学习。其中有一些没有得到答案的,欢迎大神指点。(这是本人第一次写博客,也算行业新人,如有错误,欢迎各位看官指正讨论)
一. 模型前的准备
1. 数据处理:如何处理缺失数据?各种方法的利弊?
a. 分析缺失比例决定是否移除; 不能确定移除的数据的价值,可能会除掉有用数据,导致模型欠拟合。
b. 用均值,众数,回归代替;对于正常数据分布的样本可以使用均值代替,有倾斜的数据样本可以使用中位数代替。
c. 用特殊值(如0)代替; 方法简单,并不可靠。
d. 用模型预测结果填充,如决策树;较可靠,适用于缺失值个数较少样本多情况,较麻烦
2. 如何将描述变量转为连续变量?
one-hot编码(红:1,0,0;绿:0,1,0;蓝:0,0,1)
3. 如何处理有序变量和无序变量?
有序