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

📄 orngtree2.py

📁 orange源码 数据挖掘技术
💻 PY
字号:
import orange, orngTree, re
reload(orngTree)

data = orange.ExampleTable("iris")
tree = orngTree.TreeLearner(data, maxDepth=3)

def getMargin(dist):
    if dist.abs < 1e-30:
        return 0
    l = list(dist)
    l.sort()
    return (l[-1] - l[-2]) / dist.abs

def replaceB(strg, mo, node, parent, tree):
    margin = getMargin(node.distribution)

    by = mo.group("by")
    if margin and by:
        whom = orngTree.byWhom(by, parent, tree)
        if whom and whom.distribution:
            divMargin = getMargin(whom.distribution)
            if divMargin > 1e-30:
                margin /= divMargin
            else:
                orngTree.insertDot(strg, mo)
        else:
            return orngTree.insertDot(strg, mo)
    return orngTree.insertNum(strg, mo, margin)


    
myFormat = [(re.compile("%"+orngTree.fs+"B"+orngTree.by), replaceB)]
            
orngTree.printTree(tree, leafStr="%V %^B% (%^3.2BbP%)", userFormats = myFormat)

⌨️ 快捷键说明

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