最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python?sklearn?畫出決策樹(shù)并保存為PDF的實(shí)現(xiàn)過(guò)程

 更新時(shí)間:2022年07月14日 15:11:41   作者:Dragon水魅  
這篇文章主要介紹了python?sklearn?畫出決策樹(shù)并保存為PDF的實(shí)現(xiàn)過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

利用sklearn畫出決策樹(shù)并保存為PDF

下載Graphviz

進(jìn)入官網(wǎng)下載并安裝:

https://graphviz.gitlab.io/_pages/Download/Download_windows.html

并將下列路徑配置為環(huán)境變量:

  • D:\software\Graphviz\bin

在cmd中測(cè)試:

  • dot -version

python代碼

import numpy as np
import pandas as pd
from sklearn import tree
import graphviz
# x,y是sklearn中需要擬合的數(shù)據(jù)
x = np.array(exam_train)
y = np.array(classes_train)
clf = tree.DecisionTreeClassifier(criterion='entropy', class_weight='balanced', max_depth=25)
clf = clf.fit(x, y)
dot_data = tree.export_graphviz(clf, out_file=None, feature_names=None, filled=True, rounded=True)  # 重要參數(shù)可定制
graph = graphviz.Source(dot_data)
graph.render(view=True, format="pdf", filename="decisiontree_pdf")

可以生成一張賊帥的決策樹(shù)PDF:

python sklearn 決策樹(shù)運(yùn)用

數(shù)據(jù)形式(tree.csv)

age look income orderly target
older ugly low yes no
young ugly high no no
young handsome low no no
young handsome high yes yes
young handsome medium yes yes
young handsome medium no no

python源代碼:

# -*- coding:utf-8*-
# 將字典 轉(zhuǎn)化為 sklearn 用的數(shù)據(jù)形式 數(shù)據(jù)型 矩陣
from sklearn.feature_extraction import DictVectorizer
import csv
from sklearn import preprocessing
from sklearn import tree

allElectronicsData = open('c:/pic/data/tree.csv','rb')
reader = csv.reader(allElectronicsData)
header = reader.next()
# print header
## 數(shù)據(jù)預(yù)處理
featureList = []
labelList = []
for row in reader:
    # print row[-1]
    labelList.append(row[-1])
    # 下面這幾步的目的是為了讓特征值轉(zhuǎn)化成一種字典的形式,就可以調(diào)用sk-learn里面的DictVectorizer,直接將特征的類別值轉(zhuǎn)化成0,1值
    rowDict = {}
    for i in range(1, len(row) - 1):
        rowDict[header[i]] = row[i]
    featureList.append(rowDict)

for each in featureList:
    print each

# Vectorize features
vec = DictVectorizer()
dummyX = vec.fit_transform(featureList).toarray()
print("dummyX:"+str(dummyX))
print(vec.get_feature_names())

# label的轉(zhuǎn)化,直接用preprocessing的LabelBinarizer方法
lb = preprocessing.LabelBinarizer()
dummyY = lb.fit_transform(labelList)
print("dummyY:"+str(dummyY))
print("labelList:"+str(labelList))

#criterion是選擇決策樹(shù)節(jié)點(diǎn)的 標(biāo)準(zhǔn) ,這里是按照“熵”為標(biāo)準(zhǔn),即ID3算法;默認(rèn)標(biāo)準(zhǔn)是gini index,即CART算法。
clf = tree.DecisionTreeClassifier()
clf = clf.fit(dummyX,dummyY)
print("clf:"+str(clf))
# 導(dǎo)入相關(guān)函數(shù),可視化決策樹(shù)
# 導(dǎo)出的結(jié)果是一個(gè)dot文件(在系統(tǒng)默認(rèn)路勁),需要安裝Graphviz才能將它住哪華為PDF或png格式
# 輸出的dot文件可以使用graphvize軟件轉(zhuǎn)為PDF,graphvize安裝目錄中的bin目錄放入到環(huán)境變量的Path中
# 使用如下命令
#cmd
# dot -Tpdf  c:/tree.dot -o c:/tree.pdf
#下載地址:http://www.graphviz.org/Download_windows.php
#生成dot文件
with open("c:/tree.dot",'w') as f:
    f = tree.export_graphviz(clf, feature_names= vec.get_feature_names(),out_file= f)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python 對(duì)圖片進(jìn)行簡(jiǎn)單的處理

    python 對(duì)圖片進(jìn)行簡(jiǎn)單的處理

    介紹一些圖片處理的Python代碼,有了這些處理代碼,我們可以很方便的處理一些圖片,Python這里處理圖片一般都使用Pillow包,有此需求的朋友可以參考下
    2021-06-06
  • python字符串的一些常見(jiàn)實(shí)用操作

    python字符串的一些常見(jiàn)實(shí)用操作

    字符串是Pyhon常用的數(shù)據(jù)類型,我們可以用引號(hào)來(lái)創(chuàng)建字符創(chuàng)(可以是單引號(hào)也可以是雙引號(hào),當(dāng)然引號(hào)必須是英文的),這篇文章主要給大家介紹了關(guān)于python字符串的一些常見(jiàn)實(shí)用操作,需要的朋友可以參考下
    2022-04-04
  • python四則運(yùn)算表達(dá)式求值示例詳解

    python四則運(yùn)算表達(dá)式求值示例詳解

    這篇文章主要為大家介紹了python四則運(yùn)算表達(dá)式求值示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • python?包(模塊?函數(shù)?類?定義?導(dǎo)入)使用詳解

    python?包(模塊?函數(shù)?類?定義?導(dǎo)入)使用詳解

    這篇文章主要為大家介紹了python?包(模塊?函數(shù)?類?定義?導(dǎo)入)的使用詳細(xì)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Python音頻處理庫(kù)pydub的使用示例詳解

    Python音頻處理庫(kù)pydub的使用示例詳解

    pydub是一個(gè)輕量級(jí)的音頻處理庫(kù),安裝方便,使用簡(jiǎn)單,這篇文章主要為大家詳細(xì)介紹了pydub的具體使用,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考下
    2023-11-11
  • python?字典的概念敘述和使用方法

    python?字典的概念敘述和使用方法

    Python中還有一個(gè)很重要的數(shù)據(jù)類型就是字典,其實(shí)集合的底層使用的也是字典,這篇文章主要介紹了python?字典的概念敘述和使用方法,需要的朋友可以參考下
    2023-02-02
  • Django 刪除upload_to文件的步驟

    Django 刪除upload_to文件的步驟

    這篇文章主要介紹了Django 刪除upload_to文件的步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • python如何派生內(nèi)置不可變類型并修改實(shí)例化行為

    python如何派生內(nèi)置不可變類型并修改實(shí)例化行為

    這篇文章主要為大家詳細(xì)介紹了python如何派生內(nèi)置不可變類型并修改實(shí)例化行為,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python利用atexit模塊實(shí)現(xiàn)優(yōu)雅處理程序退出

    Python利用atexit模塊實(shí)現(xiàn)優(yōu)雅處理程序退出

    Python的atexit模塊提供了一種方便的方式來(lái)注冊(cè)這些退出時(shí)執(zhí)行的函數(shù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • Python中的sorted函數(shù)使用解析

    Python中的sorted函數(shù)使用解析

    這篇文章主要介紹了Python中的sorted函數(shù)使用解析,sorted()函數(shù)可以對(duì)可迭代對(duì)象進(jìn)行排序,并且可以人為指定排序的依據(jù)以及方式,本文提供了解決與部分實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

来安县| 海兴县| 嘉鱼县| 光泽县| 东乌珠穆沁旗| 宝丰县| 德清县| 南丹县| 广州市| 平和县| 黄陵县| 凤城市| 大安市| 金华市| 鄂托克前旗| 重庆市| 会宁县| 油尖旺区| 土默特右旗| 新野县| 江源县| 城固县| 庆云县| 平陆县| 宽甸| 雷州市| 桦南县| 资中县| 稷山县| 祁门县| 嵩明县| 宁德市| 奉节县| 繁峙县| 闵行区| 岑溪市| 尼玛县| 汶上县| 新闻| 永川市| 五原县|