决策树程序算法

import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
import pydotplus
from IPython.display import Image,display
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn import tree

iris=load_iris()
X=pd.DataFrame(iris.data,columns=iris.feature_names)
y=pd.DataFrame(iris.target,columns=['target'])

X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=0)

clf=DecisionTreeClassifier(criterion='entropy',max_depth=4)
clf.fit(X_train,y_train)

y_test_pred=clf.predict(X_test)
y_train_pred=clf.predict(X_train)

print("训练数据准确率:",accuracy_score(y_train,y_train_pred))
print("训练数据准确率:",accuracy_score(y_test, y_test_pred))

##树结构可视化
dot_data=tree.export_graphviz(clf,
                              feature_names=iris.feature_names,
                              class_names=iris.target_names,
                              filled=True,
                              rounded=True)
graph=pydotplus.graph_from_dot_data(dot_data)
display(Image(graph.create_png()))

猜你喜欢

转载自blog.csdn.net/Liang_1_/article/details/129833437