解题思路
先从训练集里分离出所有常规样本和特殊样本,再把常规样本按固定随机种子划分为训练集和验证集,特殊样本全部放进验证集,仅用于评估,不参与训练。
然后只用常规训练集计算每一维的均值和标准差,完成标准化。若某一维标准差为 0,就把它改成 1,避免除以 0。接着用同一组均值和标准差去变换常规训练集、常规验证集、特殊验证集和测试集。
接下来枚举所有 gamma 和 nu,对每组参数训练一个单类边界检测器。它本质上是单类边界检测算法,只学习常规样本的分布范围,再通过 decision_function 判断样本更像常规还是特殊。
评估时,把常规验证集和特殊验证集合并,真实标签设为常规是 0、特殊是 1。因为 decision_function 的值越大越偏向常规,所以算 AUC 时使用 −s,算 F1 时直接按阈值 0 判断,s<0 视为特殊。