<Feature Selection>
: 가장 좋은 성능을 보여줄 수 있는 데이터의 부분 집합을 찾아내는 방법
-> 모델 생성에 밀접한 데이터의 부분 집합을 선택하여 연산 효율성 및 모델 성능을 확보
목적 및 필요성
-> 연산 효율성 : 원본 데이터에서 가장 유용한 특징만을 선택하여 간단한 모델 구성 및 성능을 확보하고자 하는 것이 주요 목적
특징 생성 방안
1.필터
: 특징들에 대한 통계적 점수를 부여하여 순위를 매기고 선택하는 방법론
: 실행속도가 빠르다는 측면에서 시간 및 비용 측면의 장점을 보임
1) 카이제곱 필터
- 범주형인 독립 및 종속 변수 간의 유의미성을 도출하기 위한 통계적 방안
- 연속형 변수를 이산화(범주)를 하여 활용 가능
2) 상관관계 필터
- 연속형인 독립 및 종속변수 간 유의미성을 도출하기 위한 통계적 방안
- 보통 임계치 설정하여 변수 선택
2.래퍼
: 특징들의 조합을 지도학습 기반 알고리즘에 반복적으로 적용하여 특징을 선택하는 방법론
: 최적의 데이터 조합을 찾기 때문에 성능 관점 상 유용하나 시간과 비용 크게 발생
-> 원본 데이터 내 변수 간 조합을 탐색하여 특징 선택
반복적 특징 조합 탐색
- 원본 데이터 셋 내 변수들의 다양한 조합을 모델에 적용하는 방식
- 최적의 부분 데이터 집합을 도출하는 방법론
- 대표적 방식으로 재귀적 특성 제거 존재
3.임베디드
: 모델 정확도에 기여하는 특징들을 선택하는 방법으로 1,2의 장점을 결합한 방법
: 모델의 학습 및 생성과정에서 최적의 특징을 선택하는 방안
모델 기반 특징 선택
- 알고리즘 내 자체 내장 함수로 특징을 선택하는 방식으로, 모델 성능에 기여하는 특징을 도출
- 모든 조합을 고려하고 결과를 도출하는 2와 달리 학습과정에서 최적화된 변수를 선택
- 트리 계열 모델 기반의 특징 선택이 대표적 (랜덤포레스트 기반 Feature Importance 기반)
랜덤포레스트 모형 기반의 알고리즘
보루타 알고리즘
-> 기존 데이터 임의로 복제하여 랜덤 변수(shadow)를 생성하고 원 자료와 결합하여 랜덤포레스트 모형에 적용
-> shadow보다 중요도가 낮을 경우 중요하지 않은 변수로 판단 후 제거
'데이터 분석' 카테고리의 다른 글
시각화 라이브러리 (0) | 2023.08.20 |
---|---|
시계열 데이터 처리 (0) | 2023.08.19 |
데이터 변환 - 특징 생성 (0) | 2023.08.02 |
데이터 변환 - 정규화, 구간화 (0) | 2023.08.02 |
데이터 정제 - 결측 / 이상 데이터 처리 (0) | 2023.08.01 |