graphviz
下载地址:
Graphviz - Graph Visualization Software
链接:http://pan.baidu.com/s/1slwQCwd 密码:dt7r
使用方式:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAnYldHL0FWby9mZvwFN4ETMfdHLkVGepZ2XtxSZ6l2clJ3LcV2Zh1Wa9M3clN2byBXLzN3btgHL9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsQTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iM2ADM4EzM0YWYjVTO1IWNzYzX2UzMyITM4IzLcBTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
决策树
思路
1. 一维,计算entropy => 特征选择标准
2. 添加维度,选择information Gain最大
3. if,else
DecisionTreeClassifier 重要参数调参注意点
鸢尾花 决策树(分类器)
from sklearn.datasets import load_iris
from sklearn import tree
iris = load_iris()
# iris.data
# iris.target
clf = tree.DecisionTreeClassifier()
clf.fit(iris.data, iris.target)
clf.predict(iris.data)
tree.export_graphviz(clf, out_file='tree.dot')
决策边界(等高线图)
import numpy as np
import matplotlib.pyplot as plt
iris = load_iris()
X = iris.data[:, [2,3]]
Y = iris.target
clf = tree.DecisionTreeClassifier(max_depth=2)
clf.fit(X, Y)
x0_min, x0_max = X[:, 0].min() - 1, X[:, 0].max() + 1
x1_min, x1_max = X[:, 1].min() - 1, X[:, 1].max() + 1
# 产生一个以向量xx为行,向量yy为列的矩阵
xx, yy = np.meshgrid(np.arange(x0_min, x0_max, 0.1),
np.arange(x1_min, x1_max, 0.1)) # 等高线的网格数据
plt.plot()
plt.contourf(xx, yy , Z, alpha=0.5, cmap=plt.cm.rainbow) #alpha 透明度,cmap 颜色
plt.scatter(X[:, 0], X[:, 1], c=Y, alpha=1, cmap=plt.cm.RdYlBu) #c 颜色序列
plt.title('Decision Tree')
plt.xlabel('Petal.Length')
plt.ylabel('Petal.Width')
plt.show()
Set The Color Of A Matplotlib Plot