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)
何か不足していますか?