用 Pipeline 把 StandardScaler 与线性 SVM 串起来,保证交叉验证每一折都只在当前训练折上拟合标准化,避免泄漏。标签 0 / 1 分别表示合格与次品。
步骤:
42。电子厂质量工程师要根据历史检测记录,把器件判定为合格(标签 0)或次品(标签 1),再给新批次给出预测。公司研发规范要求:实现必须仅依赖 numpy / pandas / scikit-learn;分类器必须是线性支持向量机,并用分层 3 折交叉验证与网格搜索自动选择惩罚系数 C。
42。网格 C∈{0.1,1.0,10.0}。分层交叉验证固定 n_splits = 3、shuffle = True、random_state = 42。评估指标 scoring = "accuracy"。使用 GridSearchCV 组合上述要素;当多组参数并列最高分时,按参数字典序取最先出现的一组(即较小的 C)。0 / 1)。约束:训练样本数 n 满足 20≤n≤200,特征维数 m 满足 2≤m≤10,测试样本数 q 满足 1≤q≤100。
第一行两个整数 n 和 m,分别表示训练样本数和特征维数。 接下来 n 行,每行 m+1 个数:前 m 个为浮点特征,最后一个为整数标签 y∈{0,1}。 接下来一行一个整数 q,表示测试样本数。 接下来 q 行,每行 m 个浮点数,表示一个测试样本的特征。 保证 20≤n≤200,2≤m≤10,1≤q≤100。
输出 q 行,每行一个整数 0 或 1,表示对应测试样本的预测标签。
输入
20 2
-3.5 -2.8 0
-4.1 -3.2 0
-2.7 -3.9 0
-3.8 -2.1 0
-4.4 -3.6 0
-2.9 -4.0 0
-3.1 -2.5 0
-4.6 -2.9 0
-2.4 -3.3 0
-3.7 -4.2 0
3.5 2.8 1
4.1 3.2 1
2.7 3.9 1
3.8 2.1 1
4.4 3.6 1
2.9 4.0 1
3.1 2.5 1
4.6 2.9 1
2.4 3.3 1
3.7 4.2 1
3
4.0 4.0
-4.0 -4.0
0.3 0.3
输出
1
0
1
说明
训练集共 20 个样本、2 维特征:前 10 个标签为 0 聚集在第三象限附近,后 10 个标签为 1 聚集在第一象限附近。经 StandardScaler 与分层 3 折网格搜索后选出最佳 C,再对测试集预测。
点 (4.0,4.0) 落在正类一侧,预测 1;(−4.0,−4.0) 落在负类一侧,预测 0;(0.3,0.3) 靠近正类一侧,预测 1。
输入
20 2
-5.0 -1.0 0
-4.5 -0.5 0
-5.5 -1.5 0
-4.2 -0.8 0
-5.2 -1.2 0
-4.8 -0.2 0
-5.8 -1.8 0
-4.0 -1.4 0
-5.4 -0.6 0
-4.6 -1.6 0
5.0 1.0 1
4.5 0.5 1
5.5 1.5 1
4.2 0.8 1
5.2 1.2 1
4.8 0.2 1
5.8 1.8 1
4.0 1.4 1
5.4 0.6 1
4.6 1.6 1
2
6.0 1.0
-6.0 -1.0
输出
1
0
说明
两类在横轴两侧分离。测试点 (6.0,1.0) 与正类同侧,预测 1;(−6.0,−1.0) 与负类同侧,预测 0。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册