1.决策树:是一种非参数的有监督学习方法,它能从一系列有特征和标签的数据中中介决策规则,并用树状图的结构来表示这些结构。
2.sklearn基本建模流程
实例化对象—>通过模型接口训练模型–>通过模型接口提取需要的信息
在这个流程下面,分类树的代码:
from sklearn import tree #从sklearn导入树模型
clf = tree.DecisionTreeClassifier() #实例化
clf = clf.fit(X_train,Y_train) #用训练集数据训练模型
score = clf.score(X_test,Y_test) #导入测试集,从接口中调用需要的信息。
3.红酒数据集和DecisionTreeClassifier()
from sklearn import tree #从sklearn里面导入树
from sklearn.datasets import load_wine# 从sklearn的数据集里面导入红酒数据集
from sklearn.model_selection import train_test_split #train_test_split可返回切分的数据集train/test
wine = load_wine()#将红酒数据集命名为wine
wine.target#显示红酒数据集的标签
import pandas as pd #将wine显示为表的形式
pd.concat([pd.DataFrame(wine.data),pd.DataFrame(wine.target)],axis=1)
Xtrain , Xtest, Ytrain, Ytest = train_test_split(wine.data,wine.target,test_size=0.3)
clf = tree.DecisionTreeClassifier(criterion="entropy")
clf = clf.fit(Xtrain,Ytrain)
score = clf.score(Xtest,Ytest)
score#返回预测的准确值
import graphviz#画出决策树来
dot_data = tree.export_graphviz(clf
# ,feature_names = feature_name
,class_names=["清酒","伏尔加","贝尔摩德"]
,filled =True
,rounded=True)
graph = graphviz.Source(dot_data)#画树
graph
[*zip(feature_name,clf.feature_importances_)]#显示每个特征的重要性