【数据挖掘】数据挖掘基础知识30问

数据挖掘基础知识30问

本文的相关问题总结来自徐麟老师的《数据分析师求职面试指南》。

数据挖掘的核心在于建模。建模是指利用模型学习已知结果的数据集中的变量特征,并通过一系列方法,提高模型的学习能力,最终对一些结果未知的数据集输出相应的结果。

  1. 在数据挖掘中数据集分为哪几类?
    (1)训练集:训练模型
    (2)验证集:模型调参
    (3)测试集:验证结果

  2. 简述参数和超参数之间的区别。
    (1)参数是通过模型对训练集的拟合获得的。
    (2)而超参数无法通过模型训练获得,在模型训练前需要人为地给出超参数,如决策树模型的深度,随机森林模型中树的数量等,它们只能通过在验证集中进行验证。
    (3)实际上调参指的是调整超参数。

  3. 选择更加复杂的模型进行调参是否能有更好的结果?
    选择更加复杂的模型,并不一定能得到更好的结果。随着模型复杂度的增加,会使模型出现过拟合现象,这同样会导致误差的增加。

  4. 简述过拟合和欠拟合。
    (1)模型的误差是由偏差和方差相加而成的。模型训练所要做的就是平衡过拟合和欠拟合。通过在验证集中的验证工作,选择合适的超参数,最终降低误差。
    (2)偏差反映了模型在训练集样本上的期望输出与真实结果之间的差距,即模型本身的精确度,反映的是模型本身的拟合能力。偏差过高,反映了模型存在欠拟合现象,表明模型过于简单,没有很好的拟合训练集变量之间的特征,需要进一步提升模型的复杂度。
    (3)方差反映了模型在不同的训练集下得到的结果与真实结果之间误差的波动情况,即模型的稳定性。由于训练集中会存在噪声,并且该噪声不具有通用性,不同的训练集中会有不同的噪声,当模型过于复杂时,也会大量学习训练集中的噪声。最终导致模型泛化能力变差,这就过拟合产生的原因。

  5. 阐述监督学习和非监督学习的区别。
    (1)监督学习:训练数据既有特征又有标签。通过训练,让机器可以自己找到特征和标签之间的联系。根据标签是连续的或者离散的,分为预测问题和分类问题。
    (2)非监督学习:数据集中只有特征,没有标签。通过数据之间的内在联系和相似性,将样本划分成若干类,称为聚类,或者对高维数据进行降维。

  6. 阐述参数模型和非参数模型的区别和各自优缺点。
    (1)参数模型会在训练前确定一个目标函数。而非参数模型在训练前并没有对目标函数限定其形式,而是通过训练不断修改目标函数的形式。
    (2)常见的参数模型包括线性回归模型、逻辑回归模型、朴素贝叶斯模型。其优点是具有很强的可解释性、模型学习和训练相对快速,以及对数据量的要求比较低,不需要特别大的训练集。其缺点是需要提前对目标函数作出假设,而现实中的问题是很难真正应用某一目标函数的,特别是一些复杂的问题,无法用参数模型得到很好的训练拟合,并且参数模型的复杂度往往偏低,容易产生欠拟合现象。
    (3)非参数模型对目标函数的形式不做过多的假设,学习算法可以自由地从训练数据中学习任意形式的函数。由于不存在模型的错误假定问题,可以证明当训练数据量趋于无穷大的时候,非参数模型可以逼近任意复杂的真实模型,因此在数据量大、逻辑复杂的问题中效果好于参数模型。但是在非参数模型中有很多超参数需要选择,因此与参数模型相比,非参数模型会变得更加复杂,计算量更大,对问题的可解释性更弱,常见的非参数模型有 svm 模型、决策树模型、随机森林模型等。

  7. 简单介绍生成模型和判别模型的概念。
    (1)生成模型学习得到联合概率分布 P ( x , y ) P(x,y) P(x,y) ,即特征 x x x 和标签 y y y 共同出现的概率,然后求条件概率分布,能够学习到数据生成的机制。常见的生成模型包括朴素贝叶斯模型、混合高斯模型、隐马尔可夫模型等。
    (2)判别模型则学习得到条件概率分布 P ( y ∣ x ) P(y|x) P(yx) 。即在特征 x x x 出现的情况下,标签 y y y 出现的概率。常见的判别模型包括决策树模型、svm 模型、逻辑回归模型等。
    (3)生成模型需要的数据量比较大,能够较好地估计概率密度,而判别模型对数据量的要求没有那么高。在数据量比较充足的情况下,生成模型的收敛速度比较快,并且能够处理隐变量问题。相比于判别模型,生成模型需要更大的计算量,准确率及适用范围也弱于判别模型,所以在实际工作中还是是以使用判别模型为主。

  8. 在线性回归模型中对随机误差做出的假设有哪些?
    (1)随机误差是一个期望或平均值为 0 的随机变量。
    (2)对于解释变量的所有观测值,随机误差有相同的方差。
    (3)解释变量是确定性变量,不是随机变量,与随机误差彼此相互独立。
    (4)随机误差彼此不相关。
    (5)随机误差服从正态分布。

  9. 线性回归模型有哪些常用的提升效果的方法?
    (1)引入高次项。
    (2)引入交互项。

  10. 简述线性回归模型的优缺点。
    (1)优点:快速,能够处理数据量不是很大的情况,并且具有很强的可解释性。
    (2)缺点:线性回归模型不是一种很复杂的参数模型。需要提前对目标函数进行假设,当数据量增加、问题变得复杂时,线性回归模型往往无法进行很好的处理。

  11. 逻辑回归模型与线性回归模型的区别是什么?
    在逻辑回归模型中,会将此前线性回归模型中的 y y y 通过 s i g m o i d sigmoid sigmoid 函数映射到 [ 0 , 1 ] [0,1] [0,1] 区间。主要用于解决二分类问题,而非预测问题。

  12. 在逻辑回归模型中常用的 L 1 L1 L1 L 2 L2 L2 方法的区别在哪里?
    正则化是用来防止模型过拟合的过程,常用的有 L 1 L1 L1 正则化(又称 l a s s o lasso lasso 方法)和 L 2 L2 L2 正则化 (又称 r i d g e ridge ridge 方法)两种选项,分别通过在损失函数后加上参数向量的 L 1 L1 L1 范式和 L 2 L2 L2 范式的倍数来实现。这个增加的范式,被称为 正则项,也被称为 惩罚项。损失函数改变,基于损失函数的最优化来求解的参数取值必然改变,我们以此来调节模型拟合的程度。
    L 1 L1 L1 范式表现为参数向量中的每个参数的绝对值之和;
    L 2 L2 L2 范式表现为参数向量中的每个参数的平方和的开方值。

  13. 简述逻辑回归模型的优缺点。
    逻辑回归模型通常用来解决二分类问题。对于多分类问题,需要用 s o f t m a x softmax softmax 函数替代 s i g m o i d sigmoid sigmoid 函数。 s o f t m a x softmax softmax 函数可以针对各个分类输出概率值,概率值之和为 1。
    优点:逻辑回归模型具有可解释性强的特点。在一些对可解释性有很高要求的领域,如金融、银行等,逻辑回归模型有着广泛的用途。
    缺点:与线性回归模型相同,随着数据量的增加,逻辑回归模型会产生欠拟合现象。

  14. 简述决策树模型。
    决策树模型是一种类似于流程图的树形结构,树内部的每一个节点代表对一个特征的测试,树的分支代表该特征的每一个测试结果,树的每一个叶子节点代表一个类别。

  15. 如何确定每一个节点选择什么特征,其常用方法及各自特点是什么?
    (1)信息熵用来表示随机变量的不确定性,定义为 H ( X ) = − ∑ i = 1 n p i l o g p i H(X) = -\sum_{i=1}^n p_i log p_i H(X)=i=1npilogpi。在决策树模型中, p i p_i pi 代表样本落在各个叶子节点的概率。当 n = 2 n=2 n=2 时, p 1 p_1 p1 p 2 p_2 p2 均为 1 2 \frac{1}{2} 21 时,信息熵达到最大值;当 p 1 = 1 p_1=1 p1=1 p 1 = 0 p_1=0 p1=0 时,信息熵为最小值。我们希望通过选择合适的特征作为节点,降低信息熵,即降低随机变量的不确定性。
    (2) G i n i Gini Gini 系数(又称 G i n i Gini Gini 不纯度)。选择特征时,会选择使 G i n i Gini Gini 不纯度变小的特征作为节点。
    (3) I D 3 ID3 ID3 C 4.5 C4.5 C4.5 是基于信息熵的, C A R T CART CART 是基于 G i n i Gini Gini 系数的。 I D 3 ID3 ID3 C 4.5 C4.5 C4.5 一般只能处理分类问题, C A R T CART CART 可以处理分类问题和回归问题,能够处理连续值,所以实际工作中 C A R T CART CART 的应用更广泛。 s k l e a r n sklearn sklearn 中的决策树模型默认用的是 C A R T CART CART

  16. 简述 I D 3 ID3 ID3 C 4.5 C4.5 C4.5 方法的异同点。
    (1) I D 3 ID3 ID3 在选择特征时,会选择能够使信息增益最大化的特征作为节点,存在的问题在于会选择有比较多分支的特征作为节点,造成模型的过拟合。
    (2) C 4.5 C4.5 C4.5 考虑信息增益比最大化,随着分支数量的增加,信息增益比会相应地变小,因此可以避免选择有过多分支的特征作为节点。

  17. 简述决策树模型的优缺点?
    (1)决策树模型本身属于非参数模型,相比于线性回归和逻辑回归模型,它不需要对样本进行预先假设,因此能够处理更加复杂的样本。它的计算速度较快,结果容易解释,可以同时处理分类问题和预测问题,并且对缺失值不敏感。决策树模型具有非常强的可解释性,通过绘制分支,可以清晰地看出整体的模型选择流程,快速发现影响最终结果的因素,能够指导业务快速进行相应的修改、调整。
    (2)决策树模型是一种弱学习器,即使通过调优方法进行了优化,也仍然容易产生过拟合的现象,造成最终结果误差较大,并且在处理特征关联性比较强的数据时表现得不是很好。

  18. 决策树模型常用的调优方法有哪些?

  • 控制树的深度及节点的个数等参数,避免过拟合。
  • 运用交叉验证法选择合适的参数。
  • 通过模型集成的方法,基于决策树形成更加复杂的模型。
  1. 强学习器和弱学习器的定义以及划分的依据是什么?
    强学习器和弱学习器实际上是一个相对的概念,并没有很明确的划分界限,体现在学习器对复杂数据场景的处理能力上。相比于决策树模型,随机森林可以称为强学习器,但是和其他更复杂的模型比,它就是弱学习器。

  2. 解释模型集成和模型融合的概念,并举出相应的例子。
    (1)模型集成是指将多个弱学习器(也称为基模型)进行组合,以提高模型的学习泛化能力。随机森林模型就是将多个决策树模型组合到一起,类似于这种将相同种类模型进行集成的模型称为 同质集成模型。相反,将不同种类模型进行集成的模型,称为 异质集成模型。目前常用的模型集成方法有 B a g g i n g Bagging Bagging B o o s t i n g Boosting Boosting,随机森林和 G B D T GBDT GBDT 是各自的代表。
    (2)模型融合是基于模型集成而产生的概念。在模型集成中,需要将各个基模型的结果进行组合,得到最终的结果,这个过程称为模型融合,常用的模型融合方法包括平均法和投票法。
    平均法:在预测问题中,将各个基模型的结果进行平均作为最终结果。
    投票法:在分类问题中,选择基模型中预测比较多的类别作为最终结果。

  3. 解释随机森林的基本原理。
    随机森林是模型集成中 B a g g i n g Bagging Bagging 方法的典型代表,通过对样本或者变量的 n n n 次随机采样,就可以得到 n n n 个样本集。对于每一个样本集可以独立训练决策树模型,对于 n n n 个决策树模型的结果通过集合策略来得到最终的输出。需要注意的是,这 n n n 个决策树模型之间是相对独立的,并不是完全独立的,训练集之间是有交集的。可以通过 b o o t s t r a p   s a m p l e bootstrap{\,}sample bootstrapsample 方法(有放回采样)对样本进行 随机采样

  4. 相比于决策树模型,随机森林模型为何能实现更好的效果?
    模型的误差包括偏差和方差两个部分,假设各个决策树模型有相同的偏差和方差,通过将多个决策树模型得到的结果进行平均或者投票。可以保证随机森林模型的偏差与单个决策树模型的偏差基本相同。但是由于各个决策树模型之间的相对独立性,通过对结果进行平均或者加权,尽管每棵树相对于特定训练数据集可能具有高方差,但总体而言,整个森林将具有较低的方差,同时不以增加偏差为代价,最终将误差变小。

  5. 阐述随机森林模型与 B o o s t i n g Boosting Boosting 模型之间的区别。
    B o o s t i n g Boosting Boosting 模型是将多个决策树模型集成后的一种模型。随机森林模型运用了 B a g g i n g Bagging Bagging 方法, B o o s t i n g Boosting Boosting 模型运用了 B o o s t i n g Boosting Boosting 方法。
    它们最大的区别在于随机森林模型的各个决策树模型的生成是相互独立的,是基于通过样本重采样方法得到不同训练集而产生不同的决策树模型的。
    B o o s t i n g Boosting Boosting 模型中新的决策树模型生成是基于此前已经生成的决策树模型的结果,所以决策树模型的生成并不是相互独立的,每一个新的决策树模型都依赖前一个决策树模型。

  6. 常见的基于决策树模型的 B o o s t i n g Boosting Boosting 方法及各自原理是什么?
    (1) A d a B o o s t AdaBoost AdaBoost A d a B o o s t AdaBoost AdaBoost 会加大此前决策树模型中分类错误的数据的权重,使得下一个生成的决策树模型能够尽量将这些训练集分类正确。
    (2) G B D T GBDT GBDT G B D T GBDT GBDT 则是通过计算损失函数梯度下降方向定位模型的不足而建立新的决策树模型的。在实际工作中应用更加广泛。

  7. 简述随机森林模型和 G B D T GBDT GBDT 模型的优缺点。
    (1)优点:能够处理离散型变量和连续型变量同时存在的场景;不需要对数据集做过多的假设;能够处理比较复杂的问题;二者都是集成学习方法,相比单一的决策树模型,其性能有了很大的提升。
    (2)缺点:二者面对更大的训练集时,依然存在训练速度较慢的问题。

  8. 简述 X G B o o s t XGBoost XGBoost 基于 G B D T GBDT GBDT 模型优化的原因。
    X G B o o s t ( e X t r e m e   G r a d i e n t   B o o s t i n g ) XGBoost(eXtreme{\,}Gradient{\,}Boosting) XGBoosteXtremeGradientBoosting 是一种性能更好的 B o o s t i n g Boosting Boosting 模型,是 G r a d i e n t   B o o s t i n g Gradient{\,}Boosting GradientBoosting 方法的高效实现。
    (1)传统的 G B D T GBDT GBDT 模型以 C A R T CART CART 树作为基学习器,而 X G B o o s t XGBoost XGBoost 还支持线性分类器,这时 X G B o o s t XGBoost XGBoost 的基学习器可以是 L 1 L1 L1 L 2 L2 L2 正则化的逻辑回归模型或者线性回归模型,提高了模型的应用范围。
    (2)传统的 G B D T GBDT GBDT 模型在优化时只用到了损失函数一阶导数信息,而 X G B o o s t XGBoost XGBoost 则对损失函数进行了二阶泰勒展开,得到了一阶导数和二阶导数,可以加快优化速度。
    (3) X G B o o s t XGBoost XGBoost 模型在损失函数中加入了正则项,用于控制模型的复杂度,从权衡方差和偏差的角度来看,它降低了模型的方差,使学习出来的模型更加简单,可以防止过拟合,提高了泛化能力。
    (4)借鉴随机森林模型对特征进行采样的方法,在生成决策树的过程中支持列抽样(即每次的输入特征不是全部特征),不仅可以防止过拟合,还能减少计算量。
    (5)能够自动处理缺失值,将其单独作为一个分支。

  9. 简述 X G B o o s t XGBoost XGBoost 的并行操作。
    X G B o o s t XGBoost XGBoost 的并行不是指在模型上并行,它也是一次迭代完成后才能进行下一次迭代的,而是指在特征上并行。决策树模型的学习最耗时的一个步骤就是对特征值进行排序,以确定最佳分割点。
    X G B o o s t XGBoost XGBoost 模型在训练之前,预先对每个特征内部进行了排序找出候选切割点,然后保存为块(block)结构,后面的迭代中重复地使用这个结构,大大减小计算量。
    在进行节点的分裂时,需要计算每个特征的增益,最终选增益最大的那个特征去做分裂,那么各个特征的增益计算就可以开多线程进行,即在不同的特征属性上采用多线程并行方式寻找最佳分割点。

  10. 对于预测问题常用的评估方法有哪些?
    (1)均方误差, M S E = 1 N ∑ t = 1 N ( o b s e r v e t − p r e d i c t e t ) 2 MSE = \frac{1}{N}\sum_{t=1}^N(observe_t - predicte_t)^2 MSE=N1t=1N(observetpredictet)2
    (2)均方根误差, R M S E = 1 N ∑ t = 1 N ( o b s e r v e t − p r e d i c t e t ) 2 RMSE = \sqrt{\frac{1}{N}\sum_{t=1}^N(observe_t - predicte_t)^2} RMSE=N1t=1N(observetpredictet)2
    (3)平均绝对误差, M A E = 1 N ∑ t = 1 N ∣ o b s e r v e t − p r e d i c t e t ∣ MAE = \frac{1}{N}\sum_{t=1}^N|observe_t - predicte_t| MAE=N1t=1Nobservetpredictet

  11. 对于二分类问题常用的评估方法有哪些?
    准确率、召回率、正确率

预测为正例 预测为反例
实际为正例 TP(True Positive) FN(False Negative)
实际为反例 FP(False Positive) TN(True Negative)
  1. 解释准确率和召回率。
    准确率(precision),又称精度。在预测为正例中,有多少实际为正。 T P T P + F P = 实 际 为 正 , 预 测 为 正 预 测 为 正 \frac{TP}{TP+FP} = \frac{实际为正,预测为正}{预测为正} TP+FPTP=
    召回率(recall),又称查全率。在实际为正例当中,有多少预测为正。 T P T P + F N = 实 际 为 正 , 预 测 为 正 实 际 为 正 \frac{TP}{TP+FN} = \frac{实际为正,预测为正}{实际为正} TP+FNTP=
    P R PR PR 曲线是用来可视化模型准确率和召回率的图形。在实际工作中,通常固定某一个指标,提升另一个指标。

  2. 简要解释正确率,并阐述正确率与准确率的区别。
    正确率(accuracy),判断正确的数量。 T P + T N T P + F N + F P + T N \frac{TP+TN}{TP+FN+FP+TN} TP+FN+FP+TNTP+TN 相比于准确率,正确率同时考虑了正负样本预测的情况。在实际问题中大多是对正样本比较感兴趣,并且会存在正负样本不平衡的情况,在极端情况下,正负样本比例会达到 1 : 999。此时如果要看正确率,只需将所有结果都预测为负样本,正确率就达到了 99.9%,但准确率为 0。因此相比于正确率,准确率的使用频率更高。

  3. 用简洁的语言或者举例解释准确率和召回率。
    以警察抓小偷为例,准确率为“抓到的人当中,小偷的占比”,召回率为“被抓到的小偷在所有小偷中的占比”。

  4. 简单介绍 R O C ROC ROC A U C AUC AUC 的概念及相互之间的关联。
    R O C 曲 线 横 坐 标 = F P R ( F a l s e   P o s i t i v e   R a t e , 假 阳 率 ) = F P F P + T N ROC曲线横坐标 = FPR(False{\,}Positive{\,}Rate,假阳率)= \frac{FP}{FP+TN} ROC线=FPRFalsePositiveRate=FP+TNFP R O C 曲 线 纵 坐 标 = T P R ( T r u e   P o s i t i v e   R a t e , 真 阳 率 ) = T P T P + F N ROC曲线纵坐标 = TPR(True{\,}Positive{\,}Rate,真阳率)= \frac{TP}{TP+FN} ROC线=TPRTruePositiveRate=TP+FNTP 在一个二分类模型中,对于所得到的连续结果,假设已确定一个阀值,比如说 0.6,大于这个值的实例划归为正类,小于这个值则划到负类中。如果减小阀值,减到0.5,固然能识别出更多的正类,也就是提高了识别出的正例占所有正例的比例,即 T P R TPR TPR,但同时也将更多的负实例当作了正实例,即提高了 F P R FPR FPR
    R O C ROC ROC曲线一定会经过 ( 0 , 0 ) (0,0) (0,0) ( 1 , 1 ) (1,1) (1,1) 两个点,在此基础上,要尽量使曲线下方所围成的面积最大化,这部分面积称为 A U C ( A r e a   u n d e r   t h e   C u r v e   o f   R O C ) AUC(Area{\,}under{\,}the{\,}Curve{\,}of{\,}ROC) AUCAreaundertheCurveofROC A U C AUC AUC 也是用来衡量二分类模型效果的指标。

  5. 多分类问题的评估方法有哪些?
    (1)如果特别关注某一分类,则可以转换为二分类问题。将其中我们最关心的分类作为正例,其余的均作为负例,这样就可以运用二分类问题的评估方法。
    (2)使用混淆矩阵。混淆矩阵是将此前 2 × 2 2×2 2×2 预测值与实际结果之间对应的矩阵进行拓展。拓展成 n × n n×n n×n 矩阵,其中 n n n 代表分类的数量。在混淆矩阵中,对角线代表正确的结果。

你可能感兴趣的:(数据科学,数据挖掘,机器学习,数据挖掘,机器学习,数据分析)