数分面试题 - 机器学习

1、给一个无序数组,怎么才能合理采样

无序数组是相对有序数组而言的,无序数组并不等于随机,将无序数组进行洗牌得到随机排列。
for i in range(len(n)):swap(arr[i],arr[random(i,n)])
产生数组第一位的值,然后递归对剩余数组进行相同的过程,可以产生n!中等可能的排序情况。

2、常用python库

numpy:矩阵运算、sklearn:机器学习与数据挖掘、pandas:数据表、seaborn:数据可视化、scipy:数学计算

3、行存储和列存储的区别

行存储:传统数据库的存储方式,同一张表内的数据放在一起,插入更新很快,缺点是每次查询即使只涉及几列,也要把所有数据读取

列存储:OLAP 等情况下,将数据按照列存储会更高效,每一列都可以成为索引,投影很高效。缺点是查询是选择完成时,需要对选择的列进行重新组装。

当你的核心业务是 OLTP 时,一个行式数据库,再加上优化操作,可能是个最好的选择。
当你的核心业务是 OLAP 时,一个列式数据库,绝对是更好的选择”参考

OLTP(on-line transaction processing)翻译为联机事务处理,
OLAP(On-Line Analytical Processing)翻译为联机分析处理,
从字面上来看OLTP是做事务处理,OLAP是做分析处理。
从对数据库操作来看,OLTP主要是对数据进行增删改,OLAP是对数据进行查询。

4、K-Means 算法原理及改进,遇到异常值怎么办?评估算法的指标有哪些?

k-means 原理:在给定 K 值和 K 个初始类簇中心点的情况下,把每个点(亦即数据记录)分到离其最近的类簇中心点所代表的类簇中,所有点分配完毕之后,根据一个类簇内的所有点重新计算该类簇的中心点(取平均值),然后再迭代的进行分配点和更新类簇中心点的步骤,直至类簇中心点的变化很小,或者达到指定的迭代次数。

5、数据预处理过程有哪些

缺失值处理:删、插
异常值处理
特征转换:
标准化:最大最小标准化、z标准化等
归一化:
离散化

6、随机森林原理?

构造多个决策树,做bagging以提高泛化能力

7、PCA思想

降维方法,将样本从原来的特征空间转化到新的特征空间,并且样本在新特征空间坐标轴上的投影分词尽可能大,这样就涵盖了样本最主要的信息。

8、hive?

Hive 允许使用类 SQL 语句在 hadoop 集群上进行读、写、管理等操作
Spark 是一种与 hadoop 相似的开源集群计算环境,将数据集缓存在分布式内存中的计算平台,每轮迭代不需要读取磁盘的 IO 操作,从而答复降低了单轮迭代时间

9,sql中null与“”区别

null表示空,用 is null 判断
“”表示空字符串,用“=”判断

10,数据缺失怎么办?

删除样本或删除字段
用中位数、平均值、众数填充
插补:同类均值插补、多重插补、极大似然估计
用其他字段构建模型,预测该字段的值,从而填充缺失值
onehot,将缺失值也认为是一种取值

11,如何避免决策树过拟合?

限制树深
剪枝
限制叶节点数量
正则化项
增加数据
bagging

12,余弦距离与欧式距离求相似度的差别

  1. 欧氏距离能够体现个体数值特征的绝对差异,所以更多的用于需要从维度的数值大小中体现差异的分析,如使用用户行为指标分析用户价值的相似度或差异。
  2. 余弦距离更多的是从方向上区分差异,而对绝对的数值不敏感,更多的用于使用用户对内容评分来区分兴趣的相似度和差异,同时修正了用户间可能存在的度量标准不统一的问题(因为余弦距离对绝对数值不敏感)。总体来说,欧氏距离体现数值上的绝对差异,而余弦距离体现方向上的相对差异。

(1)例如,统计两部剧的用户观看行为,用户 A 的观看向量为(0,1),用户 B 为(1,0);此时二者的余弦距很大,而欧氏距离很小;我们分析两个用户对于不同视频的偏好,更关注相对差异,显然应当使用余弦距离。
(2)而当我们分析用户活跃度,以登陆次数(单位:次)和平均观看时长(单:分钟)作为特征时,余弦距离会认为(1,10)、(10,100)两个用户距离很近;但显然这两个用户活跃度是有着极大差异的,此时我们更关注数值绝对差异,应当使用欧氏距离。

13, 数据清理中,处理缺失值的方法是?

由于调查、编码和录入误差,数据中可能存在一些无效值和缺失值,需要给予适当的处理。常用的处理方法有:估算,整例删除,变量删除和成对删除。

  1. 估算(estimation)。最简单的办法就是用某个变量的样本均值、中位数或众数代替无效值和缺失值。这种办法简单,但没有充分考虑数据中已有的信息,误差可能较大。另一种办法就是根据调查对象对其他问题的答案,通过变量之间的相关分析或逻辑推论进行估计。例如,某一产品的拥有情况可能与家庭收入有关,可以根据调查对象的家庭收入推算拥有这一产品的可能性。
  2. 整例删除(casewise deletion)是剔除含有缺失值的样本。由于很多问卷都可能存在缺失值,这种做法的结果可能导致有效样本量大大减少,无法充分利用已经收集到的数据。因此,只适合关键变量缺失,或者含有无效值或缺失值的样本比重很小的情况。
  3. 变量删除(variable deletion)。如果某一变量的无效值和缺失值很多,而且该变量对于所研究的问题不是特别重要,则可以考虑将该变量删除。这种做法减少了供分析用的变量数目,但没有改变样本量。
  4. 成对删除(pairwise deletion)是用一个特殊码(通常是 9、99、999 等)代表无效值和缺失值,同时保留数据集中的全部变量和样本。但是,在具体计算时只采用有完整答案的样本,因而不同的分析因涉及的变量不同,其有效样本量也会有所不同。这是一种保守的处理方法,最大限度地保留了数据集中的可用信息
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值