机器学习决策树sklearn实现

129 阅读1分钟

决策树(DTs)是一种用于分类和回归的非参数有监督学习方法。其目标是创建一个模型,通过学习从数据特性中推断出的简单决策规则来预测目标变量的值。 决策树的一些优点: 1.易于理解和解释。树可以被可视化。 2.能够处理多输出问题。 3.使用白盒模型。如果给定的情况在模型中是可以观察到的,那么对条件的解释就很容易用布尔逻辑来解释。相反,在黑箱模型中(例如,在人工神经网络中),结果可能很难解释。 4.可以使用统计测试验证模型。这样就有可能对模型的可靠性作出解释。 5.即使它的假设在某种程度上被生成数据的真实模型所违背,它也表现得很好。

DecisionTreeClassifier 是一个能够在数据集上执行多类分类的类。

X = [[0, 0], [1, 1]]
Y = [0, 1]
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, Y)

clf.predict([[2., 2.]])
#输出:array([1])

clf.predict_proba([[2., 2.]])

from sklearn import tree
X = [[0, 0], [1, 1]]
Y = [0, 1]
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, Y)

clf.predict([[2., 2.]])
#输出:array([1])

clf.predict_proba([[2., 2.]])
from IPython.display import Image
import pydotplus
from sklearn import tree
# 可视化决策树
dot_data = tree.export_graphviz(clf, out_file=None,
                               filled=True, rounded=True,
                               special_characters=True)
graph = pydotplus.graph_from_dot_data(dot_data)
graph.write_png("out.png")


7fff738b7f9d48d1b40ec7df73b7f0e4.png