我正在尝试在具有 2 个类(良性-恶性)的非常不平衡的数据集上训练随机森林分类器。
我已经看到并遵循了上一个问题中的代码(如何在 Orange python 包中设置和使用样本权重?)并尝试为少数类数据实例设置各种更高的权重,但我得到的分类器正好工作相同的。
我的代码:
data = Orange.data.Table(filename)
st = Orange.classification.tree.SimpleTreeLearner(min_instances=3)
forest = Orange.ensemble.forest.RandomForestLearner(learner=st, trees=40, name="forest")
weight = Orange.feature.Continuous("weight")
weight_id = -10
data.domain.add_meta(weight_id, weight)
data.add_meta_attribute(weight, 1.0)
for inst in data:
if inst[data.domain.class_var]=='malign':
inst[weight]=100
classifier = forest(data, weight_id)
我错过了什么吗?