这个例子展示了如何绘制不同分类算法的决策面。
载入费雪的虹膜数据集。
负载fisheririsX =量(:,1:2);y =分类(物种);标签=类别(y);
X
是一个数字矩阵,包含两个花瓣测量150个鸢尾。Y
是包含相应虹膜种类的字符向量的细胞阵列。
使用散点图可视化数据。将变量按虹膜种类分组。
gscatter (X (: 1) X(:, 2),物种,“rgb”,osd的);包含(“花萼长度”);ylabel (萼片宽的);
训练四个不同的分类器,并将模型存储在单元数组中。
classifier_name = {“天真的贝叶斯,“判别分析”,分类树的,“最近邻”};
训练朴素的贝叶斯模型。
分类器{1}= fitcnb (X, y);
训练判别分析分类器。
分类器{2}= fitcdiscr (X, y);
训练分类决策树。
分类器{3}= fitctree (X, y);
训练k最近的邻居分类器。
分类器{4}= fitcknn (X, y);
在实际数据值的某些界限内创建一个跨越整个空间的点网格。
x1range = min (X(: 1)): . 01:马克斯(X (: 1));x2range = min (X(:, 2)): . 01:马克斯(X (:, 2));[xx1, xx2] = meshgrid(x1range,x2range);XGrid = [xx1(:) xx2(:)];
预测每次观察的虹膜种类XGrid
使用分类器。绘制结果的散点图。
为i = 1:numel(classifier) predictedspecies = predict(classifier{i},XGrid);次要情节(2,2,我);gscatter(民(:),xx2 (:), predictedspecies,“rgb”);标题(classifier_name{我})传奇从,轴紧结束传奇(标签,“位置”, (0.35, 0.01, 0.35, 0.05),“定位”,“水平”)
每种分类算法生成不同的决策规则。决策面可以帮助您可视化这些规则。