1,Graphvi安裝
[1]安裝包下載地址見此鏈接。[科學上網]下載速度比較快
[2]下載完msi之後,安裝在這個anaconda的路徑下。我的路徑是
E:\anaconda1\Lib\site-packages\
然後就安裝就好了,首先測試一下pyhton是否能夠 import。下面截圖說明可以用。
然後找一下Graphviz.exe的路徑,直接在開始界面找一下路徑就行了[anaconda包太多了不好找],路徑是
E:\anaconda1\Lib\site-packages\bin\
把上面的路徑添加到系統變量中。然後再測試這個是否安裝好。
dot -version 下面這樣就是可以用。
2,決策樹的使用
沒辦法給數據,請自己拿紙鳶花試一試吧。
import pandas as pd
from sklearn import preprocessing
from sklearn.decomposition import PCA
import numpy as np
from sklearn import preprocessing
from sklearn.model_selection import train_test_split
from sklearn import metrics as ms
from sklearn import tree
import graphviz
data = pd.read_csv('C:\\Users\\happy\\Desktop\\t.csv')
y = data['label']
x = data[:,1:30]
########預處理#############
min_max_scaler = preprocessing.MinMaxScaler()
X_train = min_max_scaler.fit_transform(x)
pca = PCA(n_components=20) #保留的特徵 PCA降維
X_train = pca.fit_transform(X_train)
########## 隨機打亂#################
def dataset_split(X_train,y):#將訓練集和樣本分別代入函數
x_train, x_test, y_train, y_test = train_test_split(X_train,y,\
test_size=0.1,random_state=0)
return x_train, x_test, y_train, y_test #返回訓練樣本,測試樣本,訓練標籤,測試標籤
x_train, x_test, y_train, y_test = dataset_split(X_train,y)
###############模型###########
dtc = tree.DecisionTreeClassifier(criterion="entropy")
clf = dtc.fit(x_train, y_train)
#print(clf.predict(x_test))
#print(y_test)
print('精確率',ms.precision_score(y_test, clf.predict(x_test),average='micro'))
dot_data = tree.export_graphviz(clf, out_file=None)
#print(dot_data)
graph = graphviz.Source(dot_data)
#print(graph)
os.environ["PATH"] += os.pathsep + 'C:\\Users\\happy\\Desktop\\'
graph.render("test", view=True)
最後的圖[未顯示全部]: