我对用于数据挖掘的Orange python包很陌生。我用的是橙色2.7。
我的数据集有一个二进制目标(好的和坏的)。好的例子是抽样权为10的样本。我如何在Windows和Linux版本的Orange中设置和使用分类分析的权重?谢谢你的帮助!
发布于 2015-06-01 00:17:21
您必须向数据中添加一个新的元列,其中包含实例权重(请参阅元属性和属性 )。存储元列的id并使用该元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)
https://stackoverflow.com/questions/30511518
复制