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)例如,统计两部剧的用户观看行为,用户 A 的观看向量为(0,1),用户 B 为(1,0);此时二者的余弦距很大,而欧氏距离很小;我们分析两个用户对于不同视频的偏好,更关注相对差异,显然应当使用余弦距离。 (2)而当我们分析用户活跃度,以登陆次数(单位:次)和平均观看时长(单:分钟)作为特征时,余弦距离会认为(1,10)、(10,100)两个用户距离很近;但显然这两个用户活跃度是有着极大差异的,此时我们更关注数值绝对差异,应当使用欧氏距离。
13, 数据清理中,处理缺失值的方法是?
由于调查、编码和录入误差,数据中可能存在一些无效值和缺失值,需要给予适当的处理。常用的处理方法有:估算,整例删除,变量删除和成对删除。
估算(estimation)。最简单的办法就是用某个变量的样本均值、中位数或众数代替无效值和缺失值。这种办法简单,但没有充分考虑数据中已有的信息,误差可能较大。另一种办法就是根据调查对象对其他问题的答案,通过变量之间的相关分析或逻辑推论进行估计。例如,某一产品的拥有情况可能与家庭收入有关,可以根据调查对象的家庭收入推算拥有这一产品的可能性。 整例删除(casewise deletion)是剔除含有缺失值的样本。由于很多问卷都可能存在缺失值,这种做法的结果可能导致有效样本量大大减少,无法充分利用已经收集到的数据。因此,只适合关键变量缺失,或者含有无效值或缺失值的样本比重很小的情况。 变量删除(variable deletion)。如果某一变量的无效值和缺失值很多,而且该变量对于所研究的问题不是特别重要,则可以考虑将该变量删除。这种做法减少了供分析用的变量数目,但没有改变样本量。 成对删除(pairwise deletion)是用一个特殊码(通常是 9、99、999 等)代表无效值和缺失值,同时保留数据集中的全部变量和样本。但是,在具体计算时只采用有完整答案的样本,因而不同的分析因涉及的变量不同,其有效样本量也会有所不同。这是一种保守的处理方法,最大限度地保留了数据集中的可用信息