91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用python?sklearn畫出決策樹并保存為PDF

發布時間:2022-07-15 10:21:57 來源:億速云 閱讀:276 作者:iii 欄目:開發技術

本篇內容介紹了“怎么使用python sklearn畫出決策樹并保存為PDF”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

利用sklearn畫出決策樹并保存為PDF

下載Graphviz

進入官網下載并安裝

并將下列路徑配置為環境變量:

  • D:\software\Graphviz\bin

在cmd中測試:

  • dot -version

怎么使用python?sklearn畫出決策樹并保存為PDF

python代碼

import numpy as np
import pandas as pd
from sklearn import tree
import graphviz
# x,y是sklearn中需要擬合的數據
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)  # 重要參數可定制
graph = graphviz.Source(dot_data)
graph.render(view=True, format="pdf", filename="decisiontree_pdf")

可以生成一張賊帥的決策樹PDF:

怎么使用python?sklearn畫出決策樹并保存為PDF

python sklearn 決策樹運用

數據形式(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?sklearn畫出決策樹并保存為PDF

python源代碼:

# -*- coding:utf-8*-
# 將字典 轉化為 sklearn 用的數據形式 數據型 矩陣
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
## 數據預處理
featureList = []
labelList = []
for row in reader:
    # print row[-1]
    labelList.append(row[-1])
    # 下面這幾步的目的是為了讓特征值轉化成一種字典的形式,就可以調用sk-learn里面的DictVectorizer,直接將特征的類別值轉化成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的轉化,直接用preprocessing的LabelBinarizer方法
lb = preprocessing.LabelBinarizer()
dummyY = lb.fit_transform(labelList)
print("dummyY:"+str(dummyY))
print("labelList:"+str(labelList))

#criterion是選擇決策樹節點的 標準 ,這里是按照“熵”為標準,即ID3算法;默認標準是gini index,即CART算法。
clf = tree.DecisionTreeClassifier()
clf = clf.fit(dummyX,dummyY)
print("clf:"+str(clf))
# 導入相關函數,可視化決策樹
# 導出的結果是一個dot文件(在系統默認路勁),需要安裝Graphviz才能將它住哪華為PDF或png格式
# 輸出的dot文件可以使用graphvize軟件轉為PDF,graphvize安裝目錄中的bin目錄放入到環境變量的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)

“怎么使用python sklearn畫出決策樹并保存為PDF”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

涞水县| 多伦县| 邵武市| 同心县| 巴中市| 光山县| 伽师县| 义马市| 安平县| 霞浦县| 田阳县| 石屏县| 青龙| 临漳县| 松溪县| 蕲春县| 梁河县| 班玛县| 张掖市| 历史| 个旧市| 敦煌市| 咸丰县| 松江区| 庆安县| 伊吾县| 云阳县| 栾川县| 锡林郭勒盟| 鲜城| 深圳市| 诏安县| 芷江| 淮滨县| 大关县| 邵武市| 宜城市| 青海省| 中阳县| 上杭县| 玉山县|