决策树是一类常见的机器学习方法。它把分类和回归问题归结为做出一系列子决策,通过一系列子决策组合得到的结果来做出最终决策。决策树表现为一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。

import numpy as np
from sklearn import tree
x = np.array([[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1],
[1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1]])
y = [0, 1, 1, 1, 2, 3, 3, 4]
# 创建决策树分类器
clf = tree.DecisionTreeClassifier()
# 拟合
clf.fit(x, y)
# 分类
print(clf.predict([[1, 0, 0]]))
# 导出决策树
data = tree.export_graphviz(clf, out_file=None)
print(data)