91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-10
  • 語言: 其他
  • 標簽: treePlotter.??

資源簡介

treePlotter模塊,其實就是一系列函數組成的自定義模塊,資源包括該模塊的代碼具體實現代碼,用于實現樹與分類結構的可視化

資源截圖

代碼片段和文件信息

#?_*_?coding:?UTF-8?_*_

import?matplotlib.pyplot?as?plt


“““繪決策樹的函數“““
decisionNode?=?dict(boxstyle=“sawtooth“?fc=“0.8“)??#?定義分支點的樣式
leafNode?=?dict(boxstyle=“round4“?fc=“0.8“)??#?定義葉節點的樣式
arrow_args?=?dict(arrowstyle=“<-“)??#?定義箭頭標識樣式


#?計算樹的葉子節點數量
def?getNumLeafs(myTree):
???numLeafs?=?0
???firstStr?=?list(myTree.keys())[0]
???secondDict?=?myTree[firstStr]
???for?key?in?secondDict.keys():
??????if?type(secondDict[key]).__name__?==?‘dict‘:
?????????numLeafs?+=?getNumLeafs(secondDict[key])
??????else:
?????????numLeafs?+=?1
???return?numLeafs


#?計算樹的最大深度
def?getTreeDepth(myTree):
???maxDepth?=?0
???firstStr?=?list(myTree.keys())[0]
???secondDict?=?myTree[firstStr]
???for?key?in?secondDict.keys():
??????if?type(secondDict[key]).__name__?==?‘dict‘:
?????????thisDepth?=?1?+?getTreeDepth(secondDict[key])
??????else:
?????????thisDepth?=?1
??????if?thisDepth?>?maxDepth:
?????????maxDepth?=?thisDepth
???return?maxDepth


#?畫出節點
def?plotNode(nodeTxt?centerPt?parentPt?nodeType):
???createPlot.ax1.annotate(nodeTxt?xy=parentPt?xycoords=‘axes?fraction‘?\
???????????????????????????xytext=centerPt?textcoords=‘axes?fraction‘?va=“center“?ha=“center“?\
???????????????????????????bbox=nodeType?arrowprops=arrow_args)


#?標箭頭上的文字
def?plotMidText(cntrPt?parentPt?txtString):
???lens?=?len(txtString)
???xMid?=?(parentPt[0]?+?cntrPt[0])?/?2.0?-?lens?*?0.002
???yMid?=?(parentPt[1]?+?cntrPt[1])?/?2.0
???createPlot.ax1.text(xMid?yMid?txtString)


def?plotTree(myTree?parentPt?nodeTxt):
???numLeafs?=?getNumLeafs(myTree)
???depth?=?getTreeDepth(myTree)
???firstStr?=?list(myTree.keys())[0]
???cntrPt?=?(plotTree.x0ff?+?\
?????????????(1.0?+?float(numLeafs))?/?2.0?/?plotTree.totalW?plotTree.y0ff)
???plotMidText(cntrPt?parentPt?nodeTxt)
???plotNode(firstStr?cntrPt?parentPt?decisionNode)
???secondDict?=?myTree[firstStr]
???plotTree.y0ff?=?plotTree.y0ff?-?1.0?/?plotTree.totalD
???for?key?in?secondDict.keys():
??????if?type(secondDict[key]).__name__?==?‘dict‘:
?????????plotTree(secondDict[key]?cntrPt?str(key))
??????else:
?????????plotTree.x0ff?=?plotTree.x0ff?+?1.0?/?plotTree.totalW
?????????plotNode(secondDict[key]?\
??????????????????(plotTree.x0ff?plotTree.y0ff)?cntrPt?leafNode)
?????????plotMidText((plotTree.x0ff?plotTree.y0ff)?\
??????????????????????cntrPt?str(key))
???plotTree.y0ff?=?plotTree.y0ff?+?1.0?/?plotTree.totalD


def?createPlot(inTree):
???fig?=?plt.figure(1?facecolor=‘white‘)
???fig.clf()
???axprops?=?dict(xticks=[]?yticks=[])
???createPlot.ax1?=?plt.subplot(111?frameon=False?**axprops)
???plotTree.totalW?=?float(getNumLeafs(inTree))
???plotTree.totalD?=?float(getTreeDepth(inTree))
???plotTree.x0ff?=?-0.5?/?plotTree.totalW
???plotTree.y0ff?=?1.0
???plotTree(inTree?(0.5?1.0)?‘‘)
???plt.show()

if?__name__==‘__main__‘:
????createPlot()

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3023??2018-10-18?20:59??treePlotter\__init__.py

?????文件???????3253??2018-10-18?21:10??treePlotter\__init__.pyc

?????目錄??????????0??2018-10-18?21:10??treePlotter

-----------?---------??----------?-----??----

?????????????????6276????????????????????3


評論

共有 條評論

相關資源