在运维中心收集到的一批样本中,每条样本包含 m 个二值特征与一个二分类标签(0=正常,1=劣化)。请基于 ID3 决策树训练一个二叉分类器,并对 q 条查询样本给出预测结果。 规则与细节 划分准则:信息增益(Entropy + Information Gain)。在当前节点,从“尚未使用”的特征中选择信息增益最大的进行二分。 并列处理:若多个特征增益相同,选择“特征下标更小”的那个。 终止与叶子: 若当前样本标签全同,直接返回该标签; 若没有任何特征能带来正的增益(或特征已经用尽),返回“多数标签”;若平票,返回 0。 为保证可预测性,某次划分若一侧样本为空,该子结点直接作为“多数标签叶子”(平票仍为 0)。 预测:从根出发,按节点记录的特征下标读取 01 向左向右,直到叶子。
输入描述:
第一行:n m接下来 n 行:每行 m+1 个整数,前 m 个为特征值(01),最后 1 个为标签(01)下一行:q接下来 q 行:每行 m 个整数,表示待预测样本的特征(01)


输出描述:
共 q 行,每行 1 个整数(0 或 1),为对应查询样本的预测值
示例1

输入

6 2
0 0 0
0 1 0
1 0 1
1 1 1
0 0 0
1 1 1
3
0 1
1 0
1 1

输出

0
1
1

说明

在根节点,按信息增益选择特征1(与特征2并列时,因下标更小而被选中);左支(特征1=0)标签几乎全为 0,右支(特征1=1)标签几乎全为 1;因此三个查询分别预测为 0、1、1。

备注:
本题由牛友@Charles 整理上传
加载中...