如何在orangepython包中设置和使用样本权重?

2024-04-23 09:25:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我对orangepython数据挖掘包还不熟悉。我用的是橙色2.7。在

我的数据集有一个二进制目标(好的和坏的)。好的实例被向下抽样,采样权重为10。如何在Orange的Windows和Linux版本中设置和使用权重进行分类分析?谢谢你的帮助!在


Tags: 数据实例版本数据挖掘目标linuxwindows二进制
1条回答
网友
1楼 · 发布于 2024-04-23 09:25:52

您必须向数据添加一个新的元列,包含实例权重(请参见Meta attributesTable.add_meta_attribute)。存储meta列的id并用该meta id调用学习者

import Orange
iris = Orange.data.Table("iris")
# Add some weights to the iris dataset
weight = Orange.feature.Continuous("weight")
weight_id = -10
iris.domain.add_meta(weight_id, weight)
iris.add_meta_attribute(weight, 1.0)
for i in range(50, 150):
     iris[i][weight] = 10

# Train a tree classifier on weighted data.
clsf = Orange.classification.tree.TreeLearner(iris, weight_id)

# Evaluate learner performance on weighted data
results = Orange.evaluation.testing.cross_validation(
    [Orange.classification.tree.TreeLearner,
     Orange.classification.bayes.NaiveLearner],
    (iris, weight_id)  # Note how you pass the weight id to testing functions
)
auc = Orange.evaluation.scoring.AUC(results)
ca = Orange.evaluation.scoring.CA(results)

相关问题 更多 >