判别分析分类
判别分析是一种分类方法。它假设不同类基于不同高斯分布生成数据。
为了训练(创建)分类器,拟合函数估计每个类的高斯分布的参数(请参阅Creating Discriminant Analysis Model)。
为了预测新数据的类,经过训练的分类器会找到具有最小误分类代价的类(请参阅Prediction Using Discriminant Analysis Models)。
线性判别分析也称为费舍尔判别,以其发明者罗纳德·费舍尔爵士命名 [1]。
创建判别分析分类器
此示例说明如何训练基本的判别分析分类器来对费舍尔的鸢尾花数据进行分类。
加载数据。
load fisheriris创建一个默认(线性)判别分析分类器。
MdlLinear = fitcdiscr(meas,species);
要可视化数据的二维线性分类的分类边界,请参阅Create and Visualize Discriminant Analysis Classifier。
对具有平均测量值的鸢尾花进行分类。
meanmeas = mean(meas); meanclass = predict(MdlLinear,meanmeas)
meanclass = 1×1 cell array
{'versicolor'}
创建一个二次分类器。
MdlQuadratic = fitcdiscr(meas,species,'DiscrimType','quadratic');
要可视化数据的二维二次分类的分类边界,请参阅Create and Visualize Discriminant Analysis Classifier。
使用二次分类器对具有平均测量值的鸢尾花进行分类。
meanclass2 = predict(MdlQuadratic,meanmeas)
meanclass2 = 1×1 cell array
{'versicolor'}
参考
[1] Fisher, R. A. "The Use of Multiple Measurements in Taxonomic Problems." Annals of Eugenics, Vol. 7, pp. 179–188, 1936. Available at https://digital.library.adelaide.edu.au/dspace/handle/2440/15227.