머신러닝에서 가설검정을 어떻게 활용하는가

2021-07-08

.

Data_Preprocessing_TIL(20210708)

[학습자료]

패스트캠퍼스 온라인 강의 “파이썬을 활용한 데이터 전처리 Level UP 올인원 패키지 Online.” 를 공부하고 정리한 내용입니다.

URL : https://fastcampus.co.kr/data_online_preprocess

[학습내용]

  • 피쳐 정의 및 추출

가설검정을 가장 많이 사용하는 경우가 피쳐를 정의하고 추출할때이다.

예측 및 분류라는 지도학습에서 효과적인 피쳐를 정의하고, 추출하는 프로세스는 다음과 같다.

도메인 기반으로 피쳐 정의 ---> 데이터 수집 및 추출 ---> 가설 검정을 통한 피쳐 효과 검정

도메인 기반으로 피쳐 정의 : 그 분야의 지식을 활용해서 어떤 피쳐를 쓸건지 의사결정

데이터 수집 및 추출 : 도메인 기반으로 피쳐 정의한 내용을 바탕으로 데이터를 수집 및 추출

가설 검정을 통한 피쳐 효과 검정 : 가설검정을 수행하여 수집한 데이터 피쳐의 효과가 있는지 없는지 확인

ex) 아이스크림 판매량 예측

기온 변수 정의 ---> 기상 데이터 수집 ---> 기온 변수와 아이스크림 판매량 간 상관분석

기온 변수 정의 : 기온이 높으면 아이스크림 판매량이 높지 않을까 하는 특정 분야의 지식을 활용해서 기온이라는 피쳐를 쓰기로 의사결정

기상 데이터 수집 : 기온 변수를 사용하기 위한 기상 데이터 수집

기온 변수와 아이스크림 판매량 간 상관분석 : 기온 데이터와 아이스크림 판매량 모두 연속형 데이터이기 때문에 이 두 변수간 상관분석을 해서 p-value가 0.05 미만이고, 양의 상관관계가 있다고 하면 기온변수를 피쳐로 활용할 수 있는 것이다.

  • 피쳐 선택

피쳐(특징) 선택이란 예측 및 분류에 효과적인 피쳐(특징)을 선택하여 차원을 축소하는 방법

피쳐의 효과성(클래스 관련성)을 측정하기 위해 가설검정에서 사용하는 통계량을 활용한다

아래 그림과 같이 피쳐가 여러개 있을때 각 피쳐에 점수를 매겨서 점수가 높은 피쳐를 선택하는 방법이다. 이때 클래스 관련성이라는 것을 갖고 점수를 매긴다. 클래스 관련성이라는 것은 x와 y의 관계를 나타내는 통계량이다. 만약에 x가 연속형 변수이고, y도 연속형 변수이면 상관계수를 쓸 수 있을 것이고, x가 범주형 변수이고, y도 범주형 변수이면 카이제곱 검정을 쓸 수 있을 것이다. 만약에 x가 연속형 변수이고, y는 범주형 변수이면 anova 검정을 사용할 수 있고, y가 2개 밖에 없다(이진변수)고 하면 독립표본 t검정을 하면 된다.

3

클래스 관련성 척도는 피쳐와 라벨의 유형에 따라 통계량을 선택하면 된다.

4

왜 이진형과 연속형만 있냐 범주형은 왜 없냐 라고 물어볼 수 있는데, 일반적으로 머신러닝에서 범주형 데이터를 그대로 사용하지 않기 때문이다. 범주형 데이터는 이진형 데이터로 쪼개서 작업하기 때문이다.

예를 들어서 시간대(hour)이라는 범주형 변수가 있을때 값들에 따른 판매량 차이를 알고 싶다. 그러면 시간대에 따라 판매량 차이가 있냐 없냐에 따라서 시간대를 피쳐로 쓸수도 있고 안쓸수도 있다. 시간대가 갖고 있는 변수는 총 24개이다. 그리고 시간대에 따른 판매량 데이터가 있을것이다. 시간대에 따른 판매량 차이를 검증하기 위해서 일원분산분석을 사용하면 되고, 그러면 일반적으로 범주형 변수를 24개로 변환할텐데 변수의 개수가 24개로 너무 많으니까 변수를 그룹화 할 것이다. 이때 쓸 수 있는게 일원분산분석에서 했던 사후검정을 사용해서 그룹화를 한다음에 차원축소를 할 수 있다.