机器学习面试需要严格的准备,因为候选人会根据技术和编程技能、对机器学习概念的深入了解等各个方面进行评判。如果您是一名有抱负的机器学习专业人士,那么了解招聘经理可能会问什么样的机器学习面试问题至关重要。为了帮助您简化这个学习过程,我们为您缩小了这些基本的 ML 问题的范围。带着这些问题,您将能够找到机器学习工程师、数据科学家、计算语言学家、软件开发人员、商业智能 (BI) 开发人员、自然语言处理 (NLP) 科学家等职位。
那么,您准备好在 ML 领域实现您的梦想职业了吗?
以下是最常见的 10 个机器学习面试问题列表
机器学习面试需要严格的面试过程,从技术和编程技能、方法知识以及基本概念的清晰度等各个方面对候选人进行评判。如果您渴望申请机器学习工作,那么了解招聘人员和招聘经理通常会问什么样的机器学习面试问题至关重要。
新生机器学习面试问题
如果您是机器学习的初学者并希望在该领域立足,那么现在正是 ML 专业人员需求旺盛的时候。本节中的问题将使您为即将发生的事情做好准备。
在这里,我们整理了您在面试过程中可能会遇到的常见机器学习面试问题(ML 面试问题)的列表。
1.解释一下人工智能(AI)、机器学习(ML)和深度学习这些术语?
人工智能(AI)是生产智能机器的领域。 ML 是指可以将经验(训练数据)和深度学习 (DL) 状态同化为从大型数据集经验中学习的系统。机器学习可以被视为人工智能的一个子集。深度学习 (DL) 是机器学习,但对大型数据集很有用。下图大致概括了AI、ML、DL之间的关系:
总之,深度学习是机器学习的子集,两者都是人工智能的子集。
附加信息:ASR(自动语音识别)和 NLP(自然语言处理)属于 AI 范畴,并与 ML 和 DL 重叠,因为 ML 通常用于 NLP 和 ASR 任务。
2. 机器学习中有哪些不同类型的学习/训练模型?
ML 算法主要可以根据目标变量的存在/不存在进行分类。
A.监督学习: [目标存在]
机器使用标记数据进行学习。该模型在开始使用新数据做出决策之前,会在现有数据集上进行训练。
目标变量是连续的: 线性回归、多项式回归和二次回归。
目标变量是分类的: 逻辑回归、朴素贝叶斯、KNN、SVM、决策树、梯度提升、ADA 提升、Bagging、随机森林等。
B.无监督学习: [目标不存在]
该机器是在未标记的数据上进行训练的,并且没有任何适当的指导。它通过创建集群来自动推断数据中的模式和关系。该模型通过观察并推断数据中的结构来学习。
主成分分析、因子分析、奇异值分解等。
C. 强化学习:
该模型通过试错法进行学习。这种学习涉及一个代理,该代理将与环境交互以创建操作,然后发现该操作的错误或奖励。
3.深度学习和机器学习有什么区别?
机器学习涉及从数据模式中学习然后将其应用于决策的算法。另一方面,深度学习能够通过自行处理数据来学习,与人脑非常相似,可以识别事物、分析事物并做出决定。
主要区别如下:
- 数据呈现给系统的方式。
- 机器学习算法始终需要结构化数据,而深度学习网络依赖于多层人工神经网络。
4. 监督机器学习和无监督机器学习之间的主要区别是什么?
监督学习 | 无监督学习 |
监督学习技术需要标记数据来训练模型。例如,要解决分类问题(监督学习任务),您需要有标签数据来训练模型并将数据分类到标记组中。 | 无监督学习不需要任何标记数据集。这是监督学习和无监督学习之间的主要区别。 |
5. 在处理数据集时如何选择重要变量?
从数据集中选择重要变量的方法有多种,包括:
- 在最终确定重要变量之前识别并丢弃相关变量
- 可以根据线性回归的“p”值选择变量
- 向前、向后和逐步选择
- 随机森林和绘图变量图
- 可以根据可用特征集的信息增益来选择顶级特征。
6. 目前机器学习算法有很多。如果给定一个数据集,如何确定使用哪种算法?
要使用的机器学习算法完全取决于给定数据集中的数据类型。如果数据是线性的,那么我们使用线性回归。如果数据显示非线性,那么装袋算法会做得更好。如果要出于某些业务目的分析/解释数据,那么我们可以使用决策树或支持向量机。如果数据集由图像、视频、音频组成,那么神经网络将有助于准确地获得解决方案。
因此,没有特定的指标来决定针对给定情况或数据集使用哪种算法。我们需要使用 EDA(探索性数据分析)来探索数据,并了解使用数据集的目的来提出最佳拟合算法。因此,详细研究所有算法非常重要。
7. 协方差和相关性有何不同?
协方差 | 相关性 |
协方差衡量两个变量如何相互关联,以及一个变量如何随着另一个变量的变化而变化。如果该值为正,则意味着变量之间存在直接关系,并且在所有其他条件保持不变的情况下,变量将分别随着基本变量的增加或减少而增加或减少。 | 相关性量化两个随机变量之间的关系,只有三个具体值,即 1、0 和 -1。 |
1表示正相关,-1表示负相关,0表示两个变量相互独立。
8. 说明因果关系和相关关系之间的区别?
因果关系适用于一个行为(例如 X)导致一个结果(例如 Y)的情况,而相关性只是将一个行为 (X) 与另一个行为 (Y) 相关,但 X 不一定会导致 Y。
9. 我们几乎一直在研究机器学习软件。我们如何将机器学习应用于硬件?
我们必须在 System Verilog(一种硬件开发语言)中构建 ML 算法,然后将其编程到 FPGA 上,以将机器学习应用于硬件。
10. 解释 One-hot 编码和标签编码。它们如何影响给定数据集的维度?
One-hot 编码是将分类变量表示为二进制向量。标签编码是将标签/单词转换为数字形式。使用 one-hot 编码会增加数据集的维度。标签编码不会影响数据集的维度。 One-hot 编码为变量中的每个级别创建一个新变量,而在标签编码中,变量的级别被编码为 1 和 0。
深度学习面试问题
深度学习是与神经网络一起使用的机器学习的一部分。它涉及网络的层次结构,该结构建立了一个过程来帮助机器学习任何行为背后的人类逻辑。我们整理了一份常见的深度学习面试问题列表,以帮助您做好准备。
11. 正则化何时在机器学习中发挥作用?
有时,当模型开始欠拟合或过拟合时,正则化就变得必要。它是一种将系数估计转向或正则化为零的回归。它降低了灵活性并阻碍了模型的学习以避免过度拟合的风险。模型复杂性降低,预测能力变得更好。
12.什么是偏差、方差以及偏差-方差权衡是什么意思?
两者都是机器学习算法中的错误。当算法从数据集中推断正确观察结果的灵活性有限时,就会产生偏差。另一方面,当模型对小波动极其敏感时,就会出现方差。
如果在构建模型时添加更多特征,则会增加更多复杂性,我们将失去偏差,但会获得一些方差。为了保持最佳的误差量,我们根据业务需求在偏差和方差之间进行权衡。
偏差代表由于学习算法中错误或过于简单化的假设而产生的误差。这种假设可能会导致模型对数据拟合不足,从而使其难以具有较高的预测准确性,也难以将您的知识从训练集推广到测试集。
由于学习算法过于复杂,方差也是一种错误。这可能是算法对训练数据的高度变化高度敏感的原因,这可能导致模型过度拟合数据。模型的训练数据中携带太多噪音,这对测试数据非常有用。
偏差-方差分解本质上是通过添加偏差、方差和一些由于底层数据集中的噪声而产生的不可约误差来分解任何算法的学习误差。本质上,如果你让模型变得更复杂并添加更多变量,你将失去偏差,但会获得一些方差——为了获得最佳的误差减少量,你必须权衡偏差和方差。您不希望模型中出现高偏差或高方差。
13. 我们如何将标准差和方差联系起来?
标准差 指的是数据相对于平均值的分布。 方差 是每个点与平均值(即所有数据点的平均值)的平均程度。我们可以将标准差和方差联系起来,因为它是方差的平方根。
14. 给你一个数据集,它有缺失值,这些值与平均值相差 1 个标准差。有多少数据将保持不变?
假设数据分布在均值上,即数据分布在平均值上。因此,我们可以假设它是正态分布。在正态分布中,大约 68% 的数据与平均值、众数或中位数等平均值相差 1 个标准差。这意味着大约 32% 的数据不受缺失值的影响。
15. 数据的高方差是好是坏?
方差越高,直接意味着数据分布大,特征具有多种数据。通常,特征的高方差被视为质量不太好。
16. 如果您的数据集存在高方差,您将如何处理?
对于方差较高的数据集,我们可以使用 bagging 算法来处理。装袋算法将数据分成子组,并从随机数据中复制采样。数据分割后,随机数据用于使用训练算法创建规则。然后我们使用轮询技术来组合模型的所有预测结果。
17. 向您提供有关公用事业欺诈检测的数据集。您已经构建了一个分类器模型并取得了 98.5% 的性能分数。这是一个好模型吗?如果是,请论证。如果没有,你能做什么呢?
有关公用事业欺诈检测的数据集不够平衡,即不平衡。在这样的数据集中,准确性分数不能作为性能的衡量标准,因为它可能只能正确预测多数类别标签,但在这种情况下,我们的兴趣点是预测少数标签。但少数群体常常被视为噪音并被忽视。因此,与多数标签相比,少数标签被错误分类的可能性很高。为了评估数据集不平衡情况下的模型性能,我们应该使用灵敏度(真阳性率)或特异性(真阴性率)来确定分类模型的类标签性能。如果少数类标签的性能不太好,我们可以执行以下操作:
- 我们可以使用欠采样或过采样来平衡数据。
- 我们可以改变预测阈值。
- 我们可以为标签分配权重,使得少数类标签获得更大的权重。
- 我们可以检测到异常情况。
18. 解释给定数据集中缺失或损坏值的处理。
处理缺失值或损坏值的一种简单方法是删除相应的行或列。如果有太多行或列需要删除,那么我们会考虑用一些新值替换丢失或损坏的值。
可以使用 Pandas 中的 IsNull() 和 dropna( ) 函数来识别缺失值并删除行或列。此外,Pandas 中的 Fillna() 函数会用占位符值替换不正确的值。
19.什么是时间序列?
时间序列是按连续顺序排列的数值数据点序列。它跟踪选定数据点在指定时间段内的移动,并定期记录数据点。时间序列不需要任何最小或最大时间输入。分析师经常根据自己的具体要求使用时间序列来检查数据。
20.什么是Box-Cox变换?
Box-Cox 变换是一种幂变换,它将非正态因变量变换为正态变量,因为正态性是使用许多统计技术时最常见的假设。它有一个 lambda 参数,当设置为 0 时意味着该变换相当于对数变换。它用于稳定方差并标准化分布。
21. 随机梯度下降(SGD)和梯度下降(GD)有什么区别?
梯度下降和随机梯度下降是找到最小化损失函数的参数集的算法。
不同之处在于,在梯度下降中,所有训练样本都会针对每组参数进行评估。而在随机梯度下降中,仅对一个训练样本进行评估以确定一组参数。
22. 使用反向传播技术时的梯度爆炸问题是什么?
当大的误差梯度累积并导致训练期间神经网络权重发生较大变化时,称为梯度爆炸问题。权重值可能变得很大以致于溢出并导致 NaN 值。这使得模型不稳定,并且模型的学习会像梯度消失问题一样陷入停滞。这是机器学习方面最常见的面试问题之一。
23. 你能谈谈决策树的一些优点和缺点吗?
决策树的优点是它们更容易解释,是非参数的,因此对异常值具有鲁棒性,并且需要调整的参数相对较少。
另一方面,缺点是容易出现过拟合。
24.解释随机森林和梯度增强机器之间的差异。
随机森林 | 梯度提升 |
随机森林是最后使用平均值或多数规则汇集的大量决策树。 | 与随机森林不同,梯度增强机也结合了决策树,但是在过程的开始阶段。 |
随机森林创建独立于其他树的每棵树,而梯度提升一次开发一棵树。 | 如果仔细调整参数,梯度提升会产生比随机森林更好的结果,但如果数据集包含大量异常值/异常/噪声,则梯度提升不是一个好的选择,因为它可能导致模型过度拟合。 |
随机森林在多类目标检测方面表现良好。 | 当存在不平衡的数据(例如实时风险评估)时,梯度提升表现良好。 |
25. 什么是混淆矩阵以及为什么需要它?
混淆矩阵(也称为误差矩阵)是一个经常用于说明分类模型(即真实值已知的一组测试数据上的分类器)性能的表格。
它使我们能够可视化算法/模型的性能。它使我们能够轻松识别不同类之间的混淆。它用作模型/算法的性能度量。
混淆矩阵被称为分类模型预测的摘要。正确和错误预测的数量用计数值进行汇总,并按每个类别标签进行细分。它为我们提供了有关分类器所犯错误以及分类器所犯错误类型的信息。
26.什么是傅里叶变换?
傅立叶变换是一种数学技术,可将任何时间函数转换为频率函数。傅里叶变换与傅里叶级数密切相关。它采用任何基于时间的模式作为输入,并计算所有可能循环的总体循环偏移、旋转速度和强度。傅里叶变换最适合应用于波形,因为它具有时间和空间的函数。一旦对波形应用傅里叶变换,它就会分解为正弦曲线。
27. 关联规则挖掘(ARM)是什么意思?
关联规则挖掘是发现数据模式的技术之一,例如一起出现的特征(维度)和相关的特征(维度)。它主要用于基于市场的分析,以查找项目集在交易中出现的频率。关联规则必须同时满足最小支持度和最小置信度。关联规则生成通常包括两个不同的步骤:
- “给出了最小支持阈值来获取数据库中的所有频繁项集。”
- “对这些频繁项集给出最小置信度约束,以形成关联规则。”
支持度衡量“项目集”在数据集中出现的频率,置信度衡量特定规则被发现为真的频率。
28.什么是边缘化?解释一下过程。
边缘化是给定 X 与其他变量的联合概率分布,对随机变量 X 的概率求和。它是全概率定律的应用。
P(X=x) = Σ是P(X=x,Y)
给定联合概率 P(X=x,Y),我们可以使用边缘化来找到 P(X=x)。因此,它是通过穷举其他随机变量的情况来找到一个随机变量的分布。
29.解释“维度诅咒”这个短语。
维数诅咒是指数据具有太多特征的情况。
该短语用于表达使用暴力或网格搜索来优化输入过多的函数的难度。
它还可以指其他几个问题,例如:
- 如果我们的特征多于观测值,我们就有模型过度拟合的风险。
- 当我们有太多特征时,观察结果会变得难以聚类。维度过多会导致数据集中的每个观察结果与所有其他观察结果等距,并且无法形成有意义的聚类。
PCA 等降维技术可以在这种情况下发挥作用。
30.什么是主成分分析?
这里的想法是通过减少彼此相关的变量数量来降低数据集的维度。虽然需要最大限度地保留变异性。
这些变量被转换为一组新的变量,称为主成分。这些 PC 是协方差矩阵的特征向量,因此是正交的。
31. 为什么成分轮换在主成分分析(PCA)中如此重要?
PCA 中的旋转非常重要,因为它最大化了所有分量获得的方差内的分离,因此分量的解释会变得更容易。如果分量没有旋转,那么我们需要扩展分量来描述分量的方差。
32.什么是异常值?提及处理异常值的三种方法。
与其他相似数据点相距相当远的数据点称为异常值。它们的发生可能是由于实验误差或测量变化造成的。它们是有问题的,可能会误导训练过程,最终导致训练时间更长、模型不准确和结果不佳。
处理异常值的三种方法是:
单变量法 – 查找单个变量上具有极值的数据点
多元方法 – 寻找所有变量的异常组合
闵可夫斯基误差 – 减少训练过程中潜在异常值的贡献
33.正则化和归一化有什么区别?
正常化 | 正则化 |
标准化调整数据; 。如果您的数据的尺度差异很大(尤其是从低到高),您可能需要对数据进行标准化。更改每一列以具有兼容的基本统计数据。这有助于确保不会损失准确性。模型训练的目标之一是识别信号并忽略噪声,如果模型自由发挥以最小化误差,则有可能出现过拟合。 | 正则化调整预测函数。正则化通过提供比复杂函数更简单的拟合函数来对此进行一些控制。 |
34.解释标准化和标准化之间的区别。
归一化和标准化是用于特征缩放的两种非常流行的方法。
正常化 | 标准化 |
归一化是指重新缩放值以适应 [0,1] 范围。 当所有参数需要具有相同的正标度但数据集中的异常值丢失时,归一化非常有用。 | 标准化是指重新调整数据的平均值为 0,标准差为 1(单位方差) |
35. 列出最流行的分布曲线以及您将在算法中使用它们的场景。
最流行的分布曲线如下:伯努利分布、均匀分布、二项分布、正态分布、泊松分布和指数分布。查看免费的机器学习概率课程,以增强您对机器学习概率分布的了解。
这些分布曲线均用于各种场景。
伯努利分布可以用来检查一支球队是否会赢得冠军、新生儿是男是女、你是否通过考试等等。
均匀分布 是具有恒定概率的概率分布。掷骰子就是一个例子,因为它有固定数量的结果。
二项分布 是只有两种可能结果的概率,前缀“bi”表示两个或两次。抛硬币就是一个例子。结果要么是正面,要么是反面。
正态分布 描述变量的值如何分布。它通常是对称分布,其中大多数观测值聚集在中心峰周围。远离平均值的值在两个方向上均等地逐渐减小。一个例子是教室里学生的身高。
泊松分布 当您知道某些事件发生的频率时,可以帮助预测该事件发生的概率。商家可以用它来预测特定日期的顾客数量,并允许他们根据需求调整供应。
指数分布 与特定事件发生之前的时间量有关。例如,汽车电池能持续多长时间(以月为单位)。
36.我们如何检查数据集或特征的正态性?
从视觉上看,我们可以使用绘图来检查它。有一个正态性检查列表,如下:
- 夏皮罗-威尔克 W 检验
- 安德森-达林测试
- 马丁内斯-伊格莱维奇检验
- 柯尔莫哥洛夫-斯米尔诺夫检验
- 达戈斯蒂诺偏度检验
37.什么是线性回归?
线性函数可以定义为 2D 平面上的数学函数,即 Y =Mx +C,其中 Y 是因变量,X 是自变量,C 是截距,M 是斜率,同样可以表示为 Y 是函数X 或 Y = F(x)。
对于任意给定的 X 值,可以使用 Line 方程计算 Y 的值。 Y 和 X 之间的这种关系(多项式次数为 1)称为线性回归。
在预测建模中,LR 表示为 Y = Bo + B1x1 + B2x2
B1和B2的值决定了特征与因变量之间的相关性强度。
示例:股票价值(美元)= 截距 + (+/-B1)*(股票开盘价)+ (+/-B2)*(前一天股票最高价值)
38.区分回归和分类。
回归和分类属于监督机器学习的同一范畴。它们之间的主要区别在于回归中的输出变量是数值(或连续),而分类中的输出变量是分类(或离散)。
示例:预测某个地方的确定温度是回归问题,而预测当天是晴天、阴天还是下雨是分类问题。
39.什么是目标不平衡?我们该如何解决它?您对数据执行目标不平衡的场景。您认为哪些指标和算法适合输入这些数据?
如果您将分类变量作为目标,当您将它们聚集在一起或对它们执行频率计数时,如果某些类别的数量比其他类别的数量多得多。这称为目标不平衡。
示例:目标列 – 0,0,0,1,0,2,0,0,1,1 [0: 60%, 1: 30%, 2:10%] 0 占多数。为了解决这个问题,我们可以执行上采样或下采样。在解决这个问题之前,我们假设使用的性能指标是混淆指标。解决这个问题后,我们可以将公制转换为 AUC:ROC。由于我们添加/删除了数据 [上采样或下采样],我们可以继续使用更严格的算法,例如 SVM、梯度提升或 ADA 提升。
40. 列出在开始线性回归之前要满足的所有数据假设。
在开始线性回归之前,需要满足以下假设:
- 线性关系
- 多元正态性
- 无多重共线性或很少多重共线性
- 无自相关
- 同方差性
41. 线性回归线何时停止旋转或找到适合数据的最佳点?
找到最高 R 方值的地方就是直线停止的地方。 Rquared 表示虚拟线性回归线捕获的方差量相对于数据集捕获的总方差。
42. 为什么逻辑回归是一种分类技术而不是回归?命名它派生的函数?
由于目标列是分类的,因此它使用线性回归创建一个奇数函数,该函数用对数函数包装以使用回归作为分类器。因此,它是一种分类技术,而不是回归。它是从成本函数推导出来的。
43. 当在给定数据集的不同子集上运行回归时,如果某个变量的 beta 值在每个子集中变化太大,可能会出现什么问题?
每个子集中 beta 值的变化意味着数据集是异构的。为了克服这个问题,我们可以为数据集的每个聚类子集使用不同的模型或非参数模型(例如决策树)。
44. 术语“方差膨胀因子”是什么意思?
变异膨胀因子 (VIF) 是模型方差与只有一个自变量的模型方差之比。 VIF 给出了一组许多回归变量中多重共线性量的估计。
VIF = 具有一个自变量的模型的方差
45. 哪种机器学习算法被称为惰性学习器,为什么这么称呼?
KNN 是一种被称为惰性学习器的机器学习算法。 K-NN 是一种惰性学习器,因为它不会从训练数据中学习任何机器学习值或变量,而是在每次想要分类时动态计算距离,从而记住训练数据集。
针对经验丰富的机器学习面试问题
我们知道公司正在寻找什么,考虑到这一点,我们准备了经验丰富的专业人士可能会被问到的一套机器学习面试问题。因此,如果您想一次性在面试中取得好成绩,请做好相应的准备。
46. 是否可以使用KNN进行图像处理?
是的,可以使用KNN进行图像处理。它可以通过将 3 维图像转换为一维向量并将其用作 KNN 的输入来完成。
47. K-Means 和 KNN 算法的区别?
KNN算法 | K-均值 |
KNN 算法是监督学习,而 K-Means 是无监督学习。通过 KNN,我们根据其最近邻来预测未识别元素的标签,并进一步扩展这种方法来解决基于分类/回归的问题。 | K-Means 是无监督学习,我们没有任何标签,换句话说,没有目标变量,因此我们尝试根据数据的坐标对数据进行聚类 |
NLP 面试问题
NLP(自然语言处理)帮助机器分析自然语言并意图学习它们。它通过应用机器学习算法从数据中提取信息。除了学习NLP的基础知识之外,专门为面试做准备也很重要。查看最热门的 NLP 面试问题
48. SVM算法如何处理自学习?
SVM 有一个学习率和扩展率来解决这个问题。学习率补偿或惩罚超平面做出所有错误的移动,而扩展率则涉及寻找类之间的最大分离区域。
49. SVM 中的核是什么?列出 SVM 中使用的流行内核及其应用场景。
内核的功能是将数据作为输入并将其转换为所需的形式。 SVM中使用的一些流行的内核如下:RBF、线性、Sigmoid、多项式、双曲、拉普拉斯等。
50. SVM 算法中的核技巧是什么?
核技巧是一种数学函数,当应用于数据点时,可以找到两个不同类别之间的分类区域。根据函数的选择,无论是线性的还是径向的,这完全取决于数据的分布,我们可以构建一个分类器。
51. 什么是集成模型?解释与传统的分类 ML 算法相比,集成技术如何产生更好的学习效果。
集成是一组一起用于分类和回归类预测的模型。集成学习有助于提高机器学习结果,因为它结合了多个模型。通过这样做,与单个模型相比,它可以提供更好的预测性能。
它们优于单个模型,因为它们减少了方差,平均了偏差,并且过度拟合的可能性较小。
52.什么是过拟合和欠拟合?为什么决策树算法经常出现过拟合问题?
过度拟合是一种捕获数据噪声的统计模型或机器学习算法。欠拟合是指模型或机器学习算法不能很好地拟合数据,如果模型或算法显示低方差但高偏差,就会发生欠拟合。
在决策树中,当树被设计为完美拟合训练数据集中的所有样本时,就会发生过度拟合。这会导致分支具有严格的规则或稀疏的数据,并影响预测不属于训练集的样本时的准确性。
53. 什么是 OOB 错误以及它是如何发生的?
对于每个引导样本,有三分之一的数据在创建树时未使用,即不在样本中。该数据称为袋外数据。为了根据测试数据获得模型准确性的无偏测量,使用袋外误差。每棵树都会传递袋外数据,并聚合输出以给出袋外错误。这个百分比误差对于估计测试集中的误差非常有效,并且不需要进一步的交叉验证。
54. 为什么与其他集成算法相比,Boosting 是一种更稳定的算法?
Boosting 专注于先前迭代中发现的错误,直到它们变得过时。而装袋中没有纠正循环。这就是为什么与其他集成算法相比,Boosting 是一种更稳定的算法。
55. 如何处理数据中的异常值?
异常值是数据集中与数据集中其他观测值相距较远的观测值。我们可以使用箱线图、散点图、Z-Score、IQR 分数等工具和函数发现异常值,然后根据我们获得的可视化结果进行处理。为了处理异常值,我们可以限制某个阈值,使用转换来减少数据的偏度,并在异常或错误时删除异常值。
56. 列出流行的交叉验证技术。
交叉验证技术主要有六种类型。它们如下:
- K折
- 分层k折
- 留下一个
- 自举
- 随机搜索简历
- 网格搜索简历
57. 是否可以在不使用交叉验证技术的情况下测试提高模型准确性的概率?如果是,请解释一下。
是的,可以在不使用交叉验证技术的情况下测试提高模型准确性的概率。我们可以通过运行 ML 模型来做到这一点 n 迭代次数,记录准确度。绘制所有精度并删除 5% 的低概率值。测量左[低]截止和右[高]截止。在剩余 95% 的置信度下,我们可以说模型可以达到最低或最高水平(如截止点内所述)。
58. 说出一种流行的降维算法。
流行的降维算法是主成分分析和因子分析。
主成分分析从一组较大的测量变量中创建一个或多个指标变量。因子分析是潜在变量测量的模型。这个潜在变量不能用单个变量来衡量,而是通过它在一组变量中引起的关系来观察。 y 变量。
59. 如何将没有目标变量的数据集用于监督学习算法?
将数据集输入聚类算法,生成最优聚类,将聚类编号标记为新的目标变量。现在,数据集具有独立变量和目标变量。这确保了数据集已准备好用于监督学习算法。
60.列出所有类型的流行推荐系统?说出并解释两种个性化推荐系统及其实施的难易程度。
基于流行度的推荐、基于内容的推荐、基于用户的协同过滤和基于项目的推荐是推荐系统的流行类型。
个性化推荐系统是基于内容的推荐、基于用户的协同过滤和基于项目的推荐。基于用户的协同过滤和基于项目的推荐更加个性化。易于维护:通过基于项目的推荐可以轻松维护相似度矩阵。
61.我们如何处理推荐系统中的稀疏性问题?我们如何衡量其有效性?解释。
奇异值分解可用于生成预测矩阵。 RMSE 是帮助我们了解预测矩阵与原始矩阵有多接近的度量。
62. 命名并定义用于在推荐系统中查找相似性的技术。
皮尔逊相关性和余弦相关性是用于查找推荐系统中相似性的技术。
63. 说明固定基差函数的局限性。
特征空间中的线性可分性并不意味着输入空间中的线性可分性。因此,使用维度增加的基本函数向量对输入进行非线性变换。固定基函数的局限性是:
- 非线性变换不能消除两个类之间的重叠,但可以增加重叠。
- 通常并不清楚哪些基函数最适合给定任务。因此,学习基本函数比使用固定基函数更有用。
- 如果我们只想使用固定的,我们可以使用很多,让模型找出最佳拟合,但这会导致模型过度拟合,从而使其不稳定。
64. 用一些例子定义和解释归纳偏差的概念。
归纳偏差是人类用来预测学习算法尚未遇到的给定输入的输出的一组假设。当我们试图从 X 中学习 Y 并且 Y 的假设空间是无限时,我们需要通过对假设空间的信念/假设来缩小范围,这也称为归纳偏差。通过这些假设,我们限制了假设空间,并且还能够使用超参数逐步测试和改进数据。例子:
- 我们假设在应用线性回归时 Y 随 X 线性变化。
- 我们假设存在一个分隔负例和正例的超平面。
65.解释基于实例的学习这一术语。
基于实例的学习是一组回归和分类过程,它根据与训练数据集中最近邻居的相似性来生成类标签预测。这些算法只是收集所有数据并在需要或查询时获得答案。简而言之,它们是基于过去已解决的与当前问题类似的问题的解决方案来解决新问题的一组程序。
66. 牢记训练和测试分割标准,在分割之前或分割之后执行缩放效果好吗?
理想情况下,缩放应该在训练和测试分割后进行。如果数据紧密堆积,那么缩放后分割或预分割应该不会产生太大差异。
67. 定义精确率、召回率和 F1 分数?
用于评估分类模型性能的指标是混淆指标。混淆度量可以用以下术语进一步解释:-
真阳性 (TP) – 这些是正确预测的正值。这意味着实际类别的值为 yes,预测类别的值为 yes。
真阴性 (TN) – 这些是正确预测的负值。这意味着实际类别的值为 no,预测类别的值为 no。
假阳性和假阴性,当您的实际类别与预测类别矛盾时,就会出现这些值。
现在,
记起, 也称为灵敏度,是真阳性率 (TP) 与实际类别中所有观察值的比率 – 是
召回率 = TP/(TP+FN)
精确 是阳性预测值的比率,它衡量模型预测的准确阳性的数量,即它声称的阳性的数量。
精度 = TP/(TP+FP)
准确性 是最直观的绩效衡量标准,它只是正确预测的观察值与总观察值的比率。
准确度 = (TP+TN)/(TP+FP+FN+TN)
F1分数 是 Precision 和 Recall 的加权平均值。因此,该分数同时考虑了误报和漏报。直观上它不像准确度那么容易理解,但 F1 通常比准确度更有用,特别是当您的类别分布不均匀时。如果误报和漏报具有相似的成本,则准确性效果最好。如果误报和漏报的成本差异很大,那么最好同时考虑精度和召回率。
68. 在 x 轴上绘制验证分数和训练分数,其中数据集大小在 x 轴上,并在 x 轴上绘制模型复杂性的另一个图。
对于模型中的高偏差,模型在验证数据集上的性能与在训练数据集上的性能相似。对于模型的高方差,模型在验证集上的性能比训练集上的性能差。
69.什么是贝叶斯定理?至少陈述 1 个与机器学习环境相关的用例?
贝叶斯定理根据可能与事件相关的条件的先验知识描述了事件的概率。例如,如果癌症与年龄有关,那么,使用贝叶斯定理,与不知道年龄的情况下相比,可以使用一个人的年龄更准确地评估他们患有癌症的概率。
贝叶斯概率的链式法则可用于预测句子中下一个单词的可能性。
70.什么是朴素贝叶斯?为什么它很天真?
朴素贝叶斯分类器是一系列基于贝叶斯定理的分类算法。该算法系列有一个共同的原则,即在分类时独立处理每对特征。
朴素贝叶斯被认为是朴素的,因为其中的属性(对于类)独立于同一类中的其他属性。同一类的两个属性之间缺乏依赖性,造成了天真的品质。
了解有关朴素贝叶斯的更多信息。
71. 解释朴素贝叶斯分类器的工作原理。
朴素贝叶斯分类器是一系列源自概率贝叶斯定理的算法。它的工作原理是基于这样的基本假设:被分类的每组两个特征都是彼此独立的,并且每个特征对结果做出平等且独立的贡献。
72. 朴素贝叶斯定理中的先验概率和边际似然这两个术语是什么意思?
先验概率是数据集中因二元变量的百分比。如果给定一个数据集,因变量为 1 或 0,1 的百分比为 65%,0 的百分比为 35%。那么,该变量的任何新输入为 1 的概率为 65%。
边际似然是贝叶斯方程的分母,它通过将其面积设为 1 来确保后验概率有效。
73.解释Lasso和Ridge的区别?
Lasso(L1) 和 Ridge(L2) 是正则化技术,我们通过惩罚系数来找到最佳解决方案。在ridge中,惩罚函数由系数的平方和定义,而对于Lasso,我们惩罚系数的绝对值之和。另一种正则化方法是 ElasticNet,它是 lasso 和 ridge 的混合惩罚函数。
74. 概率和可能性有什么区别?
概率是对事件发生的可能性的度量,即特定事件发生的确定性有多大?其中,似然函数是参数空间内参数的函数,描述获得观测数据的概率。
所以根本的区别是,概率依赖于可能的结果;而概率依赖于可能的结果。可能性依附于假设。
75.你为什么要修剪你的树?
在数据科学或 AIML 的背景下,剪枝是指减少决策树的冗余分支的过程。决策树很容易过度拟合,修剪树有助于减小大小并最大限度地减少过度拟合的机会。剪枝涉及将决策树的分支转变为叶节点并从原始分支中删除叶节点。它充当执行权衡的工具。
76. 模型精度还是模型性能?您更喜欢哪一个?为什么?
这是一个棘手的问题,首先要明确一个概念,什么是模型性能?如果性能意味着速度,那么这取决于应用程序的性质,任何与实时场景相关的应用程序都需要高速作为一个重要特征。示例:如果查询结果不能快速出现,那么最好的搜索结果也会失去其优点。
如果性能暗示为什么准确性不是最重要的优点 - 对于任何不平衡的数据集,除了准确性之外,它将是一个 F1 分数,无法解释业务案例,并且如果数据不平衡,那么精度和召回率将更高比休息重要。
77. 列出时间差分学习方法的优点和局限性。
时间差分学习方法是蒙特卡罗方法和动态规划方法的混合。此方法的一些优点包括:
- 它可以在线或离线学习每一步。
- 它也可以从不完整的序列中学习。
- 它可以在连续的环境中工作。
- 与MC方法相比,它的方差更低,并且比MC方法更有效。
TD方法的局限性是:
- 这是一个有偏见的估计。
- 它对初始化更敏感。
78. 您将如何处理不平衡的数据集?
采样技术可以帮助解决不平衡的数据集。有两种执行采样的方法:欠采样或过采样。
在欠采样中,我们减小了多数类的大小以匹配少数类,从而有助于提高存储和运行时执行的性能,但它可能会丢弃有用的信息。
对于过采样,我们对少数类进行上采样,从而解决了信息丢失的问题,但是,我们遇到了过拟合的麻烦。
还有其他技巧——
基于集群的过采样 – 在这种情况下,K-means 聚类算法独立应用于少数和多数类实例。这是为了识别数据集中的簇。随后,对每个簇进行过采样,使得同一类的所有簇具有相同数量的实例并且所有类具有相同的大小
合成少数过采样技术 (SMOTE) – 以少数类中的数据子集为例,然后创建新的合成相似实例,然后将其添加到原始数据集中。该技术适用于数值数据点。
79. 提及一些 EDA 技术?
探索性数据分析 (EDA) 可以帮助分析师更好地理解数据,并为更好的模型奠定基础。
可视化
- 单变量可视化
- 双变量可视化
- 多变量可视化
缺失值处理 – 用平均值/中位数替换缺失值
异常值检测 – 使用 Boxplot 来识别异常值的分布,然后应用 IQR 来设置 IQR 的边界
转型 – 根据分布,对特征进行变换
缩放数据集 – 应用 MinMax、Standard Scaler 或 Z Score Scaling 机制来缩放数据。
特征工程 – 领域需求和中小企业知识帮助分析师找到衍生领域,这些领域可以获取有关数据性质的更多信息
降维 — 有助于减少数据量而不丢失太多信息
80. 提及为什么特征工程在模型构建中很重要,并列出用于特征工程的一些技术。
算法需要具有某些特定特征的功能才能正常工作。数据最初是原始形式。在将数据提供给算法之前,您需要从该数据中提取特征。这个过程称为特征工程。当拥有相关特征时,算法的复杂性就会降低。这样,即使使用非理想算法,结果也是准确的。
特征工程主要有两个目标:
- 准备合适的输入数据集以与机器学习算法约束兼容。
- 增强机器学习模型的性能。
用于特征工程的一些技术包括插补、分箱、离群值处理、对数变换、分组操作、One-Hot 编码、特征分割、缩放、提取日期。
81. 统计建模和机器学习之间的区别?
机器学习模型旨在对情况做出准确的预测,例如餐馆的客流量、股票价格等。其中,统计模型旨在推断变量之间的关系,例如推动餐馆销售的因素是它的食物或氛围。
82.Boosting和Bagging的区别?
Bagging 和 Boosting 是集成技术的变体。
Bootstrap 聚合或装袋 是一种用于减少方差非常高的算法的方差的方法。决策树是一个特殊的分类器家族,很容易出现高偏差。
决策树对其训练的数据类型非常敏感。因此,尽管进行了非常高的微调,但要实现结果的泛化通常要复杂得多。如果决策树中的训练数据发生变化,结果会有很大差异。
因此,在制作多个决策树的情况下使用装袋,这些决策树在原始数据样本上进行训练,最终结果是所有这些单独模型的平均值。
提升 是使用n个弱分类器系统进行预测的过程,使得每个弱分类器补偿其分类器的弱点。弱分类器是指在给定数据集上表现不佳的分类器。
显然,Boosting 不是一种算法,而是一个过程。使用的弱分类器一般是逻辑回归、浅层决策树等。
有许多算法利用 boosting 过程,但主要使用其中两种:Adaboost、Gradient Boosting 和 XGBoost。
83. SVM中Gamma和正则化的意义是什么?
伽玛定义了影响力。低值意味着“远”,高值意味着“近”。如果 gamma 太大,支持向量影响区域的半径仅包括支持向量本身,并且使用 C 进行任何正则化都无法防止过度拟合。如果 gamma 非常小,则模型受到太多约束,无法捕获数据的复杂性。
正则化参数 (lambda) 充当错误分类的重要程度。这可用于与过度拟合进行权衡。
84.定义ROC曲线工作
不同阈值下真阳性率和假阳性率之间对比的图形表示称为 ROC 曲线。它用作真阳性与假阳性之间权衡的代理。
85. 生成模型和判别模型有什么区别?
生成模型学习不同类别的数据。另一方面,判别模型只会学习不同类别数据之间的区别。在分类任务方面,判别模型比生成模型表现得更好。
86. 什么是超参数?它们与参数有何不同?
参数是模型内部的变量,其值是根据训练数据估计的。它们通常被保存为学习模型的一部分。示例包括权重、偏差等。
超参数是模型外部的变量,其值无法从数据中估计。它们通常用于估计模型参数。参数的选择对实现很敏感。例子包括学习率、隐藏层等。
87.什么是打碎一组点?解释 VC 维度。
为了粉碎给定的点配置,分类器必须能够针对点的所有可能的正负分配完美地划分平面,以便将正点与负点分开。对于配置 n 点,有 2n 可能的正或负分配。
在选择分类器时,我们需要考虑要分类的数据类型,这可以通过分类器的VC维来得知。它被定义为分类算法(即分类器)可以粉碎的最大点集的基数。为了使 VC 维度为 在 至少 n,分类器必须能够粉碎单个给定的配置 n 点。
88.链表和数组有什么区别?
数组和链表都用于存储类似类型的线性数据。然而,它们之间有一些区别。
大批 | 链表 |
元素有良好的索引,使特定元素的访问更容易 | 元素需要以累积的方式访问 |
数组中的操作(插入、删除)速度更快 | 链表需要线性时间,使得操作速度慢一些 |
数组的大小是固定的 | 链表是动态且灵活的 |
内存在编译时以数组形式分配 | 内存在执行或运行时在链表中分配。 |
元素连续存储在数组中。 | 元素随机存储在链表中 |
数组中的内存利用率低下 | 链表中的内存利用效率很高。 |
89. 什么是meshgrid()方法和contourf()方法?说明两者的一些用途。
numpy中的meshgrid()函数接受两个参数作为输入:网格中x值的范围,网格中y值的范围,而meshgrid需要在使用matplotlib中的contourf()函数之前构建,该函数接受许多参数输入:x值、y值、要在网格中绘制的拟合曲线(等高线)、颜色等。
Meshgrid() 函数用于使用 x 轴输入和 y 轴输入的一维数组创建网格来表示矩阵索引。 Contourf() 用于使用给定的 x 轴输入、y 轴输入、轮廓线、颜色等绘制填充轮廓。
90.描述一个哈希表。
散列是一种从一组相似对象中识别唯一对象的技术。哈希函数是通过哈希技术将大键转换为小键。哈希函数的值存储在称为哈希表的数据结构中。
91. 列出使用神经网络的优点和缺点。
优点:
我们可以将信息存储在整个网络上,而不是将其存储在数据库中。即使信息不足,它也能够工作并提供良好的准确性。神经网络具有并行处理能力和分布式存储器。
缺点:
神经网络需要能够并行处理的处理器。网络无法解释的功能也是一个很大的问题,因为在某些情况下,例如当我们必须向网络展示我们注意到的问题时,它会降低对网络的信任。网络的持续时间大多是未知的。我们只能通过查看误差值来知道训练是否完成,但并不能给出最优结果。
92. 您必须使用神经网络在只有 3GB RAM 的机器上训练 12GB 数据集。你会怎样做呢?
我们可以使用 NumPy 数组来解决这个问题。将所有数据加载到数组中。在 NumPy 中,数组具有映射完整数据集的属性,而无需将其完全加载到内存中。我们可以传递数组的索引,将数据分成批次,得到所需的数据,然后将数据传递到神经网络中。但要注意保持批量大小正常。
机器学习编码面试问题
93. 编写一个简单的代码来对数据进行二值化。
基于一定阈值将数据转换为二进制值称为数据的二值化。低于阈值的值设置为 0,高于阈值的值设置为 1,这对于特征工程很有用。
代码:
from sklearn.preprocessing import Binarizer import pandas import numpy names_list = ['阿拉斯加', 'Pratyush', '皮尔斯', '桑德拉', 'Soundarya', '梅雷迪斯', '理查德', '杰克逊', '汤姆',' Joe'] data_frame = pandas.read_csv(url, names=names_list) array = dataframe.values # 将数组拆分为输入和输出 A = array [: 0:7] B = array [:7] binarizer = Binarizer(threshold= 0.0)。 fit(X)binaryA = binarizer.transform(A)numpy.set_printoptions(精度= 5)打印(binaryA [0:7:])
使用 Python 进行机器学习面试问题
94.什么是数组?
数组被定义为以连续方式存储的相似项的集合。数组是一个直观的概念,因为我们在日常生活中经常需要将相似的对象组合在一起。数组满足同样的需求。它们是如何存储在内存中的?数组消耗数据块,其中数组中的每个元素消耗一个内存单位。单位的大小取决于所使用的数据类型。例如,如果数组元素的数据类型为int,则将使用4个字节的数据来存储每个元素。对于字符数据类型,将使用 1 个字节。这是特定于实现的,并且上述单元可能因计算机而异。
例子:
水果= ['苹果',香蕉',菠萝']
在上面的例子中,fruits 是一个包含三个水果的列表。为了单独访问它们,我们使用它们的索引。 Python 和 C 是 0 索引语言,即第一个索引是 0。MATLAB 相反,从 1 开始,因此是 1 索引语言。
95. 使用数组有哪些优点和缺点?
- 优点:
- 随机访问已启用
- 节省内存
- 缓存友好
- 可预测的编译时间
- 有助于代码的可重用性
- 缺点:
- 即使我们通过随机访问立即获得感兴趣的元素,添加和删除记录也是耗时的。这是因为元素在插入或删除后需要重新排序。
- 如果内存中没有可用的连续内存块,则 CPU 会产生开销来搜索可满足要求的最佳连续位置。
现在我们知道了什么是数组,我们将通过解决一些面试问题来详细了解它们。在此之前,让我们看看Python作为一种语言为数组(也称为列表)提供的函数。
append() – 在列表末尾添加一个元素
copy() – 返回列表的副本。
reverse() – 反转列表的元素
sort() – 默认情况下按升序对元素进行排序。
96.Python 中的列表是什么?
列表是Python中提供的一种有效的数据结构。有多种与之相关的功能。让我们考虑一下要将一个列表复制到另一个列表的场景。如果必须用 C 编程语言完成相同的操作,我们就必须编写自己的函数来实现相同的操作。
相反,Python为我们提供了一个叫做copy的函数。我们可以通过调用复制函数将一个列表复制到另一个列表。
新列表 = 旧列表.copy()
我们在使用该功能时需要小心。 copy() 是浅复制函数,即它只将原始列表的引用存储在新列表中。如果给定的参数是像列表这样的复合数据结构,那么 python 会创建另一个相同类型的对象(在本例中是一个新列表),但对于旧列表中的所有内容,仅复制它们的引用。本质上,新列表包含对旧列表元素的引用。
因此,在更改原始列表时,新列表值也会更改。这在许多应用中可能是危险的。因此,Python为我们提供了另一个功能,称为深度复制。直观上,我们可能会认为 deepcopy() 会遵循相同的范例,唯一的区别是对于每个元素,我们将递归地调用 deepcopy。实际上,情况并非如此。
deepcopy() 保留原始复合数据的图形结构。让我们通过一个例子更好地理解这一点:
import copy.deepcopy a = [1,2] b = [a,a] # 只有 1 个对象 a c = deepcopy(b) # 通过执行这些行检查结果 c[0] is a # return False,一个新对象a' 被创建 c[0] is c[1] # 返回 True,c 是 [a',a'] 而不是 [a',a'']
这是棘手的部分,在 deepcopy() 的过程中,使用 python 中实现为字典的哈希表来将 old_object 引用映射到 new_object 引用。
因此,这防止了不必要的重复,从而保留了复制的复合数据结构的结构。因此,在这种情况下,c[0] 不等于 a,因为它们的内部地址不同。
普通复制 >>> a = [[1, 2, 3], [4, 5, 6]] >>> b = list(a) >>> a [[1, 2, 3], [4, 5 , 6]] >>> b [[1, 2, 3], [4, 5, 6]] >>> a[0][1] = 10 >>> a [[1, 10, 3], [4, 5, 6]] >>> b # b 也发生变化 -> 不是深层复制。 [[1, 10, 3], [4, 5, 6]] 深层复制 >>> 导入复制 >>> b = copy.deepcopy(a) >>> a [[1, 10, 3], [4 , 5, 6]] >>> b [[1, 10, 3], [4, 5, 6]] >>> a[0][1] = 9 >>> a [[1, 9, 3 ], [4, 5, 6]] >>> b # b 不变 -> 深层复制 [[1, 10, 3], [4, 5, 6]]
现在我们已经了解了列表的概念,让我们解决面试问题以更好地了解列表。
97. 给定一个整数数组,其中每个元素代表从该元素可以向前移动的最大步数。任务是找到到达数组末尾(从第一个元素开始)的最小跳转次数。如果某个元素为 0,则无法穿过该元素。
解决方案:这个问题被称为数组末尾问题。我们想要确定到达终点所需的最少跳跃次数。数组中的元素表示该特定元素可以进行的最大跳转次数。
让我们首先了解如何解决该问题。
我们需要到达终点。因此,让我们计算一下距离终点还有多远。考虑数组 A=[1,2,3,1,1]
在上面的例子中,我们可以从 > 2 - > 3 - > 1 - > 1 - 4 跳转 1 - > 2 - > 1 - > 1 - 3 跳转 1 - > 2 - > 3 - > 1 - 3 跳转
因此,我们对这个问题有一个合理的认识。让我们想出一个同样的逻辑。
让我们从最后开始并向后移动,因为这更直观。我们将使用变量 right 和 prev_r 表示前一个右侧来跟踪跳跃。
最初,right = prev_r = 最后一个元素。我们考虑一个元素到末尾的距离,以及该元素可能的跳跃次数。因此,如果可能的跳跃次数和距离之和大于前一个元素,那么我们将丢弃前一个元素并使用第二个元素的值来跳跃。首先用笔和纸尝试一下。这个逻辑看起来很容易实现。稍后自己实现一下,再用结果进行验证。
def min_jmp(arr): n = len(arr) right = prev_r = n-1 count = 0 # 我们从最右边的索引开始,遍历数组来找到最左边的索引 # 从这里我们可以到达索引 'right' while True: for j in (range(prev_r-1,-1,-1)): if j + arr[j] >= prev_r: right = j if prev_r != right: prev_r = right else: 中断计数 += 1 返回计数 if right == 0 else -1 # 输入以空格分隔的元素 arr = list(map(int, input().split())) print(min_jmp(n, arr))
98. 给定一个仅包含“a”和“b”的字符串 S,打印其中“b”的最后一个索引。
当给定一个由 a 和 b 组成的字符串时,我们可以立即找出某个字符出现的第一个位置。因此,要找到某个字符的最后一次出现,我们将字符串反转并找到第一次出现,这相当于原始字符串中的最后一次出现。
在这里,我们以字符串形式给出输入。因此,我们首先使用 split 函数按元素拆分字符。之后,我们将数组反转,找到第一次出现的位置值,通过找到值 len –position -1 来得到索引,其中position是索引值。
def split(word): return [(char) for char in word] a = input() a= split(a) a_rev = a[::-1] pos = -1 for i in range(len(a_rev)) : if a_rev[i] == 'b': pos = len(a_rev)- i -1 print(pos) 中断 else: 继续 if pos==-1: print(-1)
99. 将数组的元素向左循环 d 个位置。 让我们首先看一个例子。
A = [1,2,3,4,5] A <<2 [3,4,5,1,2] A<<3 [4,5,1,2,3]
这里存在一个模式,即前 d 个元素与最后 n-d +1 个元素互换。因此我们只需交换元素即可。正确的?如果数组的大小很大,比如 10000 个元素怎么办?有可能出现内存错误、运行时错误等,因此我们会更加小心。在大型数组的情况下,我们将元素逐一旋转,以防止上述错误。
# 将所有元素向左旋转 1 个位置 def rot_left_once ( arr): n = len( arr) tmp = arr [0] for i in range ( n-1): #[0,n-2] arr[i] = arr[i + 1] arr[n-1] = tmp # 使用上述函数重复该过程 d 次。 def rot_left (arr, d): n = len (arr) for i in range (d): rot_left_once ( arr, n) arr = list( map( int, input().split())) rot =int( input ()) leftRotate ( arr, rot) for i in range( len(arr)): print( arr[i], end=' ')
100. 积水问题
给定一个由 N 个非负整数组成的数组 arr[],它表示索引 I 处块的高度,其中每个块的宽度为 1。计算下雨后块之间可以捕获多少水。
# 结构如下:
#| |
#|_|
# 答案是我们可以捕获两个单位的水。
解决方案:给定一个数组,其中每个元素表示块的高度。一单位高度等于一单位水,前提是两个元件之间存在空间来存储水。因此,我们需要找出所有存在的可以储存水的对。我们需要处理可能出现的情况:
- 节约用水不得重叠
- 水不应溢出
因此,让我们从极端的元素开始寻找,向中心迈进。
n = int(input()) arr = [int(i) for i in input().split()] left, right = [arr[0]], [0] * n # left =[arr[0] ] #right = [ 0 0 0 0…0] n 项 right[n-1] = arr[-1] # 最右边的元素
# 我们使用两个数组 left[ ] 和 right[ ],它们跟踪大于所有元素的元素
# 个元素分别遍历的顺序。
for elem in arr[1 : ]: left.append(max(left[-1], elem) ) for i in range( len( arr)-2, -1, -1): right[i] = max( arr[i] , right[i+1] ) water = 0 # 一旦我们有了左边和右边的数组,我们就可以找到这些数组之间的水容量。 for i in range( 1, n - 1): add_water = min( left[i - 1], right[i]) - arr[i] if add_water > 0: water += add_water print(water)
101.解释特征向量和特征值。
答。 线性变换有助于理解特征向量的使用。他们发现其主要用途是在数据科学中创建协方差和相关矩阵。
简而言之,特征向量是方向实体,可以应用压缩、翻转等线性变换特征。
特征值是沿特征向量每个方向的线性变换特征的大小。
102. 您如何定义聚类算法中的聚类数量?
答。 可以通过查找轮廓分数来确定簇的数量。通常,我们的目标是使用聚类技术从数据中获得一些推论,以便我们可以更广泛地了解数据所表示的许多类。在这种情况下,轮廓分数帮助我们确定聚类中心的数量来聚类我们的数据。
另一种可以使用的技术是肘法。
103. 可用于估计线性回归模型效率的性能指标是什么?
答。 本例中使用的性能指标是:
- 均方误差
- 右2 分数
- 调整后的 R2 分数
- 平均绝对分数
104.决策树默认的分裂方法是什么?
决策树的默认分割方法是基尼指数。基尼指数是衡量特定节点的杂质程度的指标。
这可以通过更改分类器参数来更改。
105. p 值有何用处?
答。 p 值给出原假设为真的概率。它为我们提供了结果的统计显着性。换句话说,p 值决定了模型在特定输出中的置信度。
106.逻辑回归可以用于2以上的类吗?
答。 不可以,逻辑回归不能用于超过 2 个类别,因为它是二元分类器。对于决策树等多类分类算法,朴素贝叶斯分类器更适合。
107.逻辑回归模型的超参数是什么?
答。 分类器惩罚、分类器求解器和分类器 C 是逻辑回归分类器的可训练超参数。这些可以专门使用网格搜索中的值来指定,以超级调整逻辑分类器。
108. 说出一些决策树的超参数?
答。 决策树中可以调整的最重要的特征是:
- 分割标准
- 最少叶子数
- 最小样本数
- 最大深度
109.如何处理多重共线性?
答。 多重共线性可以通过以下步骤处理:
- 从模型中删除高度相关的预测变量。
- 使用偏最小二乘回归 (PLS) 或主成分分析
110.什么是 异方差性?
答。 在这种情况下,变量的方差在预测变量值的范围内不相等。
在回归中应该避免它,因为它会引入不必要的方差。
111. ARIMA 模型是否适合所有时间序列问题?
答。 不,ARIMA 模型并不适合所有类型的时间序列问题。在某些情况下,ARMA 模型和其他模型也能派上用场。
当需要捕获时间序列数据的不同标准时间结构时,ARIMA 是最佳选择。
112.如何处理分类问题中的类别不平衡?
答。 类别不平衡可以通过以下方式处理:
- 使用类别权重
- 使用抽样
- 使用 SMOTE
- 选择损失函数,例如焦点损失
113.交叉验证的作用是什么?
答。 交叉验证是一种用于提高机器学习算法性能的技术,其中机器会多次从相同的数据中获取采样数据。进行采样,以便将数据集分成相同行数的小部分,并选择随机部分作为测试集,而选择所有其他部分作为训练集。
114.什么是投票模型?
答。 投票模型是一个集成模型,它结合了多个分类器,但为了产生最终结果,在基于分类的模型的情况下,会考虑所有模型中某个数据点的分类,并选择最多支持/投票/从目标列中的所有给定类生成的选项。
115. 数据样本很少怎么处理?是否可以用它制作模型?
答。 如果数据样本很少,我们可以利用过采样来产生新的数据点。这样,我们就可以得到新的数据点。
116. SVM 的超参数是什么?
答。 gamma值、c值和核类型是SVM模型的超参数。
117.什么是 Pandas 分析?
答。 Pandas 分析是查找可用数据的有效数量的一个步骤。它为我们提供了 NULL 值和可用值的统计信息,从而使预处理阶段构建模型的变量选择和数据选择非常有效。
118.相关性对PCA有什么影响?
答。 如果数据是相关的,PCA 就不能很好地工作。由于变量的相关性,变量的有效方差减小。因此,相关数据在用于 PCA 时效果不佳。
119.PCA与LDA有何不同?
答。 PCA 不受监督。 LDA 是无监督的。
PCA 考虑了方差。 LDA 考虑了类别的分布。
120. KNN 中可以使用哪些距离度量?
答。 KNN 中可以使用以下距离度量。
- 曼哈顿
- 明科夫斯基
- 谷本
- 杰卡德
- 马哈拉诺比斯
121. 哪些指标可用于衡量分类数据的相关性?
答。 为此可以使用卡方检验。它给出了分类预测变量之间的相关性度量。
122. 哪种算法可用于分类和连续类别数据的值插补?
答。 KNN 是唯一可用于分类变量和连续变量插补的算法。
123.什么时候岭回归应该优于套索?
答。 当我们想要使用所有预测变量而不是删除任何预测变量时,我们应该使用岭回归,因为它会减少系数值但不会使它们无效。
124.哪些算法可以用于重要变量的选择?
答。 随机森林、Xgboost 和绘图变量重要性图表可用于变量选择。
125. 随机森林使用什么集成技术?
答。 Bagging 是随机森林使用的技术。随机森林是树木的集合,它们处理来自原始数据集的采样数据,最终预测是所有树木的投票平均值。
126.梯度提升树使用什么集成技术?
答。 Boosting 是 GBM 使用的技术。
127. 如果我们有较高的偏差误差,这意味着什么?该如何治疗呢?
答。 高偏差误差意味着我们使用的模型忽略了模型中的所有重要趋势,并且模型欠拟合。
为了减少欠拟合:
- 我们需要增加模型的复杂性
- 需要增加功能数量
有时它也会给人一种数据有噪音的印象。因此,应该消除数据中的噪声,以便模型找到最重要的信号以做出有效的预测。
增加纪元数会导致模型训练持续时间增加。对减少误差很有帮助。
128.哪种类型的采样对于分类模型更好?为什么?
答。 在分类问题中,分层抽样效果更好,因为它考虑了训练集和测试集中类的平衡。类的比例保持不变,因此模型表现更好。在对数据进行随机采样的情况下,数据被分为两部分,而不考虑训练集和测试集中的平衡类。因此,某些类可能仅存在于 tarin 集或验证集中。因此,在这种情况下,所得模型的结果很差。
129. 衡量多重共线性水平的良好指标是什么?
答。 VIF 或 1/容差是测量模型中多重共线性的良好方法。 VIF 是不受其他预测变量影响的预测变量的方差百分比。因此,VIF 值越高,预测变量之间的多重共线性越大。
A 经验法则 用于解释方差膨胀因子:
- 1 = 不相关。
- 1 到 5 之间 = 中度相关。
- 大于 5 = 高度相关。
130.什么时候可以将分类值视为连续变量?这样做会产生什么影响?
答。 当分类预测变量所代表的数据点的性质是有序的时,它可以被视为连续预测变量。如果预测变量具有有序数据,则可以将其视为连续数据,并且将其包含在模型中可以提高模型的性能。
131.最大似然在逻辑回归中的作用是什么。
答。 最大似然方程有助于估计估计器预测变量系数的最可能值,从而产生最有可能或最可能且非常接近真值的结果。
132.在KNN的情况下我们测量哪个距离?
答。 在 KNN 的情况下,测量汉明距离以确定最近邻居。 Kmeans 使用欧氏距离。
133.什么是管道?
答。 管道是一种复杂的软件编写方式,这样构建模型时的每个预期操作都可以序列化,并且流程为各个任务调用各个函数。这些任务针对给定的数据点序列按顺序执行,并且整个过程可以通过使用 scikit learn 中的复合估计器在 n 个线程上运行。
134. 处理时间序列数据时哪种采样技术最合适?
答。 我们可以使用自定义迭代采样,以便不断将样本添加到训练集中。我们只应该记住,用于验证的样本应该添加到下一个训练集中,并使用新样本进行验证。
135.修剪有什么好处?
答。 修剪有助于以下方面:
- 减少过度拟合
- 缩短树的大小
- 降低模型的复杂性
- 增加偏见
136.什么是正态分布?
答。 具有以下属性的分布称为正态分布。
- 平均值、众数和中位数都相等。
- 该曲线在中心对称(即围绕平均值 μ)。
- 正好一半的值位于中心左侧,正好一半的值位于中心右侧。
- 曲线下的总面积为 1。
137. 正态分布中的 68% 规则是什么?
答。 正态分布是一条钟形曲线。大多数数据点都在中位数附近。因此,大约 68% 的数据位于中位数附近。由于不存在偏斜且其呈钟形。
138.什么是卡方检验?
答。 卡方确定样本数据是否与总体匹配。
卡方独立性检验比较列联表中的两个变量,看看它们是否相关。
非常小的卡方检验统计量意味着观察到的数据与预期数据非常吻合。
139.什么是随机变量?
答。 随机变量是随机实验中的一组可能值。示例:抛硬币:我们可能会得到正面或反面。掷骰子:我们得到 6 个值
140.什么是自由度?
答。 它是可以分配给统计分布的独立值或数量的数量。它用于假设检验和卡方检验。
141. 亚马逊使用哪种推荐系统来推荐类似商品?
答。 亚马逊使用协同过滤算法来推荐类似商品。这是基于用户相似性的用户喜好和购买敏感性的映射。
142.什么是误报?
答。 它是错误地指示存在特定条件或属性的测试结果。
示例 – “压力测试是一种用于检测心脏病的常规诊断工具,会导致女性出现大量误报”
143.什么是假阴性?
答。 错误地表明不存在特定条件或属性的测试结果。
示例 – “有可能出现假阴性——测试显示您没有怀孕,而您却怀孕了”
144.回归中误差项由什么组成?
答。 误差是回归中偏差误差+方差误差+不可约误差的总和。偏差和方差误差可以减少,但不可减少的误差却不能减少。
145. R2 和调整后的 R2 哪个性能指标更好?
答。 调整 R2,因为预测变量的性能会影响它。 R2 独立于预测变量,并且如果预测变量的数量增加,则表现出性能的提高。
146. I 类错误和 II 类错误有什么区别?
机器学习中的第一类和第二类错误是指错误值。 I 型相当于假阳性,而 II 型相当于假阴性。在第一类错误中,应该接受的假设没有被接受。同样,对于 II 类错误,假设被拒绝,而原本应该被接受的假设被拒绝。
147.你对L1和L2正则化有何理解?
L2 正则化:它试图在所有项之间分散误差。 L2 对应于高斯先验。
L1 正则化:它更加二元/稀疏,许多变量在权重中被分配 1 或 0。 L1 对应于在项上设置拉普拉斯先验。
148. 朴素贝叶斯算法和决策树哪个更好?
虽然这取决于您要解决的问题,但一些一般优势如下:
朴素贝叶斯:
- 与需要更多数据的 DT 相比,适用于小数据集
- 较少的过度拟合
- 尺寸更小,处理速度更快
决策树:
- 决策树非常灵活、易于理解且易于调试
- 无需预处理或特征转换
- 容易过度拟合,但您可以使用修剪或随机森林来避免这种情况。
149. ROC曲线是什么意思?
接收者操作特征(ROC 曲线):ROC 曲线说明了二元分类器的诊断能力。它是通过在不同阈值设置下绘制真阳性与假阳性的图来计算/创建的。 ROC曲线的性能指标是AUC(曲线下面积)。曲线下面积越大,模型的预测能力越好。
150.AUC曲线是什么意思?
AUC(曲线下面积)。曲线下面积越大,模型的预测能力越好。
151.逻辑回归中的对数似然是什么?
它是似然残差之和。在记录级别,计算每个记录的误差(残差)的自然对数,乘以负一,然后对这些值进行总计。然后将该总数用作偏差 (2 x ll) 和可能性 (exp(ll)) 的基础。
相同的计算可以应用于假设绝对没有预测能力的朴素模型和假设完美预测的饱和模型。
似然值用于比较不同的模型,而偏差(测试、朴素和饱和)可用于确定预测能力和准确性。对于开发数据集,模型的逻辑回归精度始终为 100%,但一旦将模型应用于另一个数据集,情况就并非如此。
152.您如何评估逻辑回归模型?
模型评估是任何分析中非常重要的一部分,可以回答以下问题:
模型与数据的拟合程度如何?、哪些预测变量最重要?、预测准确吗?
因此,以下是衡量模型性能的标准,
- 赤池信息标准 (AIC):简单来说,AIC 估计给定模型丢失的相对信息量。因此丢失的信息越少,模型的质量就越高。因此,我们总是更喜欢 AIC 最小的模型。
- 接收者操作特性(ROC 曲线):ROC 曲线说明了二元分类器的诊断能力。它是通过在各种阈值设置下绘制真阳性与假阳性的图来计算/创建的。 ROC曲线的性能指标是AUC(曲线下面积)。曲线下面积越大,模型的预测能力越好。
- 混淆矩阵:为了了解模型在预测目标变量方面的表现如何,我们使用混淆矩阵/分类率。它只是实际值与预测值的表格表示,可以帮助我们找到模型的准确性。
153.SVM算法有哪些优点?
SVM算法在复杂度方面基本上具有优势。首先我想澄清一下,逻辑回归和支持向量机都可以形成非线性决策面,并且可以与核技巧结合起来。如果Logistic回归可以与kernel结合起来那为什么还要使用SVM呢?
● 实践证明,SVM 在大多数情况下具有更好的性能。
● SVM 的计算成本较低为 O(N^2*K),其中 K 是支持向量的数量(支持向量是位于类边缘上的点),而逻辑回归则为 O(N^3)
● SVM 中的分类器仅依赖于点的子集。由于我们需要最大化两个类的最近点之间的距离(又称边距),因此我们只需要关心点的子集,这与逻辑回归不同。
154.为什么XGBoost比SVM表现更好?
第一个原因是 XGBoos 是一种集成方法,它使用许多树来做出决策,因此它可以通过重复自身来获得力量。
SVM是一个线性分离器,当数据不可线性分离时,SVM需要一个Kernel将数据投影到一个可以分离的空间中,这就是它最大的优点和缺点,通过能够将数据投影到高维空间中,SVM可以找到几乎所有数据的线性分离,但同时它需要使用内核,我们可以说并不是每个数据集都有完美的内核。
155. SVM Rank 和 SVR(支持向量回归)有什么区别?
一个用于排名,另一个用于回归。
之间有一个至关重要的区别 回归 和 排行。在回归中,绝对值至关重要。预测的是实数。
在排名中,唯一关心的是一组示例的顺序。我们只想知道哪个示例排名最高,哪个示例排名第二,等等。从数据中,我们只知道示例 1 的排名应高于示例 2,而示例 2 的排名应高于示例 3,依此类推。我们不知道由 多少 示例 1 的排名高于示例 2,或者该差异是否大于示例 2 和示例 3 之间的差异。
156.普通软间隔SVM和具有线性核的SVM有什么区别?
硬边距
你已经有了基本的 SVM——硬边距。这假设数据表现良好,并且您可以找到一个完美的分类器 - 它对训练数据的错误率为 0。
软边距
数据通常表现不佳,因此 SVM 硬边际可能根本没有解决方案。所以我们在某些点上允许有一点错误。因此训练误差不会为 0,但所有点的平均误差会最小化。
内核
上面假设最好的分类器是一条直线。但它并不是一条直线。 (例如,它是一个圆,圆内是一个类,圆外是另一个类)。如果我们能够将数据映射到更高的维度 - 更高的维度可能会给我们一条直线。
157.线性分类器与SVM有何关系?
支持向量机是一种线性分类器。如果你不弄乱内核,它可以说是最简单的线性分类器类型。
线性分类器(全部?)从您的数据中学习线性虚构,将您的输入映射到分数,如下所示:分数= Wx + b。其中 W 是学习权重矩阵,b 是改变分数的学习偏差向量,x 是输入数据。如果您还记得高中时的 y = mx + b,您可能会觉得这种类型的函数很熟悉。
典型的 svm 损失函数(该函数告诉您计算的分数与正确标签的关系有多好)是铰链损失。其形式为:Loss = 除正确分数 max(0,分数 – 分数(正确类别) + 1) 之外的所有分数之和。
158.使用朴素贝叶斯进行分类有什么优点?
- 非常简单,易于实施且速度快。
- 如果 NB 条件独立假设成立,那么它将比逻辑回归等判别模型收敛得更快。
- 即使 NB 假设不成立,它在实践中也很有效。
- 需要更少的训练数据。
- 高度可扩展。它与预测变量和数据点的数量成线性比例。
- 可用于二元和多类分类问题。
- 可以做出概率预测。
- 处理连续和离散数据。
- 对不相关的特征不敏感。
159. 高斯朴素贝叶斯与二项式朴素贝叶斯相同吗?
二项式朴素贝叶斯:它假设我们所有的特征都是二元的,因此它们只采用两个值。意思是0可以代表“单词在文档中没有出现”,1可以代表“单词在文档中出现”。
高斯朴素贝叶斯:由于正态分布的假设,高斯朴素贝叶斯用于所有特征都是连续的情况。例如,在鸢尾花数据集中,特征是萼片宽度、花瓣宽度、萼片长度、花瓣长度。因此,随着宽度和长度的变化,其特征在数据集中可以具有不同的值。我们无法根据特征的出现次数来表示特征。这意味着数据是连续的。因此我们在这里使用高斯朴素贝叶斯。
160.朴素贝叶斯分类器和贝叶斯分类器有什么区别?
朴素贝叶斯假设条件独立,P(X|Y, Z)=P(X|Z)
P(X|Y,Z)=P(X|Z)
P(X|Y,Z)=P(X|Z),而更一般的贝叶斯网络(有时称为贝叶斯信念网络)将允许用户指定哪些属性实际上是条件独立的。
对于贝叶斯网络作为分类器,特征的选择是基于一些评分函数,如贝叶斯评分函数和最小描述长度(在有足够训练数据的情况下,两者在理论上是等效的)。评分函数主要限制使用数据的结构(连接和方向)和参数(可能性)。在学习了结构之后,类仅由马尔可夫毯子中的节点(其父级、其子级及其子级的父级)确定,并且给出马尔可夫毯子的所有变量都将被丢弃。
161. 朴素贝叶斯分类器在哪些实际应用中使用?
下面给出了一些现实世界的例子
- 将电子邮件标记为垃圾邮件或非垃圾邮件?
- 对有关技术、政治或体育的新闻文章进行分类?
- 检查一段表达积极情绪或消极情绪的文字?
- 也用于人脸识别软件
162.朴素贝叶斯是有监督的还是无监督的?
首先,朴素贝叶斯不是一个算法,而是一个继承以下属性的算法族:
- 判别函数
- 概率生成模型
- 贝叶斯定理
- 特征向量的独立性和同等重要性的天真假设。
此外,它是一种特殊类型的监督学习算法,可以同时进行多类预测(如许多新闻应用程序中的常设主题所示)。
由于这些是生成模型,因此基于每个特征向量的随机变量映射的假设,这些模型甚至可以被分类为高斯朴素贝叶斯、多项式朴素贝叶斯、伯努利朴素贝叶斯等。
163.你对机器学习中的选择偏差有何理解?
选择偏差是指因选择个人、群体或数据进行分析而未实现适当的随机化而引入的偏差。它确保获得的样本不能代表要分析的总体,有时称为选择效应。这是统计分析的失真部分,是由样本收集方法造成的。如果您不考虑选择偏差,那么研究的某些结论可能不准确。
选择偏差的类型包括:
- 抽样偏差:这是一个系统误差,由于人口的非随机样本导致人口中的某些成员比其他人更不可能被纳入,从而导致样本有偏差。
- 时间间隔:试验可能会在极值处提前终止(通常出于道德原因),但即使所有变量具有相似的均值,具有最大方差的变量也可能达到极值。
- 数据:当选择特定的数据子集来支持结论或以任意理由拒绝不良数据时,而不是根据先前规定或普遍同意的标准。
- 消耗:损耗偏差是一种因损耗(参与者流失)而导致的选择偏差,对未完成的试验对象/测试进行折扣。
164.你对精确率和召回率的理解是什么?
在模式识别中,机器学习中的信息检索和分类是 精确。它也称为阳性预测值,是检索到的实例中相关实例的比例。
记起 也称为敏感度,是实际检索到的相关实例总数的比例。
因此,精确度和召回率都基于对相关性的理解和衡量。
165. 机器学习模型构建的三个阶段是什么?
要构建机器学习模型,您需要执行以下几个步骤:
- 了解商业模式
- 数据采集
- 数据清洗
- 探索性数据分析
- 使用机器学习算法来制作模型
- 使用未知数据集检查模型的准确性
166.如何在机器学习中设计电子邮件垃圾邮件过滤器?
- 了解商业模式:尝试了解垃圾邮件的相关属性
- 数据采集:收集垃圾邮件并从中读取隐藏的模式
- 数据清洗:清洗非结构化或半结构化数据
- 探索性数据分析:使用统计概念来理解数据,如分布、异常值等。
- 使用机器学习算法建立模型:也可以使用朴素贝叶斯或其他一些算法
- 使用未知数据集检查模型的准确性
167. 熵和信息增益有什么区别?
这 信息增益 是基于减少 熵 在数据集按属性拆分后。构建决策树就是寻找返回值最高的属性 信息增益 (即最同质的分支)。第 1 步:计算 熵 的目标。
168.什么是共线性和多重共线性?
共线性 是线性关联 之间 两个预测因子。 多重共线性 是两个或多个预测变量高度线性相关的情况。
169.什么是核SVM?
SVM算法在复杂度方面基本上具有优势。首先我想澄清一下,逻辑回归和支持向量机都可以形成非线性决策面,并且可以与核技巧结合起来。如果Logistic回归可以与kernel结合起来那为什么还要使用SVM呢?
● 实践证明,SVM 在大多数情况下具有更好的性能。
● SVM 的计算成本较低为 O(N^2*K),其中 K 是支持向量的数量(支持向量是位于类边缘上的点),而逻辑回归则为 O(N^3)
● SVM 中的分类器仅依赖于点的子集。由于我们需要最大化两个类的最近点之间的距离(又称边距),因此我们只需要关心点的子集,这与逻辑回归不同。
170. 进行线性回归的过程是什么?
线性回归 分析不仅仅包括拟合 线性 穿过数据点云的线。它由 3 个阶段组成——
- 分析数据的相关性和方向性,
- 估计 模型,即拟合线,
- 评估其有效性和实用性 模型。
“通过 Great Learning 开启您的人工智能之旅,该课程提供行业领导者高度评价的世界级培训。无论您对机器学习、数据挖掘还是数据分析感兴趣,Great Learning 都有适合您的课程!”
机器学习面试问题常见问题解答
1. 我如何开始机器学习职业生涯?
没有固定或明确的指南可以帮助您开始您的机器学习职业生涯。第一步是了解该学科的基本原理,并学习一些关键概念,例如算法和数据结构、编码能力、微积分、线性代数、统计学。为了更好地进行数据分析,您应该对机器学习的统计有清晰的了解。下一步是参加机器学习课程或阅读顶级书籍进行自学。您还可以参与项目以获得实践经验。
2. 学习机器学习的最佳方法是什么?
任何适合您学习风格的方式都可以被认为是最好的学习方式。不同的人可能会喜欢不同的方法。一些常见的方法是免费学习机器学习基础知识课程、观看 YouTube 视频、阅读相关主题的博客、阅读可以帮助您自学的书籍。
3. 机器学习需要什么学位?
大多数招聘公司都会寻找相关领域的硕士或博士学位。研究领域包括计算机科学或数学。但即使没有学位,拥有必要的技能也可以帮助您找到机器学习工作。
4. 你是如何涉足机器学习领域的?
进入机器学习职业的最常见方法是获得必要的技能。学习 C、C++、Python 和 Java 等编程语言。获得有关各种机器学习算法的基础知识、有关微积分和统计学的数学知识。这将帮助你走得更远。
5. 机器学习有多难?
机器学习是一个庞大的概念,包含许多不同的方面。如果有正确的指导和持续的努力,学习可能不会很难。这肯定需要大量的时间和精力,但如果你对这个学科感兴趣并且愿意学习,那不会太难。
6. 对于初学者来说,什么是机器学习?
面向初学者的机器学习将包括机器学习类型(监督学习、无监督学习、强化学习)等基本概念。每种类型的 ML 都有不同的算法和库,例如分类和回归。有各种分类算法和回归算法,例如线性回归。在继续学习其他概念之前,这将是您要学习的第一件事。
7. 机器学习需要什么水平的数学?
您需要了解统计概念、线性代数、概率、多元微积分、优化。当您更深入地了解 ML 概念时,您将需要更多有关这些主题的知识。
8. 机器学习需要编码吗?
编程是机器学习的一部分。了解 Python 等编程语言非常重要。
请继续关注此页面,了解更多有关面试问题和职业帮助的信息。您可以查看我们有关机器学习的其他博客以获取更多信息。
您还可以参加 Great Learning 与 UT Austin 合作提供的 PGP 人工智能和机器学习课程。该课程提供在线学习和指导,并提供职业帮助。该课程由五大湖区和德克萨斯大学奥斯汀-麦库姆斯分校的教师设计,可帮助您推动职业发展。
进一步阅读
就像机器学习面试问题一样,以下是一些可能对您有帮助的其他面试问题: