☰
机器学习期末复习题及答案:核心考点、算法辨析与编程题速查
2026/11/3 11:18:19 网站建设 项目流程

简介:面向高校机器学习课程期末复习阶段的题库型资料,围绕课程核心概念与常见题型组织内容,适合需要快速自测、梳理知识框架并核对答案的本科生与备考读者。正文以单项选择题、多项选择题、名词解释、简答题和编程题五类形式展开,覆盖训练集与测试集划分、欠拟合与过拟合、K近邻、朴素贝叶斯、支持向量机核函数、决策树生成、线性回归、聚类及模型性能评估等高频考点,并给出对应答案与简要解释。压缩包内为1个docx文档,体积约20KB,便于直接打开检索或打印复习。已有13141人学习,说明其在同类期末资料中具有一定参考基础。读者可借助完整题型快速定位薄弱章节,结合名词解释与简答题校准概念表述,并通过编程题步骤回顾Sklearn建模、拟合、预测与评价流程,适合考前集中刷题和查漏补缺。

1. 机器学习期末复习:先算清分数账,再决定背哪几页

“决策树生成有几种算法”这道题,选项是 1、2、3、4,标准答案给的是 3。很多人明明背过 ID3、C4.5、CART,考场还是选了 4,因为选项里塞了一个根本不存在的“ID4”。机器学习期末复习的丢分点大多不是不会,而是干扰项长得太像。这份复习题及答案对应的卷面结构很固定:单选 10 题、多选 5 题、名词解释 5 个、简答 3 题、编程 2 题,纯记忆题占七成,剩下三成卡在概念边界和代码细节上。想稳过,先把术语背成条件反射,再把两道 sklearn 代码题练到能默写。适合知识点零散、做题总在二选一上翻车的人。

2. 基础概念题:训练集划分、欠拟合与名词解释的三套答法

2.1 训练集与测试集:把“泛化”两个字写进答案里

第一道单选就是送分题:机器学习把数据集分成训练集和(B 测试集)。选项里的分析集、导入集、备用集都是凑数的,但每年都有人在这里犹豫,因为“分析”听起来也很合理。判断标准很简单——模型拟合时用的是训练集,评估时用的是模型没见过的数据,那部分就是测试集。

简答题“为什么要把数据集分成训练集与测试集”分值更高,只写“为了评估模型”最多拿一半分。这类题通常这么答:模型完全依靠训练集完成拟合,即使对训练集精度很高,也不能保证应用到新数据时保持同样的贴合度;因此需要留出一部分未参与训练的数据,用来验证模型在未知样本上的表现,这个能力就是泛化能力。三句话,分别对应“怎么练”“为什么不能只看训练集”“测试集到底测什么”,阅卷时关键词全在。

答题模板可以固定成这个结构:

提示:先写拟合过程依赖训练集,再写训练集精度高不代表新数据精度高,最后落到“用测试集评估泛化能力”。顺序别反,反了就像在背结论。

再往下延伸一层,教材里常把数据切成三份:训练集、验证集、测试集。训练集学参数,验证集选超参数,测试集只在最后用一次。面试官或命题老师最想听的是“测试集不能参与调参”,一旦用测试集反复调模型,评估结果就偏乐观,等于自己给自己泄题。这个点在简答题里加一句,能拉开档次。

还有个小细节:划分比例。常见口径是 7:3 或 8:2,数据量大时测试集占比可以更小。不要写死“必须 7:3”,写“通常按 7:3 或 8:2 划分,数据量越大测试集比例可适当降低”更稳。如果题目要求写代码,train_test_split的test_size参数就是控制这个比例的,random_state固定随机种子保证结果可复现,这两个参数写出来,说明你是真跑过代码的。

2.2 欠拟合与过拟合:四个选项怎么归类

单选题“以下属于解决模型欠拟合的方法”给的是:A 增加训练数据量、B 对模型进行裁剪、C 增加训练过程的迭代次数、D 正则化。正确答案 C。这道题的坑在于,四个选项单拎出来都像是“优化模型”的动作,必须先判断每个动作到底在压哪一头。

现象典型表现解决方向本题选项对应
欠拟合训练集和测试集精度都低,模型没抓住核心特征提高模型复杂度、增加迭代次数、减少正则化强度C 增加迭代次数
过拟合训练集精度高、测试集精度明显下降,把噪声也学进去了增加数据、正则化、剪枝、降维、早停A 增加数据量、B 裁剪、D 正则化

归类完就清楚了:A、B、D 都是往下压模型复杂度的,压过头只会更欠拟合;只有 C 是让模型在训练集上继续学,方向对。这里有个绕不开的现实问题——增加训练数据量对欠拟合其实也有帮助,但在多数教材的口径里,它被归到“缓解过拟合”那一栏,因为数据越多,模型越不容易记住噪声。遇到这种口径题,单选就选最直接、最贴教材的那个,别跟选项较劲。

注意:多选题可以宽容,单选题必须挑“最对”。这道题如果出成多选,把“增加数据量”选上通常也算对;出成单选,就只能选增加迭代次数。

名词解释“欠拟合”和“过拟合”是同一组对照,答题时要成对出现关键词。欠拟合的关键词是“训练集和测试集精度均不高”“未能把握核心特征”“模型过于简单”;过拟合的关键词是“训练集表现好”“测试集表现差”“特征选取过多”“把噪声当规律”。两句话各带三个关键词,比写一大段描述更容易踩分。

还有一个常考的变形:过拟合怎么解决。标准答案是一串动作——增加训练样本、减少特征数量、正则化(L1/L2)、决策树剪枝、神经网络 Dropout、早停。答题时按“数据层面、特征层面、模型层面”分三层写,层次感一出来,分数就稳。数据层面加样本、做数据增强;特征层面降维、筛特征;模型层面加正则、剪枝、早停。这个三层框架几乎能套所有“如何防止过拟合”的题。

2.3 名词解释:每个词至少写够两个关键词

名词解释是最容易“写了一堆但没分”的题型。阅卷按关键词给分,一句话里没有术语,写再长也是零。下面这张表是按题目里出现过的名词整理的,左边是必写关键词,右边是可以直接背的一句话模板。

名词必写关键词一句话模板
机器学习模拟人类学习行为、获取知识或技能、人工智能的核心研究如何让计算机模拟并实现人类的学习行为,以获取新的知识或技能,是人工智能的核心分支
欠拟合训练集与测试集精度均不高、未把握核心特征模型在训练集和预测时精度均不高,未能把握数据核心特征的情况
过拟合训练集表现好、测试集差、特征过多模型拟合过度,把训练数据中的噪声也学了进去,特征选取过多导致泛化能力下降
数据清洗缺失值、噪声、离群点、不一致通过填补缺失值、平滑噪声、删除或平滑离群点、解决数据不一致来清理数据的过程
聚类相似性尽可能大、簇间差异性尽可能大、无标签按距离等准则把数据集划分成若干簇,使同簇内样本相似性尽可能大、不同簇间差异性尽可能大
分类离散、映射、目标函数、已有标签通过已有数据集学习得到目标函数,把样本特征 x 映射到离散类别 y 的过程
线性回归特征与连续目标变量、建模、简单与多元针对一个或多个特征与连续目标变量之间的关系建模,分为简单线性回归和多元线性回归
均方误差估计量与被估计量、差异程度反映估计量与被估计量之间差异程度的一种度量,是预测值与真实值差平方的均值
性能评估准确率、查准率、查全率、综合评价用准确率、查准率、查全率及综合评价指标衡量模型预测效果的过程
分类准确度分类正确样本数、总样本数、比值分类正确的样本数占总样本数的比例,Accuracy = n_correct / n_total

背这张表有个技巧:每个名词先记“它解决什么问题”,再记“它怎么算或怎么定义”。比如聚类,先记“没有标签,按相似度分组”,再记“簇内相似大、簇间差异大”;比如分类准确度,先记“猜对的除以总数”,公式自然就出来了。考场上一紧张,定义容易忘,但“它干什么用的”很难忘,从用途往定义推,比死背更抗压。

还有两个容易写漏的点。其一是“线性回归”要写出定义式 y = ω₀ + ω₁x,ω₀ 是截距、ω₁ 是斜率(回归系数),写出来就是加分项。其二是“均方误差”要区分它和“均方根误差”,前者是差平方的均值,后者还要开根号,量纲才和原数据一致。这两个词在选择题里经常互换着考,名词解释里写清楚,等于提前给自己排雷。

3. 算法辨析题:KNN、朴素贝叶斯、决策树、SVM 的判定口径

3.1 KNN 与 PCA:有监督与无监督的分水岭

单选题“K 近邻算法是(A 有监督学习)”和“PCA 降维是(B 无监督学习)”是同一套判断逻辑的两道题。判断标准只有一条:训练时有没有用到标签 y。KNN 的训练集是带标签的,预测时看离它最近的 k 个邻居多数属于哪一类,标签全程参与,所以是有监督;PCA 只对特征矩阵 X 做协方差分解,找方差最大的方向投影,压根不需要 y,所以是无监督。聚类也是同样道理,没有标签,归到无监督。

这条判断标准能推出一整片题。半监督学习是少量带标签加大量无标签;强化学习靠奖励信号试错,也不是靠标签。考试里只要看到“有没有 y”,八成能直接定。

KNN 还有三个必背要素:k 值、距离度量、决策规则。k 太小,模型被局部噪声带跑,容易过拟合;k 太大,远处不相干的点也被拉进来投票,容易欠拟合。所以 k 一般取奇数,避免两类票数相同没法决断。距离度量默认欧氏距离,也可以换曼哈顿距离或闵可夫斯基距离。决策规则分类用多数投票,回归用均值。

提示:KNN 是“惰性学习”,训练阶段只把样本存起来,没有显式的参数求解过程,计算压力全在预测阶段。简答题问“KNN 的特点”时写上这句,比只写“看最近的邻居”深一层。

编程题里 KNN 的第一步是导入from sklearn.neighbors import KNeighborsClassifier,注意neighbors是复数,中间是下划线不是点。题目给的四个选项里,只有这一行是 KNN 的导入语句,另外三行分别是 NumPy、Matplotlib 和 math,属于典型的“看着都眼熟”型干扰项。

3.2 朴素贝叶斯:四个选项用“argmax + 连乘”排掉三个

判定公式题给的是 H(x) = argmax P(Ci)ΠP(ak|ci),正确答案 A。另外三个选项分别把argmax换成了exp、min、log,把连乘符号 Π 有的保留有的去掉。这道题不用真懂推导,抓住两个特征就能排除:分类要选概率最大的类别,所以外层必须是argmax;朴素贝叶斯假设各特征在给定类别下条件独立,联合概率拆成各自概率相乘,所以必须有连乘 Π。两个特征一卡,只剩 A。

为什么是“朴素”?因为它假设特征之间相互独立,这个假设在现实中往往不成立,所以叫“朴素”。但即使假设不严格成立,它在文本分类这类高维稀疏场景里依然能打,计算量小、对小样本友好,这是它的实用价值。答题时把“条件独立性假设”和“后验概率最大化”两个词写进去,基本就到位了。

简答题“朴素贝叶斯算法的原理”可以按这个顺序写:基于贝叶斯定理,利用概率统计进行分类;对待分类项,分别计算它属于各个类别的概率;概率最大的类别即为预测类别;计算时假设各特征在类别给定条件下相互独立,把联合概率转化为连乘。四句话,从定理到假设再到决策规则,逻辑闭环。

还有个实战细节:如果某个特征值在训练集里没出现过,连乘会直接变成 0,整个概率被清零。解决办法是拉普拉斯平滑,给每个计数加一个小常数,避免零概率。这个点在大题里出现频率不低,写上就是区分度。

3.3 决策树:三种生成算法与两种划分标准

决策树这块有三道题连着考:单选“决策树生成有几种算法”答案 3;多选“决策树算法包括”答案 ID3、C4.5、CART;多选“决策树算法的划分标准”答案信息增益、基尼指数。三题其实是一张知识网。

算法划分标准特点
ID3信息增益偏好取值多的特征,容易偏向编号类特征
C4.5信息增益率用增益率修正 ID3 的偏好,支持连续值与缺失值
CART基尼指数(分类)、平方误差(回归)二叉树结构,分类回归都能做

记忆口诀可以自己编:ID3 看“增益”,C4.5 看“增益率”,CART 看“基尼”。三个算法对应三个标准,别串。多选题里如果出现“信息增益率”,它也是划分标准,只是题干给的是“信息增益”和“基尼指数”,选项里没有增益率时不要自己加戏。

简答题“决策树的原理”按结构写:决策树是类似于流程图的树结构;内部节点(分支节点)表示对一个特征的测试;根据测试结果把样本分到不同分支;叶节点代表一个类别。四句话对应“树形、测什么、怎么分、结果是什么”,比背一大段定义更稳。

决策树的优点也要会写:可解释性强,能直接输出规则;不需要特征归一化;对缺失值有一定容忍度。缺点是容易过拟合,所以要剪枝,预剪枝在分裂前判断、后剪枝在长成后回剪。这部分常和过拟合一起出综合题。

3.4 SVM:核函数与线性可分、线性不可分的简答模板

单选题“支持向量机常用的核函数”答案高斯核函数。另外三个选项“二项式核函数”“贝叶斯核函数”“网络核函数”都是编出来的名字,教材里常见的是线性核、多项式核、高斯核(RBF)、Sigmoid 核。看到“贝叶斯核”这种把两个算法名拼一起的选项,基本可以直接排除。

简答题“如何理解线性不可分”按这个模板答:线性不可分是指不存在一个线性分类器(二维中是直线、三维中是平面、高维中是超平面)能把两类样本完全分开;实际数据中这种情况很常见;处理思路是把样本映射到更高维空间,使其在高维空间中线性可分,或者允许少量样本分错,引入软间隔。三句话,从定义到现实到解法。

对应的“线性可分”答题要按维度递进:一维空间找一个点分开,二维空间找一条直线,三维空间找一个平面,n 维空间找一个超平面。这个递进写法是标准答案的形状,比一句“存在一个超平面能分开”更有分。

核函数的作用一句话概括:在低维空间里计算高维空间的内积,避免显式映射带来的计算爆炸。这句话写进简答或名词解释,含金量很高。

3.5 聚类与神经网络:数量题与任务题的记法

单选题“聚类分析有几种算法”答案 3,和决策树那道数量题一样。这类题没有推导空间,纯靠记教材口径。常见聚类方法按大类分:划分式(K-Means)、层次式(AGNES)、密度式(DBSCAN),所以选 3。别按自己知道的算法个数去数,K-Means、K-Medoids、谱聚类、DBSCAN、OPTICS 数下来远超 4 个,那是算法实现,不是教材分类。

注意:数量题一律以教材或课件列的清单为准。复习时把课件上那张“分类表”拍下来背,比刷十道题管用。

聚类和分类的区别也是高频简答:分类有标签、是监督学习、结果是已知类别;聚类没有标签、是无监督学习、结果是事先不知道的簇。一句话对照,两个词都用上——“有无标签”和“监督与否”。

神经网络的多选题“神经网络算法可完成的任务”答案 ABCD:分类、回归、感知、机器翻译。这四个确实都能做,图像分类是分类、房价预测是回归、感知机是最基础的神经元模型、机器翻译是序列到序列的任务。单选“神经元模型是”答案“神经网络中最基本的组成部分”,别选“生物神经”,题目问的是模型层面的定义。

神经网络还有个常考对比:它和传统机器学习方法比,优势在自动提取特征、能拟合复杂非线性关系;劣势在需要大量数据、训练成本高、可解释性差。这组对比写进简答,能撑起一道小题。

4. 评估指标与编程题:MAE 别写成 MSE,fit 别忘记写

4.1 回归四指标:MAE、MSE、RMSE、R² 的对应关系

回归评估这块有两道单选:一道问“平均绝对误差”,答案 MAE;另一道问“均方差”,答案给的是 RMSE。后一道要留个心眼——严格来说,均方误差是 MSE,均方根误差才是 RMSE,题干和选项之间存在术语混用。考场策略是看题干强调什么:出现“绝对”就选 MAE,出现“平方”看选项里给的是 MSE 还是 RMSE,按选项能对上的选。

指标全称计算量纲特点
MAE平均绝对误差(1/n)Σ|yᵢ - ŷᵢ|与原数据一致对异常值不敏感,解释直观
MSE均方误差(1/n)Σ(yᵢ - ŷᵢ)²原数据平方放大较大误差,优化时好求导
RMSE均方根误差√MSE与原数据一致兼具 MSE 的惩罚力度和可解释量纲
R²决定系数1 - SS_res / SS_tot无量纲越接近 1 越好,可为负

记忆方法:带“绝对”的是 MAE,带“根”的是 RMSE,剩下一个 MSE 是两者的中间形态。R² 单独记,它衡量的是模型解释了多大比例的方差,不是误差本身。

简答题问“回归模型怎么评估”,按“先误差、后拟合优度”的顺序写:先用 MAE 或 RMSE 看预测值与真实值的偏离程度,再用 R² 看模型对目标变量方差的解释比例;MAE 对异常值稳健,RMSE 对大误差更敏感,实际中常一起看。这样写既覆盖指标,又体现取舍。

4.2 分类指标与数据清洗:准确率、查准率、查全率

分类任务的核心指标是混淆矩阵推出来的四个值:TP、FP、FN、TN。准确率 Accuracy = (TP+TN)/(TP+FP+FN+TN),查准率 Precision = TP/(TP+FP),查全率 Recall = TP/(TP+FN),F1 = 2PR/(P+R)。这四个公式必须能默写,因为名词解释“性能评估”和“分类准确度”都靠它们撑。

为什么不能只看准确率?样本极不均衡时会骗人。比如 100 个样本里 95 个负类,模型全判负类,准确率 95%,但正类一个没抓到。这时候要看查全率和 F1。这个例子写进简答,比干背公式有说服力。

数据清洗的多选题给的是:A 训练数据、B 缺失值处理、C 分类、D 离群值检查,答案 BD。排除逻辑很直接——训练数据和分类是后续建模动作,不是清洗动作。数据清洗的完整动作包括:缺失值处理(删除、均值/中位数/众数填充、模型预测填充)、离群值检测与处理(箱线图、3σ 原则、删除或截断)、噪声平滑、去重、解决数据不一致。名词解释“数据清洗”就按这串写。

提示:缺失值填充要区分数值型和类别型。数值型用均值或中位数,类别型用众数;缺失比例过高(比如超过 70%)时,直接删列往往比硬填更合理。

4.3 编程题一:简单线性回归的六步写法

第一套卷子的编程题只要求写步骤,第二套要求真写代码。两种都得会,因为步骤题就是在考你会不会写代码。

步骤固定六步:导入库函数、导入数据集、建模(模型实例化)、模型拟合(模型训练)、预测、模型评价。这六步的顺序不能乱,尤其“先实例化再 fit”,顺序反了直接判错。

对应第二套给的数据 X = [1,2,3,4,5],Y = [3,4,6,8,9],完整代码:

# 1 导入库函数 import numpy as np from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score # 2 导入数据集:sklearn 要求特征 X 是二维数组,每个样本一行 X = np.array([[1], [2], [3], [4], [5]]) y = np.array([3, 4, 6, 8, 9]) # 3 建模:模型实例化 model = LinearRegression() # 4 拟合:用训练数据求参数 model.fit(X, y) # 5 预测 y_pred = model.predict(X) # 6 模型评价 print("斜率 w1:", model.coef_[0]) print("截距 w0:", model.intercept_) print("MAE:", mean_absolute_error(y, y_pred)) print("MSE:", mean_squared_error(y, y_pred)) print("R2:", r2_score(y, y_pred))

代码逻辑按六步走,每一步对应题干的一个动作。参数上有三个必须说明的点:X必须是二维数组,写成[1,2,3,4,5]会报“期望二维输入”的错,正确写法是[[1],[2],[3],[4],[5]]或者np.array([1,2,3,4,5]).reshape(-1, 1);model.coef_是回归系数 ω₁,model.intercept_是截距 ω₀,这两个属性带下划线,是 fit 之后才有的;mean_absolute_error和mean_squared_error的参数顺序是“真实值在前、预测值在后”,写反了数值一样但习惯不对,遇到多输出会出问题。

如果题目只要求写步骤,就写这六行文字,每行后面加一句括号说明:导入库函数(numpy、sklearn.linear_model)、导入数据集(X 二维、y 一维)、建模(LinearRegression())、拟合(fit)、预测(predict)、评价(MAE、MSE、R²)。分点写,一行一分。

4.4 编程题二:KNN 分类的完整代码与三个检查点

KNN 这道题给的数据是十行二维特征、十个标签,前五个是 0,后五个是 1。题目要求“编程实现 K 近邻算法分类”,没给预测样本,那就在代码里造一个测试点,证明模型能跑通。

# 导入 KNN 分类器 import numpy as np from sklearn.neighbors import KNeighborsClassifier # 导入数据集:X 是二维特征矩阵,y 是一维标签 X = np.array([[3, 2], [3, 1], [1, 3], [3, 4], [2, 2], [7, 4], [5, 3], [9, 2], [7, 3], [7, 0]]) y = np.array([0, 0, 0, 0, 0, 1, 1, 1, 1, 1]) # 建模:n_neighbors 是 k 值,取奇数避免平票 knn = KNeighborsClassifier(n_neighbors=3) # 拟合:KNN 的 fit 只是把样本存起来 knn.fit(X, y) # 预测:传入的必须是二维数组,一行一个样本 test = np.array([[6, 3]]) print("预测类别:", knn.predict(test)) # 评价:返回测试集上的平均准确率 print("训练集准确率:", knn.score(X, y))

逻辑说明:KNN 没有显式训练过程,fit阶段只是保存训练样本和标签,真正的计算发生在predict。所以这道题的重点不是“训练多久”,而是“预测时怎么找邻居”。参数说明三个:n_neighbors是 k 值,默认 5,小样本建议取 3 或 5 且取奇数,避免两类票数相同;X必须是二维,每个样本一行、每个特征一列,写成[3, 2]这样的一维列表会报错;predict返回的是数组,哪怕只传一个样本,返回的也是[0]或[1]这种形状。

三个检查点,考前默一遍:导入路径是sklearn.neighbors,neighbors复数、中间是点不是下划线;X和y的行数必须一致,这道题都是 10;predict之前必须fit,没 fit 直接 predict 会报“模型未拟合”。

还可以补一句距离度量:metric参数默认minkowski,p=2时等价于欧氏距离,改成p=1就是曼哈顿距离。想体现“知道参数怎么改”,写上这句就够。

5. 易错点:五类最容易在考场上丢分的题

5.1 有监督和无监督张冠李戴

错在哪:把 KNN 判成无监督,把 PCA 判成有监督,或者把聚类和分类混成一类。

为什么错:凭“算法名字听起来像什么”去猜。KNN 里有“邻居”,感觉像在找相似样本,就以为是聚类;PCA 名字里没有“标签”,反而被当成监督方法。

怎么答对:只问一句“训练时用没用 y”。KNN 的 y 参与投票,有监督;PCA 只分解 X,无监督;聚类没有 y,无监督;分类有 y,有监督。把这个判断句写在草稿纸边上,四道题一起过。

5.2 欠拟合题看见“正则化”就选

错在哪:单选“解决欠拟合的方法”,选了“正则化”或“对模型裁剪”。

为什么错:把“优化模型”和“降低复杂度”当成一回事。正则化、剪枝、裁剪都是往下压复杂度,压过头只会更欠拟合,方向反了。

怎么答对:先给选项贴标签——哪些是加压(增加迭代、增加特征、提高模型复杂度),哪些是减压(正则化、剪枝、增加数据)。题干问欠拟合就选加压项,问过拟合就选减压项。这道题只有“增加训练过程的迭代次数”是加压项。

5.3 决策树数量题被“ID4”骗

错在哪:问“决策树生成有几种算法”,看到 ID3、C4.5、CART 再加一个 ID4,顺手选 4。

为什么错:只记住“ID 开头”这个形状,没记住具体名字。ID4 根本不存在,是专门造出来的干扰项。

怎么答对:把三个算法连同划分标准一起背——ID3 对信息增益、C4.5 对信息增益率、CART 对基尼指数。数字题记清单不记选项位置,选项顺序一换照样能选对。

5.4 评估指标缩写混着写

错在哪:题干问“平均绝对误差”,选了 MSE;问“均方误差”,写了 MAE;R² 写成 R2 或者干脆和 RMSE 搞混。

为什么错:四个缩写里三个都带 M,眼睛一扫就过去了,没有逐字读题干。

怎么答对:抓题干里的限定词。“绝对”对应 MAE,“平方”对应 MSE,“均方根”对应 RMSE,“决定系数”对应 R²。再看量纲,MAE 和 RMSE 与原数据同量纲,MSE 是平方量纲,R² 无量纲,用这个反推也能验算。

5.5 编程题漏 fit、X 维度写错

错在哪:代码里实例化了模型直接predict,或者把 X 写成一维列表,运行报错。

为什么错:把“建模”当成“训练完成”。实例化只是创建对象,参数还是空的,不 fit 就没有可用的模型;sklearn 所有模型都要求 X 是二维数组,一维列表会被当成“一个样本多个特征”或直接报形状错误。

怎么答对:写完代码按三查过一遍——查导入路径对不对、查 X 是不是二维、查 predict 前有没有 fit。线性回归的 X 用reshape(-1, 1),KNN 的 X 直接用二维列表,两个都别省。

6. 押题与答题节奏:从选择题到编程题的 90 分钟分配

先把时间切开。期末卷子题量不大,但编程题要手写代码,容易在前面纠结选择题时把时间耗光。可以按这个节奏走:

题型题量建议用时拿分动作
单项选择10 题10 分钟一遍过,拿不准的标记,不回头死磕
多项选择5 题10 分钟逐项贴“加压/减压”或“清洗/建模”标签再选
名词解释5 个15 分钟每个写两到三句,关键词先落地
简答题3 题25 分钟分点写,一点一行,别写成一大段
编程题2 题25 分钟先写六步框架,再往里填代码
检查—5 分钟专查 X 维度、fit、指标缩写

押题方向按出现频率排,考前两小时只看这些:

  • 训练集与测试集划分的目的,以及“泛化能力”这个关键词;
  • 欠拟合与过拟合的对照,各写三条解决方法;
  • KNN 为什么是有监督、k 值大小的影响;
  • 朴素贝叶斯判定公式和条件独立假设;
  • 决策树三种生成算法与对应划分标准;
  • SVM 线性可分与线性不可分的定义,核函数的作用;
  • MAE、MSE、RMSE、R² 的区分;
  • 准确率、查准率、查全率的公式;
  • 数据清洗包含哪些动作;
  • 简单线性回归六步 + KNN 完整代码。

答题有个通用习惯值得养成:简答题先写“是什么”,再写“为什么”,最后写“怎么用”。阅卷老师扫的是关键词位置,三句话分三层,比一段话糊在一起更容易给分。名词解释则反过来,先给定义句,再补一句作用或公式,别铺垫。

说个自己的教训。早年做这类卷子,选择题一路顺,到了编程题发现 X 写成了一维,改来改去把简答题的检查时间挤没了,最后错的全是“MAE 写成 MSE”这种低级题。从那以后我每次做卷子,都强制走一遍“先标记不确定的选择题、编程题先搭六步框架、最后五分钟专查缩写和维度”的流程,分数才稳下来。你也可以把这三步写在草稿纸最上面,开考先看一眼。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询