加载数据集
from sklearn.datasets import load_iris #没有括号
sklearn.datasets.load_*() #小规模数据集
sklearn.datasets.fetch_*(datahome=None,subset='train'/'test'/'all') #大规模数据集
数据集的返回值
- 数据类型:datasets.base.Bunch(字典格式)
- 键:data(二维数组),target(标签数组),DESCR(数据描述),feature_names(特征名),target_names(标签名)
dict['key']=values
bunch.key=values
数据集的划分,一部分训练,一部分测试
测试集20%-30% 默认0.25
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.2,random_state=22)
返回值顺序:训练集特征值,测试集特征值,训练集目标值,测试集目标值
决策树划分依据
class sklearn.tree.DecisionTreeClassifier(criterion='gini',max_depth =None,random_state=None) #信息增益可改为entropy
模型评估
#直接对比真实值和预测值
y_predict = estimator.predict(x_test)
print("y_predict",y_predict)
print(y_test == y_predict)
#计算准确率
score = estimator.score(x_test,y_test)
print(score)
决策树可视化
from sklearn.tree import export_graphviz
export_graphviz(estimator,out_file='iris_tree.dot',feature_names=iris.feature_names)
http://webgraphviz.com/