算法面试必备-----数据挖掘常见面试题

算法面试必备-----数据挖掘常见面试题

算法面试必备-----数据挖掘常见面试题

一、数据挖掘概念

1、数据挖掘的基础是什么?

现在已经成熟的三种技术支持这种技术:大规模数据收集,强大的多处理器计算机和数据挖掘算法。

2、数据挖掘的优缺点?

优点:
基本上,为了找到可能的违约者,我们在银行和金融机构中使用数据挖掘。此外,这是基于过去的事务,用户行为和数据模式完成的。

通常,它可以帮助广告商将正确的广告推向互联网。此外,它基于机器学习算法在网页上冲浪。此外,通过这种方式,数据挖掘既有利于买家,也有利于各种产品的销售者。

基本上,零售商场和杂货店的人们都使用它。此外,它是安排和保持大多数可销售物品在最关注的位置。

缺点:
安全性:用户在线用于各种用途的时间必须很重要。他们没有安全系统来保护我们。一些数据挖掘分析使用软件。这很难操作。因此他们需要用户进行基于知识的培训。数据挖掘技术不是100%准确。因此,它可能在某些条件下造成严重后果。

3、列出数据挖掘中使用的步骤?

a。业务理解

b, 数据理解

C。数据准备

d。造型

e, 评估

F。部署

4、数据挖掘有哪些问题?

任何严肃的数据挖掘包都需要解决许多问题

不确定性处理

处理缺失值

处理噪声数据

算法的效率

限制发现的知识只有用

纳入领域知识

数据的大小和复杂性

数据选择

可理解的发现知识:数据与发现的知识之间的一致性。

二、机器学习理论

1、极大似然估计

(1)定义

极大似然估计:利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值(模型已定,参数未知)。
在这里插入图片描述

(2)求解极大似然估计的方法:

在这里插入图片描述
求最大似然估计量的一般步骤:
1)写出似然函数;
2)对似然函数取对数,并整理;
3)求导数;
4)解似然方程。

(3)极大似然估计和梯度下降法的区别是什么?

在这里插入图片描述
不同
在这里插入图片描述

2、批梯度下降法和SGD的区别是什么?为什么有这样的区别?

在这里插入图片描述

三、数据预处理

1、异常值是指什么?请列举1种识别连续型变量异常值的方法?

异常值(Outlier) 是指样本中的个别值,其数值明显偏离所属样本的其余观测值。在数理统计里一般是指一组观测值中与平均值的偏差超过两倍标准差的测定值
在这里插入图片描述

2、什么是数据标准化,为什么要进行数据标准化?

数据标准化是预处理步骤,将数据标准化到一个特定的范围能够在反向传播中保证更好的收敛。一般来说,是将该值将去平均值后再除以标准差。如果不进行数据标准化,有些特征(值很大)将会对损失函数影响更大(就算这个特别大的特征只是改变了1%,但是他对损失函数的影响还是很大,并会使得其他值比较小的特征变得不重要了)。因此数据标准化可以使得每个特征的重要性更加均衡。

3、如何处理缺失值数据?

数据中可能会有缺失值,处理的方法有两种:
一种是删除整行或者整列的数据
另一种则是使用其他值去填充这些缺失值。

在Pandas库,有两种很有用的函数用于处理缺失值:isnull()和dropna()函数能帮助我们找到数据中的缺失值并且删除它们。如果你想用其他值去填充这些缺失值,则可以是用fillna()函数。

(1)均值插补
如果样本属性的距离是可度量的,则使用该属性有效值的平均值来插补缺失的值;
如果的距离是不可度量的,则使用该属性有效值的众数来插补缺失的值。如果使用众数插补,出现数据倾斜会造成什么影响?

(2)同类均值插补
首先将样本进行分类,然后以该类中样本的均值来插补缺失值。

(3)建模预测
将缺失的属性作为预测目标来预测,将数据集按照是否含有特定属性的缺失值分为两类,利用现有的机器学习算法对待预测数据集的缺失值进行预测。
该方法的根本的缺陷是如果其他属性和缺失属性无关,则预测的结果毫无意义;但是若预测结果相当准确,则说明这个缺失属性是没必要纳入数据集中的;一般的情况是介于两者之间。

(4)高维映射
将属性映射到高维空间,采用独热码编码(one-hot)技术。将包含K个离散取值范围的属性值扩展为K+1个属性值,若该属性值缺失,则扩展后的第K+1个属性值置为1。
这种做法是最精确的做法,保留了所有的信息,也未添加任何额外信息,若预处理时把所有的变量都这样处理,会大大增加数据的维度。这样做的好处是完整保留了原始数据的全部信息、不用考虑缺失值;缺点是计算量大大提升,且只有在样本量非常大的时候效果才好。

4、如何进行探索性数据分析(EDA)?

EDA的目的是去挖掘数据的一些重要信息。一般情况下会从粗到细的方式进行EDA探索。一开始我们可以去探索一些全局性的信息。观察一些不平衡的数据,计算一下各个类的方差和均值。看一下前几行数据的信息,包含什么特征等信息。使用Pandas中的df.info()去了解哪些特征是连续的,离散的,它们的类型(int、float、string)。接下来,删除一些不需要的列,这些列就是那些在分析和预测的过程中没有什么用的。

比如:某些列的值很多都是相同的,或者这些列有很多缺失值。当然你也可以去用一些中位数等去填充这些缺失值。然后我们可以去做一些可视化。对于一些类别特征或者值比较少的可以使用条形图。类标和样本数的条形图。找到一些最一般的特征。对一些特征和类别的关系进行可视化去获得一些基本的信息。然后还可以可视化两个特征或三个特征之间的关系,探索特征之间的联系。

你也可以使用PCA去了解哪些特征更加重要。组合特征去探索他们的关系,比如当A=0,B=0的类别是什么,A=1,B=0呢?比较特征的不同值,比如性别特征有男女两个取值,我们可以看下男和女两种取值的样本类标会不会不一样。

另外,除了条形图、散点图等基本的画图方式外,也可以使用PDF\CDF或者覆盖图等。观察一些统计数据比如数据分布、p值等。这些分析后,最后就可以开始建模了。

一开始可以使用一些比较简单的模型比如贝叶斯模型和逻辑斯谛回归模型。如果你发现你的数据是高度非线性的,你可以使用多项式回归、决策树或者SVM等。特征选择则可以基于这些特征在EDA过程中分析的重要性。如果你的数据量很大的话也可以使用神经网络。然后观察ROC曲线、查全率和查准率。

5、给定一个数据集,这个数据集有缺失值,且这些缺失值分布在离中值有 1 个标准偏差的范围内。百分之多少的数据不会受到影响?为什么?

由于数据分布在中位数附近,先假设这是一个正态分布。在一个正态分布中,约有 68%的数据位于跟平均数(或众数、中位数)1 个标准差范围内的,那样剩下的约 32%的数据是不受影响的。因此,约有 32%的数据将不受到缺失值的影响。

6、对于不平衡数据集,有什么应对方案?

即数据集中,每个类别下的样本数目相差很大。例如,在一个二分类问题中,共有 100 个样本(100 行数据,每一行数据为一个样本的表征),其中 80 个样本属于 class 1,其余的 20 个样本属于 class 2,class 1:class2=80:20=4:1,这便属于类别不均衡。当然,类别不均衡问题同样会发生在多分类任务中。

解决不平衡分类问题的策略可以分为两大类:一类是从训练集入手 , 通过改变训练集样本分布,降低不平衡程度;另一类是从学习算法入手 , 根据算法在解决不平衡问题时的缺陷 , 适当地修改算法使之适应不平衡分类问题。平衡训练集的方法主要有训练集重采样 (re-sampling)方法和训练集划分方法。学习算法层面的策略包括分类器集成 、代价敏感学习和特征选择方法等。
在这里插入图片描述

7、什么是欠采样和过采样?

使用不同的数据集。有两种方法使不平衡的数据集来建立一个平衡的数据集:欠采样和过采样。欠采样是通过减少丰富类的大小来平衡数据集,当数据量足够时就该使用此方法。通过保存所有稀有类样本,并在丰富类别中随机选择与稀有类别样本相等数量的样本,可以检索平衡的新数据集以进一步建模。当数据量不足时就应该使用过采样,**它尝试通过增加稀有样本的数量来平衡数据集,而不是去除丰富类别的样本的数量。**通过使用重复、自举或合成少数类过采样等方法(SMOTE)来生成新的稀有样品。

欠采样和过采样这两种方法相比而言,都没有绝对的优势。这两种方法的应用取决于它适用的用例和数据集本身。另外将过采样和欠采样结合起来使用也是成功的。

8、为什么需要对数值类型的特征做归一化?

分析与解答
对数值类型的特征做归一化可以将所有的特征都统一到一个大致相同的数值区间内。 最常用的方法主要再以下两种:

( 1 )线性函数归化( Min-Max Scaling ) 。 它对原始数据进行线性变换,使结果映射到 [0,1] 的范围,实现对原始数据的等比缩放。归一化公式如下:
Min-Max Scaling

( 2 )零均值归一化( Z-Score Normalization ) 。它会将原始数j居映射到均值为 0 ,标准差为 1 的分布上 。那么归一化公式定义为:
Z-Score Normalization
实例说明

为何归一化
注意:当然,数据归一化并不是万能的。在实际应用中,通过梯度下降法求解的模型通常是需要归一化的。包括:线性回归、逻辑回归、支持向量机、 神经网络等模型。但对于决策树模型则并不适用 ,以 C4.5 为例 ,决策树在进行节点分裂时主要依据数据集 D 关于特征 x的信息增益比,而信息增益比跟特征是否经过归一化是无关的,因为归一化并不会改变样本在特征 x 上的信息增益。

9、在对数据进行预处理时,应该怎样处理类别型特征?

分析与解答
序号编码( Ordinal Encoding )
独热编码( One-hot Encoding )
二进制编码( Binary Encoding)
序号编码
独热编码1
在这里插入图片描述
二进制编码

10、什么是组合特征,如何处理高维组合特征?

分析与解答
为了提高复杂关系的拟合能力,在恃征工程中经常会把一阶离散特征两两组合,构成高阶组合特征。

在这里插入图片描述
在这里插入图片描述

11、怎样有效的找到组合特征?

本节介绍一种基于决策树的特征组合寻找方法。
假设原始输入特征包含年龄、性别、用户类型(试用期、付费)、物晶类型(护肤、食晶 等) 4 个方面的信息 ,并且根据原始输入和标签(点击 /未点击)构造出了决策树,如国 1.2所示。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

12、有哪些文本表示模型?他们各自有什么优缺点?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13、Word2Vec是如何工作的?和 LDA有什么区别与联系?

分析与解答
在这里插入图片描述
在这里插入图片描述

14、在图像分类任务中,训练数据不足会带来什么问题?如何缓解数据量不足带来的问题?

分析与解答
为了提高复杂关系的拟合能力,在恃征工程中经常会把一阶离散特征两两组合,构成高阶组合特征。
在这里插入图片描述

四、特征选择与特征提取(降维)

1、特征选择与提取相同点与不同点

相同点与不同点
 相同点:特征选择和特征提取二者达成的效果相似,都是试图减少数据集中属性(特征)的数量,找出最有效(同类样本的不变性、不同样本的鉴别性、对噪声的鲁棒性)的特征。
 不同点:特征提取(降维)主要通过属性间的关系,通过组合原有属性产生新的属性,最终会改变特征空间;特征选择是在原始数据集中提取特征的子集,是一种包含关系,不改变特征空间。

2、特征选择的方法

特征选择是一个重要的数据预处理过程,主要有两个原因:一是减少特征数量、降维,使模型泛化能力更强,减少过拟合;二是增强对特征和特征值之间的理解

方法一:Filter(过滤型)

(1)方差选择法
  使用方差选择法,先要计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征。使用feature_selection库的VarianceThreshold类来选择特征的代码如下:

(2)相关系数法
使用相关系数法,先要计算各个特征对目标值的相关系数以及相关系数的P值

(3)互信息法
在这里插入图片描述

方法二:Wrapper(包裹型)

递归特征消除法
在这里插入图片描述

方法三:Embedded(嵌入型)

(1)基于惩罚项的特征选择法
使用带惩罚项的基模型,除了筛选出特征外,同时也进行了降维。
实际上,**L1惩罚项降维的原理在于保留多个对目标值具有同等相关性的特征中的一个,所以没选到的特征不代表不重要。**故,可结合L2惩罚项来优化。具体操作为:若一个特征在L1中的权值为1,选择在L2中权值差别不大且在L1中权值为0的特征构成同类集合,将这一集合中的特征平分L1中的权值,故需要构建一个新的逻辑回归模型:
在这里插入图片描述

(2)基于树模型的特征选择法
树模型中GBDT也可用来作为基模型进行特征选择,使用feature_selection库的SelectFromModel类结合GBDT模型
在这里插入图片描述

3、特征提取(降维)的方法

主成分分析法(PCA)
线性判别分析法(LDA)

PCA和LDA参考

五、模型的评估

1、模型评估的方法有哪些?

(1)留出法

在这里插入图片描述

(2)交叉验证法

在这里插入图片描述

(3)自助法

在这里插入图片描述

2、什么是 K-fold 交叉验证?

K-fold 交叉验证就是把原始数据随机分成 K 个部分,在这 K 个部分中选择一个作为测试数据,剩余的 K-1 个作为训练数据。交叉验证的过程实际上是将实验重复做 K 次,每次实验都从 K 个部分中选择一个不同的部分作为测试数据,剩余的数据作为训练数据进行实验,最后把得到的 K 个实验结果平均,用于评价模型的泛化能力,从而进行模型选择。

六、模型的性能度量

1、讲讲模型的性能度量

(1)错误率与精度

在这里插入图片描述

(2)查准率与查全率(精确率与召回率)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3
数据挖掘分析面试题 数据挖掘分析面试题全文共16页,当前为第1页。数据挖掘分析面试题全文共16页,当前为第1页。2011Alibaba数据分析师(实习)试题解析 数据挖掘分析面试题全文共16页,当前为第1页。 数据挖掘分析面试题全文共16页,当前为第1页。 一、异常值是指什么?请列举1种识别连续型变量异常值的方法? 异常值(Outlier) 是指样本中的个别值,其数值明显偏离所属样本的其余观测值。在数理统计里一般是指一组观测值中与平均值的偏差超过两倍标准差的测定值。 Grubbs' test(是以Frank E.Grubbs命名的),又叫maximumnormed residual test,是一种用于单变量数据集异常值识别的统计检测,它假定数据集来自正态分布的总体。 未知总体标准差σ,在五种检验法中,优劣次序为:t检验法、格拉布斯检验法、峰度检验法、狄克逊检验法、偏度检验法。 二、什么是聚类分析?聚类算法有哪几种?请选择一种详细描述其计算原理和步骤。 聚类分析(clusteranalysis)是一组将研究对象分为相对同质的群组(clusters)的统计分析技术。聚类分析也叫分类分析(classification analysis)或数值分类(numerical taxonomy)。聚类与分类的不同在于,聚类所要求划分的类是未知的。 聚类分析计算方法主要有: 层次的方法(hierarchical method)、划分方法(partitioning method)、基于密度的方法(density-based method)、基于网格的方法(grid-based method)、基于模型的方法(model-based method)等。其中,前两种算法是利用统计学定义的距离进行度量。 k-means 算法的工作过程说明如下:首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。 其流程如下: (1)从 n个数据对象任意选择 k 个对象作为初始聚类中心;      (2)根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分;   (3)重新计算每个(有变化)聚类的均值(中心对象); (4)循环(2)、(3)直到每个聚类不再发生变化为止(标准测量函数收敛)。 优 点:本算法确定的K 个划分到达平方误差最小。当聚类是密集的,且类与类之间区别明显时,效果较好。对于处理大数据集,这个算法是相对可伸缩和高效的,计算的复杂度为 O(NKt),其中N是数据对象的数目,t是迭代的次数。一般来说,K<<N,t<<N 。 缺点:1. K 是事先给定的,但非常难以选定;2. 初始聚类中心的选择对聚类结果有较大的影响。 三、根据要求写出SQL 表A结构如下: Member_ID (用户的ID,字符型) Log_time (用户访问页面时间,日期型(只有一天的数据)) URL (访问的页面地址,字符型) 要求:提取出每个用户访问的第一个URL(按时间最早),形成一个新表(新表名为B,表结构和表A一致) create table B as select Member_ID,min(Log_time), URL from A group by Member_ID ; 四、销售数据分析 以下是一家B2C电子商务网站的一周销售数据,该网站主要用户群是办公室女性,销售额主数据挖掘分析面试题全文共16页,当前为第2页。数据挖掘分析面试题全文共16页,当前为第2页。要集中在5种产品上,如果你是这家公司的分析师, a) 从数据中,你看到了什么问题?你觉得背后的原因是什么? b) 如果你的老板要求你提出一个运营改进计划,你会怎么做? 表如下:一组每天某网站的销售数据 数据挖掘分析面试题全文共16页,当前为第2页。 数据挖掘分析面试题全文共16页,当前为第2页。 a) 从这一周的数据可以看出,周末的销售额明显偏低。这其中的原因,可以从两个角度来看:站在消费者的角度,周末可能不用上班,因而也没有购买该产品的欲望;站在产品的角度来看,该产品不能在周末的时候引起消费者足够的注意力。 b) 针对该问题背后的两方面原因,我的运营改进计划也分两方面:一是,针对消费者周末没有购买欲望的心理,进行引导提醒消费者周末就应该准备好该产品;二是,通过该产品的一些类似于打折促销等活动来提升该产品在周末的人气和购买力。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值