zoukankan      html  css  js  c++  java
  • 决策树

    一,决策树概念

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

    二。 信息论

    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:
    ",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()

     

     

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

     

  • 相关阅读:
    【Swing】简单的计算器
    【SQL】嵌套查询与子查询
    【网络协议抓包分析】TCP传输控制协议(连接建立、释放)
    【网络协议抓包分析】IP互联网协议
    ******常见数据库笔试题*****
    OSI参考模型 VS TCP/IP参考模
    TCP/IP四层模型
    数组实现栈的功能
    子网掩码怎么计算
    C# 启动和结束一个线程
  • 原文地址:https://www.cnblogs.com/sclu/p/11765369.html
Copyright © 2011-2022 走看看