1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        屬實(shí)逼真,決策樹可視化!

        共 2494字,需瀏覽 5分鐘

         ·

        2022-01-19 21:09

        ↓↓↓點(diǎn)擊關(guān)注,回復(fù)資料,10個(gè)G的驚喜


        同學(xué)們好

        決策樹的可視化,我以為之前介紹的方法已經(jīng)夠驚艷了(決策樹可視化,被驚艷到了!),沒想到最近又發(fā)現(xiàn)了一個(gè)更驚艷的,而且更逼真,話不多說,先看效果圖↓

        直接繪制隨機(jī)森林也不在話下

        下面就向大家介紹一下這個(gè)神器 —— pybaobabdt

        安裝GraphViz

        pybaobabdt依賴GraphViz,首先下載安裝包

        http://www.graphviz.org/download/

        http://www.graphviz.org/download/

        2、雙擊msi文件,然后一直選擇next(默認(rèn)安裝路徑為C:\Program Files (x86)\Graphviz2.38\),安裝完成之后,會(huì)在windows開始菜單創(chuàng)建快捷信息。

        3、配置環(huán)境變量:計(jì)算機(jī)→屬性→高級系統(tǒng)設(shè)置→高級→環(huán)境變量→系統(tǒng)變量→path,在path中加入路徑:

        4、驗(yàn)證:在windows命令行界面,輸入dot -version,然后按回車,如果顯示如下圖所示的graphviz相關(guān)版本信息,則安裝配置成功。

        安裝pygraphviz和pybaobabdt

        pip直接安裝pygraphviz的話,大概率會(huì)報(bào)錯(cuò),建議下載whl文件本地安裝。

        https://www.lfd.uci.edu/~gohlke/pythonlibs


        pybaobabdt就簡單了,直接pip install pybaobabdt 即可

        pybaobabdt用法

        pybaobabdt 用起來也簡單到離譜,核心命令只有一個(gè)pybaobabdt.drawTree,下面是官方文檔示例代碼,建議在jupyter-notebook中運(yùn)行。

        import?pybaobabdt
        import?pandas?as?pd
        from?scipy.io?import?arff
        from?sklearn.tree?import?DecisionTreeClassifier
        from?matplotlib.colors?import?LinearSegmentedColormap
        from?matplotlib.colors?import?ListedColormap
        from?colour?import?Color
        import?matplotlib.pyplot?as?plt
        import?numpy?as?np

        data?=?arff.loadarff('vehicle.arff')
        df???=?pd.DataFrame(data[0])
        y?=?list(df['class'])
        features?=?list(df.columns)

        ???????????????????
        features.remove('class')
        X?=?df.loc[:,?features]

        clf?=?DecisionTreeClassifier().fit(X,?y)

        ax?=?pybaobabdt.drawTree(clf,?size=10,?dpi=72,?features=features,?colormap='Spectral')

        這個(gè)圖怎么看呢?

        不同的顏色對應(yīng)不同的分類(target),每個(gè)分叉處都標(biāo)記了分裂的條件,所以劃分邏輯一目了然。樹的深度也是工整的體現(xiàn)了出來。

        樹枝的直徑也不是擺設(shè),而是代表了樣本的個(gè)數(shù)(比例),該劃分條件下的樣本越多,樹干也就越粗。

        你是發(fā)現(xiàn)最最底層的樹枝太細(xì)太脆弱的時(shí)候,是不是應(yīng)該考慮一下過擬合風(fēng)險(xiǎn),比如需要調(diào)整一下最小樣本數(shù)?

        繪制隨機(jī)森林

        import?pybaobabdt
        import?pandas?as?pd
        from?scipy.io?import?arff
        import?matplotlib.pyplot?as?plt
        from?sklearn.ensemble?import?RandomForestClassifier
        data?=?arff.loadarff('vehicle.arff')

        df?=?pd.DataFrame(data[0])
        y?=?list(df['class'])
        features?=?list(df.columns)
        features.remove('class')
        X?=?df.loc[:,?features]

        clf?=?RandomForestClassifier(n_estimators=20,?n_jobs=-1,?random_state=0)
        clf.fit(X,?y)
        size?=?(15,15)
        plt.rcParams['figure.figsize']?=?size
        fig?=?plt.figure(figsize=size,?dpi=300)

        for?idx,?tree?in?enumerate(clf.estimators_):
        ????ax1?=?fig.add_subplot(5,?4,?idx+1)
        ????pybaobabdt.drawTree(tree,?model=clf,?size=15,?dpi=300,?features=features,?ax=ax1)
        ????
        fig.savefig('random-forest.png',?format='png',?dpi=300,?transparent=True)

        怎么用,是不是很酷,趕緊去試試吧!
        如有收獲,可否在看、收藏、轉(zhuǎn)發(fā)一下?感謝~

        參考:https://mp.weixin.qq.com/s/uIazCL9SjNDguu59up5KjA

        推薦閱讀

        1. 準(zhǔn)備寫本書
        2. 這次,我真當(dāng)up主了
        3. 21個(gè)深度學(xué)習(xí)開源數(shù)據(jù)集匯總!
        4. 耗時(shí)一個(gè)月,做了一個(gè)純粹的機(jī)器學(xué)習(xí)網(wǎng)站
        5. 用 Python 從 0 實(shí)現(xiàn)一個(gè)神經(jīng)網(wǎng)絡(luò)
        6. 40篇AI論文!附PDF下載,代碼、視頻講解


        三連在看,月入百萬??

        瀏覽 86
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            中文字幕亚洲有码 | 日本做爰全过程免费看 | 97久久久久久 | 欧洲成人网站 | 一级免费黄色视频 | 日本大香蕉伊人 | 成人AV在线电影 | 扒开双腿精油私密按摩电视剧 | 八重神子腿部功夫熟练 | chinese叫床videos |