⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 accuracy6.py

📁 orange源码 数据挖掘技术
💻 PY
字号:
# Description: Leave-one-out method for estimation of classification accuracy. Demonstration of use for different learners
# Category:    evaluation
# Uses:        voting.tab
# Referenced:  c_performance.htm

import orange, orngTree

def leave_one_out(data, learners):
    acc = [0.0]*len(learners)
    selection = [1] * len(data)
    last = 0
    for i in range(len(data)):
        print 'leave-one-out: %d of %d' % (i, len(data))
        selection[last] = 1
        selection[i] = 0
        train_data = data.select(selection, 1)
        for j in range(len(learners)):
            classifier = learners[j](train_data)
            if classifier(data[i]) == data[i].getclass():
                acc[j] += 1
        last = i

    for j in range(len(learners)):
        acc[j] = acc[j]/len(data)
    return acc

orange.setrandseed(0)    
# set up the learners
bayes = orange.BayesLearner()
tree = orngTree.TreeLearner(minExamples=10, mForPruning=2)
bayes.name = "bayes"
tree.name = "tree"
learners = [bayes, tree]

# compute accuracies on data
data = orange.ExampleTable("voting")
acc = leave_one_out(data, learners)
print "Classification accuracies:"
for i in range(len(learners)):
    print learners[i].name, acc[i]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -