一,决策树概念

通过分支进行判断结果,而这些分支就是特征,如果重要的特征在根节点,就能有效的减少决策次数。所以决策树的问题在于如何高效的构建决策树。

二。 信息论

1.信息熵 -代表信息(结果)的不确定性

 2.信息增益 当确定某个特征后,信息熵改变的大小(信息熵-条件熵)

 三。sklearn决策树

 1 from sklearn.datasets import load_iris
 2 from sklearn.model_selection import train_test_split
 3 from sklearn.tree import DecisionTreeClassifier,export_graphviz
 4 import pydotplus
 5
 6 def decision_iris():
 7     """
 8     用决策树对鸢尾花进行分类
 9     :return:
10     """
11     #1.获取数据集
12     iris=load_iris()
13     #2.划分数据集
14     x_train,x_test,y_train,y_test=train_test_split(iris.data,iris.target)
15     #3.决策树预估器
16     estimator=DecisionTreeClassifier(criterion="entropy")
17     estimator.fit(x_train,y_train)
18     #4.模型评估
19     y_predict=estimator.predict(x_test)
20     print("y_predict:\n",y_test)
21     print("直接对比真实值和预测值",y_predict==y_test)
22     score=estimator.score(x_test,y_test)
23     print("准确率为:",score)
24     #可视化决策树
25     export_graphviz(estimator,out_file="iris_tree.dot",feature_names=iris.feature_names)
26     graph=pydotplus.graph_from_dot_file("iris_tree.dot")
27     graph.write_pdf('iris.pdf')
28
29 if __name__ == "__main__":
30     decision_iris()

 四。用决策树预测泰坦尼克号人员生存

01-09 02:52