本题要求找出使条件混合度指数最小的特征,本质上类似于决策树中基于基尼指数选择最优分裂特征。混合度指数 M(S)=1−∑cpc2 与基尼指数等价。解题步骤分为以下几步:
解析输入:读取一行字符串,将其转化为二维整数列表 samples。每个样本的最后一个元素是类别标签,前面的元素为各个特征值。记样本总数为 n,特征个数为 m。
计算整体统计量:统计所有样本中各类别的全局数量 total_counts,用于后续计算 D2 的类别分布。
遍历每个特征,计算该特征的条件混合度指数:
研究员收集了一系列样本,每个样本包含若干整数特征和一个整数类别标签。他希望找到一个特征,按照该特征的值是否等于某个特定值将样本分成两组后,能使整体的类别混合度最低。
混合度指数 M(S) 定义为: M(S)=1−∑cpc2 其中 pc 是集合 S 中类别 c 的样本所占的比例。
对于特征 A 和某个取值 a,将样本集 D 划分为 D1(特征 A 等于 a 的样本集合)和 D2(其余样本)后,条件混合度指数定义为: M(D∣A,a)=∣D∣∣D1∣M(D1)+∣D∣∣D2∣M(D2)
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.