用一小段带噪声的复数信号样本来训练一棵 CART 决策树,对16QAM符号进行分类判决。每个样本用两维实数特征表示:实部 x1 与虚部 x2;标签是整型类标(如0~15,对应16QAM的16个星座点)。
·
划分标准:使用基尼系数(Gini)作为节点不纯度度量,选择加权 Gini 最小且左右子集均非空的划分。
·
切分方式:只允许在特征 x1 或 x2 上,用固定阈值集合 {-3, -2, -1, 0, 1, 2, 3} 中的某个阈值 t 进行二分;样本按“特征值 < t 进左子集,否则进右子集”分配。
·
叶子输出:叶子节点输出该节点内样本的多数类;若并列,取数值较小的标签,保证确定性。
·
树深度:最大深度为 5(根深度计 1)。
·
训练集整体 Gini:按训练集中各标签频率一次性计算并输出。
请在读入训练样本后,先输出训练集整体 Gini(四舍五入保留 4 位小数),再用训练好的树对给定测试点 (tx1, tx2) 进行预测并输出其标签。
约束与说明
·
仅使用特征 x1、x2;阈值必须从 {-3, -2, -1, 0, 1, 2, 3} 中选择。
·
每次划分两侧必须均非空;若所有候选划分都不能降低加权 Gini,或深度到限,则当前节点为叶子。
·
并列多数类时取数值更小的类标。· 第 1 行:整数 M,表示训练样本数。 · 第 2~M+1 行:每行三个数 x1 x2 y(x1、x2 为实数,y 为整型类标)。 · 第 M+2 行:两个实数 tx1 tx2,表示测试样本的特征。
· 第 1 行:训练集整体 Gini,四舍五入保留 4 位小数。 · 第 2 行:对测试样本的预测标签(整数)。
1 2.10 3.00 7 -0.50 1.20
0.0000 7
考点:二分
限制 1 秒 / 256MB | 标准输入输出
参考方向:二分
把「求最优值」转化为「判定某值是否可行」,用单调性二分逼近答案。
思路框架(二分 通法 · 非本题专属)
实现要点:模板:while (lo < hi) { mid = (lo+hi)/2; if (check(mid)) hi = mid; else lo = mid+1; } 求最小可行值。
复杂度:时间 O(check 的代价 × log(答案范围)) | 空间 O(1)
该范式的通法易错点
本题在源数据中没有官方考点标签,方向由题面特征推断,仅供参考。
样例 1:输入 1 / 2.10 3.00 7 / -0.50 1.20 → 输出 0.0000 / 7
训练集中只有 1 条样本,其标签分布完全单一,训练集 Gini=0。
无法有效划分,根即叶,预测恒为 7。
解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2025年秋招-华为-11月12号AI岗。