数据科学面试题-2023面试题库
数据科学是一个跨学科领域,它挖掘原始数据,对其进行分析,并提出用于从中提取有价值的见解的模式。统计学、计算机科学、机器学习、深度学习、数据分析、数据可视化和各种其他技术构成了数据科学的核心基础。
多年来,由于数据的重要性,数据科学获得了广泛的重要性。数据被认为是未来的新石油,如果分析和利用得当,可以证明对利益相关者非常有益。不仅如此,数据科学工程师还可以接触到不同领域的工作,通过利用最优、最新的技术解决现实生活中的实际问题。最常见的实时应用程序比如美团、饿了么等应用程序中送餐最佳路经功能,方法是帮助派送员显示从餐厅到达目的地的最快路线。
数据科学还用于亚马逊、京东、天猫、拼多多等电子商务网站中的项目推荐系统,这些系统根据用户的搜索历史向用户推荐他们可以购买的商品。不仅仅是推荐系统,数据科学在欺诈检测应用程序中越来越受欢迎,以检测基于信用的金融应用程序中涉及的任何欺诈。一个成功的数据科学工程师可以解释数据,执行创新并激发创造力,同时解决有助于推动业务和战略目标的问题。
在本文中,我们将探讨最常见的数据科学技术面试问题,这些问题将对有抱负和经验丰富的数据科学工程师有所帮助。
数据科学面试问题
1. 什么是数据科学?
由各种科学过程、算法、工具和机器学习技术组成的跨学科领域,致力于帮助找到常见模式并使用统计和数学分析从给定的原始输入数据中收集明智的见解,称为数据科学。
下图表示数据科学的生命周期。
- 它从收集业务需求和相关数据开始。
- 获取数据后,将通过执行数据清理、数据仓库、数据暂存和数据体系结构来维护数据。
- 数据处理执行探索数据,挖掘数据,分析数据的任务,最终可用于生成从数据中提取的见解的摘要。
- 完成探索步骤后,将根据要求对清理后的数据进行各种算法,如预测分析、回归、文本挖掘、识别模式等。
- 在最后阶段,结果以视觉上吸引人的方式传达给业务。这就是数据可视化、报告和不同商业智能工具的技能发挥作用的地方。
2. 数据分析和数据科学有什么区别?
- 数据科学涉及通过使用各种技术分析方法来转换数据的任务,以提取有意义的见解,数据分析师可以使用这些见解应用于其业务场景。
- 数据分析涉及检查现有的假设和信息,并回答问题,以实现更好,更有效的业务相关决策过程。
- 数据科学通过回答为未来问题建立联系和答案的问题来推动创新。数据分析侧重于从现有的历史背景中获得当前意义,而数据科学侧重于预测建模。
- 数据科学可以被认为是一门广泛的学科,它利用各种数学和科学工具和算法来解决复杂的问题,而数据分析可以被认为是一个特定的领域,使用较少的统计和可视化工具来处理特定的集中问题。
3. 抽样有哪些技术?抽样的主要优势是什么?
数据分析不能一次对整个数据量进行,尤其是当它涉及更大的数据集时。获取一些可用于代表整个人口的数据样本,然后对其进行分析变得至关重要。在执行此操作时,非常有必要从真正代表整个数据集的庞大数据中仔细取出样本数据。
基于统计使用的抽样技术主要分为两类,它们是:
- 概率抽样技术:聚类抽样、简单随机抽样、分层抽样。
- 非概率抽样技术:配额抽样、便利抽样、滚雪球抽样等
4. 列出过拟合和欠拟合的条件。
过拟合:该模型仅对样本训练数据表现良好。如果将任何新数据作为模型的输入,则无法提供任何结果。这些条件是由于模型中的低偏差和高方差而发生的。决策树更容易过度拟合。
欠拟合:在这里,模型非常简单,以至于它无法识别数据中的正确关系,因此即使在测试数据上它的表现也不好。这可能是由于高偏差和低方差而发生的。线性回归更容易出现欠拟合。
5. 区分长格式和宽格式数据。
长格式数据 | 宽格式数据 |
---|---|
在这里,每一行数据代表一个主题的一次性信息。每个主题的数据将位于不同/多行中。 | 在这里,受试者的重复回答是单独列的一部分。 |
可以通过将行视为组来识别数据。 | 通过将列视为组来识别数据。 |
此数据格式最常用于 R 分析,并在每次试验后写入日志文件。 | 此数据格式很少用于 R 分析,最常用于重复度量方差分析的统计包中。 |
6. 什么是特征向量和特征值?
特征向量是长度/量级等于 1 的列向量或单位向量。它们也被称为右向量。特征值是应用于特征向量的系数,特征向量为这些向量提供不同的长度或大小值。
矩阵可以分解为特征向量和特征值,此过程称为特征分解。然后,这些最终用于PCA(主成分分析)等机器学习方法,以从给定矩阵中收集有价值的见解。
7. p 值高低是什么意思?
p 值是假设原假设正确时,结果等于或大于在特定假设下获得的结果的概率的度量。这表示观察到的差异随机发生的概率。
- 低 p 值(表示值≤ 0.05)意味着可以否定原假设,并且数据不太可能为真空。
- 较高的 p 值,即 0.05 ≥值表示支持原假设的强度。这意味着数据与真空相同。
- p 值 = 0.05 表示假设可以采用任一方向。
8. 何时进行重采样?
重采样是一种用于对数据进行抽样以提高准确性和量化总体参数不确定性的方法。这样做是为了通过在数据集的不同模式上训练模型来确保模型足够好,以确保处理变化。在需要使用随机子集验证模型或在执行测试时替换数据点上的标签的情况下,也会执行此操作。
9. 您对不平衡数据的理解是什么?
如果数据在不同类别中分布不均,则被称为高度不平衡。这些数据集会导致模型性能错误并导致不准确。
10. 期望值和平均值之间有区别吗?
这两者之间没有太多区别,但需要注意的是,它们在不同的上下文中使用。平均值通常是指概率分布,而期望值是指涉及随机变量的上下文。
11. 你对幸存者偏见的理解是什么?
这种偏见是指逻辑错误,同时专注于在某些过程中幸存下来的方面,而忽略了那些由于缺乏突出性而不起作用的方面。这种偏见可能导致得出错误的结论。
12. 定义术语 KPI、提升、模型拟合、鲁棒性和 DOE。
- 关键绩效指标: KPI 代表衡量企业实现目标情况的关键绩效指标。
- 提升度:这是针对随机选择模型测量的目标模型的性能度量。提升度表示模型在预测方面与没有模型时的预测效果。
- 模型拟合: 这表明所考虑的模型与给定观测值的拟合程度。
- 鲁棒性: 这表示系统有效处理差异和差异的能力。
- DOE:代表实验设计,代表旨在描述和解释假设条件下的信息变化以反映变量的任务设计。
13. 定义混淆变量。
混淆变量也称为混淆器。这些变量是一种外来变量,它们会影响自变量和因变量,导致这些变量之间存在虚假关联和数学关系,这些变量彼此关联但不随意相关。
14. 定义和解释选择偏差?
选择偏差发生在研究人员必须决定研究哪个参与者的情况下。当参与者选择不是随机的时,选择偏差与这些研究有关。选择偏差也称为选择效应。选择偏差是由样本收集方法引起的。
下面解释四种类型的选择偏差:
- 采样偏差:由于总体完全不是随机的,因此群体中的某些成员被纳入的机会比其他成员少,从而导致样本有偏差。这会导致称为采样偏差的系统误差。
- 时间间隔:如果我们达到任何极值,试验可能会提前停止,但如果所有变量都是相似的不变性,则方差最高的变量有更高的机会达到极值。
- 数据:这是任意选择特定数据并且不遵循普遍商定的标准的时候。
- 减员:在这种情况下,减员意味着参与者的损失。这是对那些没有完成试验的受试者不予考虑。
15. 定义偏差-方差权衡?
让我们首先详细了解偏差和方差的含义:
偏差:当 ML 算法过度简化时,这是机器学习模型中的一种错误。当一个模型被训练时,它当时会做出简化的假设,以便它可以很容易地理解目标函数。如一些具有低偏差的算法是决策树、SVM 等。另一方面,如逻辑和线性回归算法则是具有高偏差的算法。
方差:方差也是一种误差。当 ML 算法变得高度复杂时,它会被引入 ML 模型。此模型还从用于训练的数据集中学习噪声。它在测试数据集上的表现进一步不佳。这可能会导致过度提升以及高灵敏度。
当模型的复杂性增加时,可以看到误差减少。这是由模型中较低的偏差引起的。但是,在我们到达称为最佳点的特定点之前,这并不总是发生。在此之后,如果我们继续增加模型的复杂性,它将过度提升,并且会遭受高方差的问题。我们可以借助图表来表示这种情况,如下所示:
偏差和方差的权衡: 因此,正如我们所知,偏差和方差都是机器学习模型中的错误,因此任何机器学习模型都具有低方差和低偏差非常重要,这样它才能获得良好的性能。
让我们看一些例子。K-最近邻算法是具有低偏差和高方差的算法的一个很好的例子。这种权衡可以通过增加k值轻松逆转,这反过来又导致邻居数量的增加。这反过来又导致偏差增加并减少方差。
另一个例子可以是支持向量机的算法。该算法还具有高方差,显然具有低偏差,我们可以通过增加参数 C 的值来扭转权衡。因此,增加 C 参数会增加偏差并减小方差。
因此,权衡很简单。如果我们增加偏差,方差就会减小,反之亦然。
16. 定义混淆矩阵?
它是一个有 2 行和 2 列的矩阵。它有 4 个二进制分类器提供给它的输出。它用于得出各种度量,如特异性、错误率、准确性、精度、灵敏度和召回率。
- 真阳性:这意味着积极的预测是正确的。
- 误报:这意味着正预测是不正确的。
- 真阴性: 这意味着负面预测是正确的。
- 假阴性:这意味着负面预测是不正确的。
来自混淆矩阵的用于计算基本度量的公式为:
- 错误率:(FP + FN)/(P + N)
- 精度: (TP + TN)/(P + N)
- 灵敏度 = TP/P
- 特异性 = TN/N
- 精度 = TP/(TP + FP)
- F 分数 = (1 + b)(PREC.REC)/(b2 PREC + REC) 在这里,b 大多是 0.5 或 1 或 2。
在这些公式中:
FP = 假阳性 FN = 假阴性 TP = 真阳性 RN = 真阴性
灵敏度是真阳性率的衡量标准。它也被称为召回。
特异性是真阴性率的量度。
精度是正预测值的度量。
F 分数是精度和召回率的调和平均值。
17. 什么是逻辑回归?陈述您最近使用逻辑回归的示例。
逻辑回归也称为 logit 模型。它是一种从变量的线性组合(称为预测变量)预测二进制结果的技术。
例如,假设我们想预测特定美国或其欧洲国家政治某领导人的选举结果。想知道这位领导人是否会赢得选举。因此,结果是二进制的,即赢(1)或输(0)。但是,输入是线性变量的组合,例如花在广告上的钱,领导人和所在党过去所做的工作等。
18. 什么是线性回归?线性模型有哪些主要缺点?
线性回归是一种使用预测变量 X 的分数预测变量 Y 的分数的技术。线性回归的一些缺点如下:
- 误差线性假设是一个主要缺点。
- 它不能用于二进制结果。为此,我们有逻辑回归。
- 存在无法解决的过拟合问题。
19. 什么是随机森林?解释它正在工作。
分类在机器学习中非常重要。了解观察属于哪个类非常重要。因此,我们在机器学习中拥有各种分类算法,如逻辑回归、支持向量机、决策树、朴素贝叶斯分类器等。一种接近分类层次结构顶部的分类技术是随机森林分类器。
因此,首先我们需要先了解决策树,然后才能理解随机森林分类器及其工作原理。因此,假设我们有一个如下所示的字符串:
因此,我们首先从颜色开始,因为我们只对红色观察感兴趣,我们将红色和绿色字符分开。之后,“No”分支,即具有所有绿色字符的分支没有进一步扩展,因为我们只需要红色下划线字符。因此,我们扩展了“是”分支,并根据字符是否带有下划线的事实再次获得了“是”和“否”分支。
所以,这就是我们绘制典型决策树的方式。然而,现实生活中的数据并不那么干净,这只是为了给出一个关于决策树工作的想法。现在让我们转到随机森林。
随机森林
它由大量作为集合运行的决策树组成。基本上,森林中的每棵树都给出了一个类预测,而投票数最大的那棵树成为我们模型的预测。例如,在下面的示例中,4 个决策树预测 1,2 个预测 0。因此,将考虑预测 1。
- 在数据样本上构建多个决策树并记录其预测。
- 每次考虑树的拆分时,从所有 pp 预测变量中选择 mm 预测变量的随机样本作为拆分候选项。这发生在随机森林中的每棵树上。
- 应用经验法则,即在每次拆分m = p√m = p。
- 将预测应用于多数规则。
20.在15分钟的时间间隔内,你看到一颗或一堆流星的概率是0.2。如果你在天空下大约一个小时,你看到至少一颗星星从天而降的几率是多少?
假设 Prob 是我们在 15 分钟内至少看到一颗流星的概率。
因此,概率 = 0.2
现在,我们在 15 分钟的持续时间内可能看不到任何流星的概率是 = 1 - 概率
1-0.2 = 0.8
我们可能一个小时看不到任何流星的概率是:
= (1 概率)(1 概率)(1 概率)*(1 概率)= 0.8 * 0.8 * 0.8 * 0.8 = (0.8)⁴≈ 0.40
因此,我们在一小时的时间间隔内看到一颗流星的概率是 = 1-0.4 = 0.6
因此,我们大约有60%的机会在一个小时内看到流星。
21. 什么是深度学习?深度学习和机器学习有什么区别?
深度学习是机器学习的一种范式。在深度学习中,为了从数据中提取高特征,涉及多层处理。神经网络的设计方式是试图模拟人脑。
近年来,深度学习表现出令人难以置信的性能,因为它与人脑有很大的相似之处。
机器学习和深度学习之间的区别在于,深度学习是机器学习的一种范式或一部分,其灵感来自人脑的结构和功能,称为人工神经网络。了解更多。
22. 什么是梯度下降和梯度下降?
梯度: 梯度是属性的度量,该属性相对于输入的微小变化发生了多大的变化。换句话说,我们可以说它是相对于误差变化的权重变化的度量。梯度可以在数学上表示为函数的斜率。
梯度下降: 梯度下降是一种最小化算法,可最小化激活函数。好吧,它可以最小化提供给它的任何功能,但它通常只提供激活功能。
梯度下降,顾名思义,意味着下降或某物的减少。梯度下降的类比通常被视为一个人爬下山/山。以下是描述梯度下降含义的等式:
因此,如果一个人正在爬下山坡,那么登山者必须到达的下一个位置在这个等式中用“b”表示。然后,有一个减号,因为它表示最小化(因为梯度下降是一种最小化算法)。伽马称为等待因子,剩余的项即梯度项本身显示最陡的下降方向。
23. 时间序列问题与其他回归问题有何不同?
- 时间序列数据可以被认为是线性回归的扩展,线性回归使用自相关等术语,平均值的移动来汇总y轴变量的历史数据,以预测更好的未来。
- 预测和预测是时间序列问题的主要目标,可以进行准确的预测,但有时可能不知道根本原因。
- 在问题中有时间并不一定意味着它变成了时间序列问题。目标和时间之间应该存在关系,问题才会成为时间序列问题。
- 预计在时间上彼此接近的观测结果将与远处的观测结果相似,后者提供了季节性的问责制。例如,今天的天气与明天的天气相似,但与从今天起4个月的天气不同。因此,基于过去数据的天气预报成为一个时间序列问题。
24. 线性回归模型中的RMSE和MSE是什么?
RMSE:RMSE 代表 均方根误差。在线性回归模型中,RMSE 用于测试机器学习模型的性能。它用于评估分布在最佳拟合线周围的数据。因此,简而言之,它用于测量残差的偏差。
RMSE 使用以下公式计算:
- Yi 是输出变量的实际值。
- Y(Cap) 是预测值,并且,
- N 是数据点的数量。
MSE:均方误差用于查找线与实际数据的接近程度。因此,我们对数据点与线的距离进行差值,并且差值是平方的。这是针对所有数据点完成的,并且提交平方差除以数据点总数得到均方误差(MSE)。
那么,如果我们取 N 个数据点的平方差并将总和除以 N,这意味着什么?是的,它表示数据点与线的平方差的平均值,即实际值和预测值之间的平方差的平均值。查找MSE的公式如下:
- Yi 是输出变量的实际值(第 i 个数据点)
- Y(cap) 是预测值,并且,
- N 是数据点的总数。
因此,RMSE是MSE的平方根。
25. 什么是 SVM(支持向量机)中的支持向量?
在上图中,我们可以看到细线标记了从分类器到最近数据点(变暗的数据点)的距离。这些称为支持向量。因此,我们可以将支持向量定义为最接近(最接近)超平面的数据点或向量。它们会影响超平面的位置。由于它们支持超平面,因此它们被称为支持向量。
26. 所以,你在机器学习和数据科学方面做过一些项目,我们看到你在这个领域有点经验。假设您的笔记本电脑的 RAM 只有 4GB,并且您想在 10GB 数据集上训练您的模型。
你会怎么做?你以前遇到过这样的问题吗?
在这类问题中,我们首先需要询问我们必须训练什么 ML 模型。之后,这取决于我们是否必须训练基于神经网络或 SVM 的模型。
神经网络的步骤如下:
- Numpy 数组可用于加载整个数据。它永远不会存储整个数据,而只是创建数据的映射。
- 现在,为了获得一些所需的数据,请将索引传递到 NumPy 数组中。
- 此数据可用于作为输入传递到保持小批量大小的神经网络。
SVM 的步骤如下:
- 对于 SVM,可以获得小数据集。这可以通过划分大数据集来完成。
- 如果使用部分拟合函数,则可以获取数据集的子集作为输入。
- 对其他子集也重复使用部分拟合方法的步骤。
现在,如果您在项目中或在机器学习/数据科学中遇到过此类问题,您可以描述情况。
27. 解释神经网络基础知识。
在人脑中,存在不同的神经元。这些神经元组合并执行各种任务。深度学习中的神经网络试图模仿人脑神经元。神经网络从数据中学习模式,并利用从各种模式中获得的知识来预测新数据的输出,而无需任何人工帮助。
感知器是最简单的神经网络,它包含一个执行 2 个功能的神经元。第一个函数是执行所有输入的加权和,第二个函数是激活函数。
还有其他一些更复杂的神经网络。此类网络由以下三层组成:
- 输入层:神经网络具有接收输入的输入层。
- 隐藏层: 输入层和输出层之间可以有多个隐藏层。最初的隐藏层用于检测低级模式,而其他层负责组合前几层的输出以查找更多模式。
- 输出层: 此层输出预测。
神经网络图像示例如下所示:
28. 什么是生成对抗网络?
这种方法可以用葡萄酒卖家的著名例子来理解。假设有一个葡萄酒卖家拥有自己的商店。这位葡萄酒销售商从经销商那里购买葡萄酒,经销商以低成本向他出售葡萄酒,以便他可以以高成本将葡萄酒出售给客户。现在,让我们假设他购买葡萄酒的经销商正在向他出售假酒。他们这样做是因为假酒的成本比原酒低得多,而假酒和真酒对普通消费者(在这种情况下是客户)来说是无法区分的。店主有一些葡萄酒专家的朋友,他每次都会把他的葡萄酒寄给他们,然后再把库存放在他的商店里出售。所以,他的朋友,葡萄酒专家,给他反馈说葡萄酒可能是假的。由于葡萄酒销售商长期以来一直在从同一经销商那里购买葡萄酒,他希望在向经销商投诉之前确保他们的反馈是正确的。现在,让我们说经销商也从某个地方得到了一个提示,即葡萄酒卖家对他们持怀疑态度。
因此,在这种情况下,经销商会尽力出售假酒,而葡萄酒卖家会尽力识别假酒。让我们借助下图来了解这一点:
从上图中可以清楚地看出,噪声矢量正在进入生成器(经销商),他生成假酒,鉴别器必须区分假酒和真酒。这是一个生成对抗网络(GAN)。
在 GAN 中,有 2 个主要组件,即。生成器和鉴别器。因此,生成器是一个不断产生图像的 CNN,鉴别器试图从假图像中识别真实图像。
29. 什么是计算图?
计算图也称为“数据流图”。著名的深度学习库TensorFlow中的所有内容都基于计算图。Tensorflow中的计算图有一个节点网络,每个节点在其中运行。此图的节点表示操作,边缘表示张量。
30. 什么是自动编码器?
自动编码器是学习网络。它们以尽可能小的误差将输入转换为输出。所以,基本上,这意味着我们想要的输出应该几乎等于或接近输入,如下所示。
在输入层和输出层之间添加多个层,并且输入层和输出层之间的层小于输入层。它收到了未标记的输入。对此输入进行编码,以便稍后重建输入。
31. 什么是梯度爆炸和梯度消失?
- 梯度爆炸:假设您正在训练一个 RNN。比如说,您看到了累积的误差梯度呈指数级增长,因此,对神经网络模型权重进行了非常大的更新。这些指数增长的误差梯度在很大程度上更新了神经网络权重,称为梯度爆炸。
- 梯度消失:让我们来看看,你正在训练一个RNN。比如说,坡度变得太小了。斜率变得太小的问题称为梯度消失。它会导致训练时间大幅增加,并导致性能不佳和准确性极低。
32. 什么是 p 值,它在零假设中表示什么?
P 值是一个介于 0 到 1 之间的数字。在统计学的假设检验中,p 值有助于告诉我们结果的强度。保留用于实验或试验的声明称为零假设。
- 低 p 值(即小于或等于 0.05 的 p 值)表示结果相对于原假设的强度,这反过来意味着可以否定原假设。
- 较高的 p 值(即大于 0.05 的 p 值)表示结果的强度有利于原假设,即原假设,这反过来意味着可以接受原假设。
33. 既然你有深度学习领域的经验,你能告诉我们为什么TensorFlow是深度学习中最受欢迎的库之一吗?
Tensorflow是深度学习中一个非常著名的库。原因其实很简单。它提供了C++以及Python API,这使得它更容易工作。此外,与Keras和Torch(其他著名的深度学习库)相比,TensorFlow具有更快的编译速度。除此之外,Tenserflow还支持GPU和CPU计算设备。因此,这是一个重大的成功,是一个非常受欢迎的深度学习库。
34. 假设有一个数据集的变量缺失值超过30%,您将如何处理这样的数据集?
根据数据集的大小,我们遵循以下方法:
- 如果数据集较小,则缺失值将替换为剩余数据的平均值或平均值。在 pandas 中,这可以通过以下方式完成 其中 df 表示表示数据集的 pandas 数据帧,mean() 计算数据的平均值。要将缺失值替换为计算的平均值,我们可以使用 .
mean = df.mean()
df.fillna(mean)
- 对于较大的数据集,可以删除具有缺失值的行,其余数据可用于数据预测。
35. 什么是交叉验证?
交叉验证是一种用于提高模型性能的统计技术。在这里,将使用训练数据集的不同样本对模型进行轮换训练和测试,以确保模型在未知数据中表现良好。训练数据将被分成不同的组,并针对这些组轮流运行和验证模型。
最常用的技术是:
- K-折叠法
- 离开出线法
- 留一法
- 维持方法
36. 相关性和协方差有什么区别?
尽管这两个术语用于建立任意两个随机变量之间的关系和依赖关系,但它们之间的区别如下:
- 相关:该技术用于测量和估计两个变量之间的定量关系,并根据变量的相关强度进行衡量。
- 协方差:它表示变量在一个循环中一起变化的程度。这解释了变量对之间的系统关系,其中一个变量的变化会影响另一个变量的变化。
在数学上,考虑 2 个随机变量,X 和 Y,其中均值表示为��和��分别和标准差由下式表示��和��分别和 E 表示期望值运算符,则:
- 协方差XY =
- 相关性XY =
因此,correlation(X,Y) = covariance(X,Y)/(covariance(X) covariance(Y))
基于上述公式,我们可以推断出相关性是无量纲的,而协方差以由两个变量的单位相乘获得的单位表示。
37. 您如何解决任何基于数据分析的项目?
通常,我们遵循以下步骤:
- 第一步是先了解业务需求/问题
- 接下来,探索给定的数据并仔细分析。如果发现缺少任何数据,请向业务部门明确要求。
- 接下来将执行数据清理和准备步骤,然后用于建模。在这里,找到缺失值并转换变量。
- 针对数据运行模型,构建有意义的可视化效果并分析结果以获得有意义的见解。
- 发布模型实现,并跟踪指定时间段内的结果和性能以分析有用性。
- 执行模型的交叉验证。
38. 我们必须多久更新一次机器学习领域的算法?
我们不想定期更新和更改算法,因为算法是解决任何问题的明确定义的步骤过程,如果步骤不断更新,则不能再说定义良好。此外,这给已经实现该算法的系统带来了很多问题,因为很难引入连续和定期的更改。因此,我们应该仅在以下任何一种情况下更新算法:
- 如果您希望模型随着数据流通过基础设施而发展,那么对算法进行更改并相应地更新它是公平的。
- 如果基础数据源正在更改,则几乎需要相应地更新算法。
- 如果存在非平稳性的情况,我们可能会更新算法。
- 更新任何算法的最重要原因之一是其性能不佳和效率低下。因此,如果算法缺乏效率或表现不佳,则应将其替换为更好的算法,或者必须对其进行更新。
39.为什么我们需要选择偏差?
选择偏差发生在在选择数据集的一部分进行分析时没有专门实现随机化的情况下。这种偏差表明,所分析的样本并不代表要分析的整个总体。
40. 为什么数据清理至关重要?如何清理数据?
在对任何数据运行算法时,为了收集适当的见解,非常有必要拥有仅包含相关信息的正确和干净的数据。脏数据通常会导致糟糕或不正确的见解和预测,这可能会产生破坏性影响。
例如,在启动任何大型活动来营销产品时,如果我们的数据分析告诉我们要定位实际上没有需求的产品,并且如果活动启动,它必然会失败。这导致公司收入的损失。这就是拥有适当和干净的数据的重要性所在。
- 数据清理来自不同来源的数据有助于数据转换,并生成数据科学工程师可以处理的数据。
- 正确清理的数据可以提高模型的准确性,并提供非常好的预测。
- 如果数据集非常大,则在其上运行数据会变得很麻烦。如果数据很大,数据清理步骤需要花费大量时间(大约 80% 的时间)。它不能与运行模型合并。因此,在运行模型之前清理数据可以提高模型的速度和效率。
- 数据清理有助于识别和修复数据中的任何结构问题。它还有助于删除任何重复项,并有助于保持数据的一致性。
41. 有哪些可用的特征选择方法可用于选择正确的变量以构建有效的预测模型?
在数据科学或机器学习算法中使用数据集时,碰巧并非所有变量对于构建模型都是必要和有用的。需要更智能的特征选择方法来避免冗余模型,以提高模型的效率。以下是功能选择中的三种主要方法:
- 过滤方法:
- 这些方法仅选取通过单变量统计量测量的特征的内在属性,而不是交叉验证的性能。与包装器方法相比,它们简单明了,通常速度更快,需要的计算资源更少。
- 有多种过滤方法,例如卡方检验、费舍尔分数法、相关系数、方差阈值、平均绝对差分 (MAD) 法、离散比等。
- 包装方法:
- 这些方法需要某种方法来贪婪地搜索所有可能的特征子集,通过学习和评估具有特征的分类器来访问它们的质量。
- 选择技术建立在给定数据集需要适应的机器学习算法之上。
- 有三种类型的包装器方法,它们是:
- 前向选择:在这里,一次测试一个特征并添加新特征,直到获得良好的拟合。
- 向后选择:在这里,测试了所有功能,并逐个消除不合适的功能,以查看哪个效果更好。
- 递归特征消除: 递归检查和评估功能的性能。
- 这些方法通常是计算密集型的,需要高端资源进行分析。但这些方法通常会导致更好的预测模型,比过滤方法具有更高的准确性。
- 嵌入式方法:
- 嵌入式方法通过包含特征交互同时保持合理的计算成本,构成了过滤器和包装器方法的优势。
- 这些方法是迭代的,因为它们进行每个模型迭代并仔细提取有助于该迭代中大部分训练的特征。
- 嵌入式方法的示例:LASSO 正则化 (L1)、随机森林重要性。
42. 在分析过程中,您如何处理缺失值?
要识别缺失值的范围,我们首先必须识别具有缺失值的变量。假设识别了一种模式。分析师现在应该专注于它们,因为它可能会带来有趣和有意义的见解。但是,如果没有识别模式,我们可以用中值或平均值替换缺失值,或者我们可以简单地忽略缺失值。
如果变量是分类变量,则为平均值、最小值和最大值分配默认值。缺失值将分配给默认值。如果我们有一个数据的分布,对于正态分布,我们给出平均值。
如果特定变量缺少 80% 的值,那么我们将删除该变量而不是处理缺失值。
43. 将分类变量视为连续变量会产生更好的预测模型吗?
是的!分类变量是可以分配给两个或多个类别的变量,没有明确的类别排序。有序变量类似于具有正确和明确的排序定义的分类变量。因此,如果变量是有序变量,则将分类值视为连续变量将产生更好的预测模型。
44. 在数据分析过程中,您将如何处理缺失值?
在确定哪种变量具有缺失值后,可以知道缺失值的影响。
- 如果数据分析师在这些缺失值中找到任何模式,则有机会找到有意义的见解。
- 如果未找到模式,则可以忽略这些缺失值,也可以将其替换为默认值,例如平均值、最小值、最大值或中值。
- 如果缺失值属于分类变量,则为它们分配默认值。如果数据具有正态分布,则将平均值分配给缺失值。
- 如果缺少 80% 的值,则取决于分析师是将其替换为默认值还是删除变量。
45. ROC 曲线代表什么以及如何创建它?
ROC(受试者工作特性)曲线是不同阈值下假阳性率和真阳性率之间对比度的图形表示。该曲线用作敏感性和特异性之间权衡的代理。
ROC 曲线是通过绘制真阳性率(TPR 或灵敏度)值与假阳性率(FPR 或(1 特异性))来创建的,TPR 表示正确预测为阳性的观测值占总体阳性观测值的比例。FPR 表示错误预测的观测值占总体负面观测值的比例。
46. 单变量分析、双变量分析和多变量分析有什么区别?
统计分析根据给定时间处理的变量数量进行分类。
单变量分析 | 双变量分析 | 多变量分析 |
---|---|---|
此分析一次只解决一个变量。 | 该分析涉及给定时间两个变量的统计研究。 | 该分析涉及两个以上变量的统计分析并研究响应。 |
示例:基于区域的销售饼图。 | 示例:销售额和支出量分析研究的散点图。 | 示例:研究人类的社交媒体习惯与自尊之间的关系,这取决于年龄、花费的小时数、就业状况、关系状况等多种因素。 |
47. 测试集和验证集有什么区别?
测试集用于测试或评估已训练模型的性能。它评估模型的预测能力。
验证集是训练集的一部分,用于选择参数以避免模型过度拟合。
48.你对内核技巧的理解是什么?
核函数是广义的点积函数,用于计算高维特征空间中向量 xx 和 yy 的点积。核技巧法用于通过使用线性分类器来解决非线性问题,方法是将线性不可分的数据转换为更高维度的可分离数据。
49. 区分箱线图和直方图。
箱形图和直方图都是用于显示数据分布以实现有效信息通信的可视化。
直方图是信息的条形图表示形式,表示数值变量值的频率,这些数值变量值可用于估计概率分布、变异和异常值。
箱线图用于传达数据分布的不同方面,其中看不到分布的形状,但仍然可以收集见解。这些对于同时比较多个图表很有用,因为与直方图相比,它们占用的空间更少。
50. 您将如何平衡/纠正不平衡的数据?
有不同的技术可以纠正/平衡不平衡的数据。这可以通过增加少数民族阶级的样本数量来完成。对于具有极高数据点的类,可以减少样本数。以下是平衡数据的一些方法:
- 使用正确的评估指标:在数据不平衡的情况下,使用提供有价值信息的正确评估指标非常重要。
- 特异性/精确性:指示相关的选定实例数。
- 敏感性:指示所选相关实例的数量。
- F1比分: 它代表精度和灵敏度的调和平均值。
- MCC(马修斯相关系数):它表示观测到的二元分类和预测的二元分类之间的相关系数。
- AUC(曲线下面积):这表示真阳性率和假阳性率之间的关系。
例如,请考虑下图来说明训练数据:
在这里,如果我们用得到“0”来衡量模型的准确性,那么模型的准确性将非常高 -> 99.9%,但模型不能保证任何有价值的信息。在这种情况下,我们可以应用上述不同的评估指标。
- 训练集重采样:也可以通过获取不同的数据集来平衡数据,这可以通过重新采样来实现。根据用例和要求,有两种方法遵循欠采样:
- 欠采样这通过减小丰富类的大小来平衡数据,并在数据量足够时使用。通过执行此操作,可以检索平衡的新数据集,并将其用于进一步建模。
- 过采样当数据量不足时,将使用此方法。此方法通过尝试增加样本大小来平衡数据集。不是摆脱多余的样本,而是通过采用重复、引导等方法生成和引入新样本。
- 正确执行 K 折叠交叉验证: 使用过度采样时,需要正确应用交叉验证。交叉验证应该在过度采样之前完成,因为如果稍后完成,那么就像过度拟合模型以获得特定结果一样。为了避免这种情况,使用不同的比率重复对数据进行重采样。
51. 随机森林还是多个决策树哪个更好?
随机森林比多个决策树更好,因为随机森林更健壮、更准确,并且更不容易过度拟合,因为它是一种集成方法,可确保多个弱决策树强学习。
52. 考虑一个案例,你知道在 15 分钟的间隔内找到至少一颗流星的概率是 30%。评估在一小时内找到至少一颗流星的概率?
We know that,
Probability of finding atleast 1 shooting star in 15 min = P(sighting in 15min) = 30% = 0.3
Hence, Probability of not sighting any
shooting star in 15 min = 1-P(sighting in 15min)
= 1-0.3
= 0.7
Probability of not finding shooting star in 1 hour
= 0.7^4
= 0.1372
Probability of finding atleast 1
shooting star in 1 hour = 1-0.1372
= 0.8628
所以概率是 0.8628 = 86.28%
53. 从一罐 10 枚硬币中掷出选定的硬币 1000 次。在 1000 个硬币中,999 个硬币是公平的,1 个硬币是双头的,假设你看到 10 个正面。估计在下一次抛硬币时获得正面的概率。
我们知道有两种类型的硬币 - 公平和双头。因此,有两种可能的方法可以选择硬币。第一种是选择一枚公平的硬币,第二种是选择一枚有2个头的硬币。
P(选择公平硬币) = 999/1000 = 0.999
P(选择双头硬币) = 1/1000 = 0.001
使用贝叶斯规则,
P(selecting 10 heads in row) = P(selecting fair coin)* Getting 10 heads + P(selecting double headed coin)
P(selecting 10 heads in row) = P(A)+P(B)
P (A) = 0.999 * (1/2)^10
= 0.999 * (1/1024)
= 0.000976
P (B) = 0.001 * 1 = 0.001
P( A / (A + B) ) = 0.000976 / (0.000976 + 0.001) = 0.4939
P( B / (A + B)) = 0.001 / 0.001976
= 0.5061
P(selecting head in next toss) = P(A/A+B) * 0.5 + P(B/A+B) * 1
= 0.4939 * 0.5 + 0.5061
= 0.7531
所以,答案是0.7531或75.3%。
54. 假阳性被证明比假阴性重要的例子有哪些?
在引用实例之前,让我们了解什么是误报和假阴性。
- 误报是那些被错误地识别为事件的情况,即使它们不是。它们称为 I 类错误。
- 假阴性是那些尽管是事件但被错误地识别为非事件的情况。它们被称为类型 II 错误。
误报比漏报重要的一些示例包括:
- 在医学领域:考虑到实验室报告已经预测了患者的癌症,即使他没有癌症。这是误报错误的示例。为该患者开始化疗是危险的,因为他没有癌症,因为开始化疗会导致健康细胞受损,甚至可能实际上导致癌症。
- 在电子商务领域:假设一家公司决定启动一个活动,他们提供 100 美元的礼券,用于购买价值 10000 美元的物品,没有任何最低购买条件。他们认为这将为销售超过 20 美元的物品带来至少 10000% 的利润。如果将代金券提供给未购买任何东西但被错误标记为购买价值 10000 美元产品的客户怎么办?这是误报错误的情况。
55. 举一个例子,假阳性和假阴性同样重要?
在银行领域:贷款是银行的主要收入来源。但如果还款率不好,那么就有巨额损失而不是任何利润的风险。因此,向客户发放贷款是一场赌博,因为银行不能冒失去好客户的风险,但同时,他们又负担不起获得坏客户的费用。此案例是在误报和假阴性场景中同等重要的经典示例。
56. 在拟合支持向量模型之前进行降维是否好?
如果特征数大于观测值,则执行降维可改善 SVM(支持向量模型)。
57. 线性回归中使用的各种假设是什么?如果它们被侵犯会发生什么?
线性回归是在以下假设下完成的:
- 用于建模的示例数据表示整个总体。
- X 轴变量与 Y 变量的均值之间存在线性关系。
- 对于任何 X 值,残差方差都是相同的。这称为同方差性
- 这些观测结果彼此独立。
- 对于 X 的任何值,Y 呈正态分布。
极端违反上述假设会导致冗余结果。越不违反这些规定,估计值的方差或偏差越大。
58. 如何使用正则化方法进行特征选择?
正则化方法需要在机器学习模型中的不同参数中添加惩罚,以减少模型的自由度,以避免过度拟合的问题。
有多种正则化方法可用,例如线性模型正则化、Lasso/L1 正则化等。线性模型正则化对乘以预测变量的系数应用惩罚。Lasso/L1 正则化具有将一些系数缩小到零的特征,从而使其有资格从模型中删除。
59. 如何识别硬币是否有偏差?
为此,我们进行如下假设检验:
根据零假设,如果正面抛硬币的概率为50%,则硬币是无偏的。执行以下步骤:
1)抛硬币500次
2)计算假定值。
3)将p值与双尾检验的alpha ->结果进行比较(0.05/2 = 0.025)。可能出现以下两种情况:
p值> alpha:则零假设成立,硬币是无偏的。
p值< alpha:则拒绝原假设,硬币有偏。
60.降维的重要性是什么?
降维过程包括减少数据集中的特征数量,以避免过度拟合并减少方差。此过程主要有 4 个优点:
- 这减少了模型执行的存储空间和时间。
- 消除了多重共线性问题,从而改进了 ML 模型的参数解释。
- 在减少维度时,可以更轻松地可视化数据。
- 避免了维度增加的诅咒。
61. 网格搜索参数与随机搜索调整策略有何不同?
调优策略用于查找正确的超参数集。超参数是在数据集上测试或训练模型之前固定且特定于模型的属性。网格搜索和随机搜索调整策略都是找到有效超参数的优化技术。
- 网格搜索:
- 在这里,尝试和评估预设超参数列表的每个组合。
- 搜索模式类似于在网格中搜索,其中值位于矩阵中并执行搜索。每个参数集都经过试用并跟踪其准确性。在尝试每种组合后,选择具有最高精度的模型作为最佳模型。
- 这里的主要缺点是,如果超参数的数量增加,该技术就会受到影响。评估次数可以随着超参数的每次增加而呈指数级增长。这称为网格搜索中的维数问题。
- 随机搜索:
- 在这种技术中,尝试并评估超参数集的随机组合以找到最佳解决方案。为了优化搜索,在参数空间中以随机配置测试函数,如下图所示。
- 在这种方法中,找到最佳参数的机会增加,因为遵循的模式是随机的。有可能在优化参数上训练模型,而无需混叠。
- 当维度数量较少时,此搜索效果最佳,因为找到正确集所需的时间更少。
结论:
数据科学是一个非常广阔的领域,包括许多主题,如数据挖掘、数据分析、数据可视化、机器学习、深度学习,最重要的是,它建立在线性代数和统计分析等数学概念的基础上。由于成为一名优秀的专业数据科学工程师有很多先决条件,因此福利和好处非常大。如今,数据科学工程师已成为最受欢迎的工作角色。