카이 제곱 검정(Chi-Squared Test)
7.4.3절에서 카이 제곱 검정을 사용한 변수 간 독립 여부 판단에 대해 살펴보았다. 마찬가지 방법을 예측 대상이 되는 분류와 변수 간에 수행하여 변수와 분류 간의 독립성을 검정해볼 수 있다. 만약 둘 간의 관계가 독립이라면 해당 변수는 모델링에 적합하지 않은 것으로 볼 수 있다. 반대로 독립이 아니라면 모델링에 중요한 변수로 볼 수 있다. 카이 제곱 검정을 사용한 변수 선택에는 FSelector::chi.squared( )를 사용한다.
FSelector::chi.squared : 카이 제곱 검정을 사용한 독립성 검정으로 변수의 가중치를 계산한다. |
FSelector::chi.squared( formula, # 모델에 대한 포뮬러 표현 data # 포뮬러를 적용할 데이터 ) 반환 값은 독립성 검정에 따라 구한 변수의 중요도 가중치다. |
다음은 mlbench의 Vehicle 데이터에 대해 FSelector의 chi.squared( )로 변수들의 중요도를 평가하고 그중 세 개의 변수를 선택한 예다.
> library(FSelector) > library(mlbench) > data(Vehicle) > (cs <- chi.squared(Class ~., data=Vehicle)) attr_importance Comp 0.3043172 Circ 0.2974762 D.Circ 0.3587826 Rad.Ra 0.3509038 Pr.Axis.Ra 0.2264652 Max.L.Ra 0.3234535 Scat.Ra 0.4653985 Elong 0.4556748 Pr.Axis.Rect 0.4475087 Max.L.Rect 0.3059760 Sc.Var.Maxis 0.4338378 Sc.Var.maxis 0.4921648 Ra.Gyr 0.2940064 Skew.Maxis 0.3087694 Skew.maxis 0.2470216 Kurt.maxis 0.3338930 Kurt.Maxis 0.2732117 Holl.Ra 0.3886266 > cutoff.k(cs, 3) [1] "Sc.Var.maxis" "Scat.Ra" "Elong"