yufeng0528 лет назад: 4
Родитель
Сommit
0ce174fbc2
1 измененных файлов с 40 добавлено и 0 удалено
  1. 40 0
      tree/example.py

+ 40 - 0
tree/example.py

@@ -0,0 +1,40 @@
1
+#!/usr/bin/python
2
+# -*- coding: UTF-8 -*-
3
+
4
+from sklearn import tree
5
+from sklearn.datasets import load_wine
6
+from sklearn.model_selection import train_test_split
7
+
8
+import graphviz
9
+
10
+wine = load_wine()
11
+print(wine.data.shape) #178*13
12
+print(wine.target)
13
+#如果wine是一张表,应该长这样:
14
+import pandas as pd
15
+pdata = pd.concat([pd.DataFrame(wine.data),pd.DataFrame(wine.target)],axis=1)
16
+
17
+print(wine.feature_names)
18
+print(wine.target_names)
19
+
20
+Xtrain, Xtest, Ytrain, Ytest = train_test_split(wine.data,wine.target,test_size=0.3)
21
+clf = tree.DecisionTreeClassifier(criterion="entropy")#实例化,criterion不写的话默认是基尼系数
22
+clf = clf.fit(Xtrain, Ytrain)
23
+score = clf.score(Xtest, Ytest) #返回预测的准确度
24
+print("score:", score)
25
+
26
+feature_name = ['酒精', '苹果酸', '灰', '灰的碱性', '镁', '总酚', '类黄酮', '非黄烷类酚类', '花青素', '颜色强度', '色调', 'od280/od315稀释葡萄酒', '脯氨酸']
27
+
28
+
29
+dot_data = tree.export_graphviz(clf
30
+                                # ,out_file = None
31
+                                , feature_names=feature_name
32
+                                , class_names=["琴酒", "雪莉", "贝尔摩德"]
33
+                                , filled=True  # 让树的每一块有颜色,颜色越浅,表示不纯度越高
34
+                                , rounded=True  # 树的块的形状
35
+                                )
36
+dot_data = dot_data.replace('helvetica', '"Microsoft YaHei"')
37
+graph = graphviz.Source(dot_data)
38
+graph.render("Tree")
39
+graph  # graph.view()
40
+