基于决策树对鸢尾花进行分类

编程入门 行业动态 更新时间:2024-10-28 02:27:04

基于决策树对鸢尾花<a href=https://www.elefans.com/category/jswz/34/1751992.html style=进行分类"/>

基于决策树对鸢尾花进行分类

决策树的划分依据:信息增益

特征A对训练数据集D的信息增益g(D,A),定义为集合D的信息熵H(D)与特征A给定条件下D的信息条件熵H(D|A)之差,公式为:

                                g(D,A) = H(D) - H(D|A)

注:信息增益表示得知特征X的信息而使得类Y的信息的不确定性减少的程度

决策树的优缺点

优点:可视化——可解释能力强

缺点:容易产生过拟合

代码如下:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier,export_graphvizdef decision_iris():#1)获取数据集iris = load_iris()#2)划分数据集x_train, x_test, y_train, y_test = train_test_split(iris.data,iris.target,random_state=22)#3)决策树预估器estimator = DecisionTreeClassifier(criterion="entropy")estimator.fit(x_train,y_train)#4)模型评估#方法1 直接比对真实值和预测值y_predict = estimator.predict(x_test)print("y_predict:\n",y_predict)print("直接比对真实值和预测值:\n",y_test==y_predict)#方法2 计算准确率score = estimator.score(x_test,y_test)print("准确率为:\n",score)return  None
if __name__ =="__main__":decision_iris()

结果如下:

若要进行可视化操作,需要在最后加入如下代码:

    #可视化决策树export_graphviz(estimator,out_file="iris_tree.dot",feature_names=iris.feature_names)

运行完程序会生成一个iris_tree.dot文件,将文件内信息复制到。

更多推荐

基于决策树对鸢尾花进行分类

本文发布于:2023-06-23 07:02:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/845346.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:进行分类   鸢尾花   决策树

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!