机器学习算法1:决策树

【【以鸢尾花数据集为例,执行决策树模型】】

from
sklearn import datasets import numpy as np iris = datasets.load_iris() //导入sklearn 包中自带的鸢尾花 数据集,这是一个包含了三种鸢尾花(山鸢尾、维吉尼亚鸢尾和变色鸢尾)的各50个数据样本的多元数据集,每个样本都有四个特征(或者说变量)。 data= iris.data // n行4列的数组(样本量为n) target= iris.target // 1行n列的数组,unique取值为0,1,2 from sklearn.model_selection import cross_validate from sklearn.model_selection import train_test_split train, test, t_train, t_test = train_test_split(data, target,test_size=0.2, random_state=0) # target:所要划分的样本结果。 # test_size:样本占比,如果是整数的话就是样本的数量。 # random_state:随机数种子,在需要重复试验的时候,保证得到一组一样的随机数。比如每次都填1,其他参数一样的情况下你得到的随机数组是一样的。但填0或不填,每次都会不一样。 #stratify:是为了保持split前类的分布。将stratify=X就是按照X中的比例分配 ,将stratify=y就是按照y中的比例分配 。 from sklearn import metrics from sklearn.tree import DecisionTreeClassifier //导入决策树模型 model = DecisionTreeClassifier() model.fit(train,t_train) //第一个数组为训练数据,第二个数组为类别标签 expected = t_test predicted = model.predict(test) //使用决策树模型来预测,获得预测值 # summarize the fit of the model print(metrics.classification_report(expected, predicted)) //报告精确度、召回率、F1指数、准确度 print(metrics.confusion_matrix(expected, predicted)) //报告n行n列的数组,行为预测标签,列为实际标签

//报告结果//
False Negative和False Positive都为0,测试集的所有样本都得到了正确的预测
测试集中有11个0类,13个1类,6个2类,预测标签与实际标签全部一致

 

 

 

posted @ 2021-01-19 01:37  venko  阅读(27)  评论(0)    收藏  举报