我使用橙色CN2规则归纳算法来检测舞弊率很低的地方(低于0.1%)。默认情况下,CN2为两个类(欺诈和非欺诈)学习规则。由于我只对欺诈类规则感兴趣,学习非欺诈规则是浪费时间,特别是考虑到我需要在许多数据集中运行CN2。CN2是否可能只学习欺诈类规则,如果有,如何在脚本中配置它来完成这个任务?谢谢!
发布于 2015-07-01 09:55:21
您所使用的CN2UnorderedLearner类基于基本的橙色规则器,实际上,它只为一个类学习规则。要学习一个类,只需指定target_class并调用父类。就像这样:
cn2_learner.target_class = 0 # you can change this to get other classes
cn2_classifier = Orange.classification.rules.RuleLearner.__call__(cn2_learner, train, 0)
#cn2_classifier = cn2_learner(train)
for r in cn2_classifier.rules:
print Orange.classification.rules.rule_to_string(r)https://stackoverflow.com/questions/31081819
复制相似问题