판별분석 분류
판별분석은 분류의 한 방법입니다. 이 방법에서는 여러 클래스가 각기 다른 가우스 분포를 기반으로 하여 데이터를 생성한다고 가정합니다.
분류기를 훈련(생성)시키기 위해 피팅 함수가 각 클래스에 대해 가우스 분포의 모수를 추정합니다(Creating Discriminant Analysis Model 참조).
새 데이터의 클래스를 예측하기 위해 훈련된 분류기는 최소 오분류 비용을 갖는 클래스를 찾습니다(Prediction Using Discriminant Analysis Models 참조).
선형 판별분석은 창안자인 피셔경(Sir R. A. Fisher) [1]의 이름을 따서 피셔 판별분석(Fisher Discriminant)이라고도 합니다.
판별분석 분류기 만들기
이 예제에서는 피셔의 붓꽃 데이터에 있는 붓꽃을 분류하도록 기본 판별분석 분류기를 훈련시키는 방법을 보여줍니다.
데이터를 불러옵니다.
load fisheriris
디폴트(선형) 판별분석 분류기를 만듭니다.
MdlLinear = fitcdiscr(meas,species);
데이터에 대한 2차원 선형 분류의 분류 경계를 시각화하려면 Create and Visualize Discriminant Analysis Classifier 항목을 참조하십시오.
평균 측정값을 기준으로 붓꽃을 분류합니다.
meanmeas = mean(meas); meanclass = predict(MdlLinear,meanmeas)
meanclass = 1x1 cell array
{'versicolor'}
2차 분류기를 만듭니다.
MdlQuadratic = fitcdiscr(meas,species,'DiscrimType','quadratic');
데이터에 대한 2차원 2차 분류의 분류 경계를 시각화하려면 Create and Visualize Discriminant Analysis Classifier 항목을 참조하십시오.
2차 분류기를 사용하여 평균 측정값을 기준으로 붓꽃을 분류합니다.
meanclass2 = predict(MdlQuadratic,meanmeas)
meanclass2 = 1x1 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.