기능 선택(데이터 마이닝)
기능 선택은 데이터 마이닝에서 처리 및 분석을 위해 입력을 관리하기 쉬운 크기로 축소할 수 있는 도구와 기술을 설명할 때 일반적으로 사용되는 용어입니다. 기능 선택은 모델을 작성할 때 고려할 수 있는 특성의 수에 임의의 제한 또는 미리 정의된 제한을 적용하는 카디널리티 축소뿐 아니라, 분석에 대한 유용성을 기반으로 분석가 또는 모델링 도구가 특성을 직접 선택하거나 삭제하는 특성 선택도 의미합니다.
데이터 집합에는 모델을 작성하는 데 필요한 것보다 훨씬 많은 정보가 자주 포함되기 때문에 기능 선택을 적용하는 기능은 효과적인 분석에 중요합니다. 예를 들어, 데이터 집합에 고객의 특성을 설명하는 열이 500개 있지만 일부 열에 데이터가 매우 드물 경우 해당 열을 모델에 추가하여 얻는 이점이 거의 없을 수 있습니다. 모델을 작성하는 동안 불필요한 열을 그대로 둘 경우 학습 프로세스에 더 많은 CPU와 메모리가 필요하고 완료된 모델에 더 많은 저장 공간이 필요합니다.
리소스가 문제 되지 않는 경우라도 불필요한 열은 다음과 같은 이유로 검색된 패턴의 품질을 떨어뜨리므로 일반적으로 제거하는 것이 좋습니다.
일부 열에 잡음이 있거나 중복됩니다. 이러한 잡음이 있으면 데이터에서 의미 있는 패턴을 찾아내기가 더 어려워집니다.
양질의 패턴을 찾아내기 위해 대부분의 데이터 마이닝 알고리즘은 고차원 데이터 집합에 대해 훨씬 큰 학습 데이터 집합을 요구합니다. 하지만 일부 데이터 마이닝 응용 프로그램에서는 학습 데이터가 매우 작습니다.
데이터 원본의 500개 열 중에서 50개 열에만 모델 작성에 유용한 정보가 있을 경우 이러한 열을 모델에 포함하지 않거나, 기능 선택 기술을 사용하여 최상의 기능을 자동으로 검색하고 통계적으로 중요하지 않은 값을 제외할 수 있습니다. 기능 선택은 중요하지 않은 데이터가 너무 많거나, 매우 중요한 데이터가 너무 적은 두 가지 문제를 해결하는 데 도움이 됩니다.
Analysis Services 데이터 마이닝의 기능 선택
일반적으로 기능 선택은 Analysis Services에서 자동으로 수행되며 각 알고리즘에는 기능 축소를 지능형으로 적용하기 위한 기본 기술 집합이 있습니다. 기능 선택은 모델에 사용될 가능성이 가장 높은 특성을 데이터 집합에서 자동으로 선택하기 위해 모델을 학습하기 전에 항상 수행됩니다. 하지만 기능 선택 동작에 영향을 주는 매개 변수를 수동으로 설정할 수도 있습니다.
일반적으로 기능 선택은 각 특성에 대한 점수를 계산한 다음 점수가 가장 높은 특성만 선택하는 방식으로 작동합니다. 최고 점수에 대한 임계값도 조정할 수 있습니다. Analysis Services에서는 이러한 점수를 계산하기 위한 여러 방법을 제공하며 특정 모델에 적용되는 정확한 방법은 다음 요소에 따라 결정됩니다.
모델에 사용되는 알고리즘
특성의 데이터 형식
모델에 설정할 수 있는 모든 매개 변수
기능 선택은 열의 입력, 예측 가능한 특성 또는 상태에 적용됩니다. 기능 선택에 대한 평가가 완료되면 알고리즘이 선택한 특성 및 상태만 모델 작성 프로세스에 포함되며 예측에 사용할 수 있습니다. 기능 선택에 대한 임계값과 일치하지 않는 예측 가능한 특성을 선택할 경우 이 특성을 예측에 사용할 수 있지만 예측은 모델에 있는 글로벌 통계만을 기준으로 수행됩니다.
[!참고]
기능 선택은 모델에 사용된 열에만 영향을 미치며 마이닝 구조 저장소에는 영향을 미치지 않습니다. 마이닝 모델에서 제외된 열은 계속 구조에서 사용할 수 있으며 마이닝 구조 열의 데이터는 캐시됩니다.
기능 선택 방법 정의
기능 선택을 구현하는 방법에는 여러 가지가 있는데 작업 중인 데이터의 형식과 분석을 위해 선택한 알고리즘에 따라 이 방법이 달라집니다. SQL Server Analysis Services는 널리 사용되고 잘 알려진 특성 점수 매기기 메서드를 여러 개 제공합니다. 알고리즘 또는 데이터 집합에 적용되는 방법은 데이터 형식 및 열 사용법에 따라 다릅니다.
흥미도 점수는 이진이 아닌 연속 숫자 데이터를 포함하는 열의 특성에 순위를 매기고 정렬하는 데 사용됩니다.
불연속 데이터와 분할된 데이터가 들어 있는 열에는 Shannon Entropy 및 두 가지 Bayesian 점수를 사용할 수 있습니다. 하지만 모델에 연속 열이 포함된 경우 일관성을 보장하기 위해 흥미도 점수를 사용하여 모든 입력 열을 평가합니다.
다음 섹션에서는 기능 선택의 각 방법에 대해 설명합니다.
흥미도 점수
유용한 정보를 제공하는 기능은 흥미롭습니다. 무엇이 유용한 정보인지에 대한 정의는 시나리오에 따라 다르기 때문에 데이터 마이닝 업계에서는 흥미도를 측정하는 다양한 방법을 개발했습니다. 예를 들어 새로움은 이상값 검색에 유용하지만, 분류에는 밀접하게 관련된 항목들을 판별하는 능력, 즉 판별 가중치가 더 유용할 수 있습니다.
SQL Server Analysis Services에 사용되는 흥미도 측정은 Entropy를 기반으로 하는데 이는 분포가 고르지 않은 특성의 경우 Entropy는 많지만 정보 획득량은 적음을 의미합니다. 따라서 이러한 특성의 흥미도는 낮습니다. 특정 특성에 대한 Entropy는 다음과 같이 다른 모든 특성의 Entropy와 비교됩니다.
Interestingness(Attribute) = - (m - Entropy(Attribute)) * (m - Entropy(Attribute))
중앙 Entropy 또는 m은 전체 기능 집합의 Entropy를 의미합니다. 중앙 Entropy에서 대상 특성의 Entropy를 뺀 값으로 특성이 제공하는 정보량을 평가할 수 있습니다.
이 점수는 기본적으로 이진이 아닌 연속 숫자 데이터가 열에 포함되어 있는 경우 항상 사용됩니다.
Shannon Entropy
Shannon Entropy는 특정 결과에 대한 불규칙 변수의 불확실성을 측정합니다. 예를 들어 동전 던지기에 대한 Entropy는 동전 앞면이 나올 확률에 대한 함수로 표시할 수 있습니다.
Analysis Services에서는 다음 수식을 사용하여 Shannon Entropy를 계산합니다.
H(X) = -∑ P(xi) log(P(xi))
이 평가 방법은 불연속 특성과 분할된 특성에 사용할 수 있습니다.
Bayesian with K2 Prior
Analysis Services에서는 Bayesian 네트워크를 기반으로 하는 두 개의 기능 선택 점수를 제공합니다. Bayesian 네트워크는 상태 및 상태 전환에 대한 방향 또는 비순환 그래프로, 항상 현재 상태 앞에 오는 상태도 있고 현재 상태 뒤에 오는 상태도 있으며 그래프가 반복되거나 순환되지 않음을 의미합니다. 정의에 따라 Bayesian 네트워크에서는 사전 지식을 활용할 수 있습니다. 그러나 이후 상태에 대한 확률을 계산하는 데 사용할 이전 상태가 어떤 것인가는 알고리즘 설계, 성능 및 정확도에 중요합니다.
Bayesian 네트워크를 통한 학습을 위해 고안된 K2 알고리즘은 Cooper와 Herskovits가 개발하였으며 데이터 마이닝에 자주 사용됩니다. K2 알고리즘은 확장 가능하며 여러 변수를 분석할 수 있지만 입력으로 사용되는 변수의 정렬을 필요로 합니다. 자세한 내용은 Learning Bayesian Networks(Chickering, Geiger 및 Heckerman 공저)를 참조하십시오.
이 점수 매기기 메서드는 불연속 특성과 불연속화된 특성에 사용할 수 있습니다.
Bayesian Dirichlet Equivalent with Uniform Prior
데이터 집합이 제공된 경우 BDE(Bayesian Dirichlet Equivalent) 점수도 Bayesian 분석을 사용하여 네트워크를 평가합니다. BDE 점수 매기기 메서드는 Heckerman이 개발했으며 Cooper와 Herskovits가 개발한 BD 메트릭을 기반으로 합니다. Dirichlet 분포는 네트워크에 있는 각 변수에 대한 조건부 확률을 설명하는 다차원 분포로 학습에 유용한 속성을 많이 포함합니다.
BDEU(Bayesian Dirichlet Equivalent with Uniform Prior) 메서드는 이전 상태에 대한 고정 분포 및 균일 분포를 만드는 데 수학 상수가 사용되는 Dirichlet 분포의 특수한 사례를 가정합니다. BDE 점수도 데이터가 등가 구조를 판별할 수 없음을 의미하는 가능성 등가를 가정합니다. 다시 말해서 If A Then B에 대한 점수가 If B Then A에 대한 점수와 동일한 경우 데이터를 기반으로 구조를 구별할 수 없으며 인과 관계를 추론할 수 없습니다.
Bayesian 네트워크 및 이러한 점수 매기기 메서드의 구현에 대한 자세한 내용은 Bayesian 네트워크 학습(Learning Bayesian Networks)을 참조하십시오.
Analysis Services 알고리즘에서 사용하는 기능 선택 방법
다음 표에서는 기능 선택을 지원하는 알고리즘, 알고리즘에서 사용하는 기능 선택 방법 및 기능 선택 동작을 제어하기 위해 설정하는 매개 변수를 보여 줍니다.
알고리즘 |
분석 방법 |
설명 |
---|---|---|
Naive Bayes |
Shannon Entropy Bayesian with K2 Prior Bayesian Dirichlet with Uniform prior(기본값) |
Microsoft Naïve Bayes 알고리즘은 불연속 특성 또는 불연속화된 특성을 허용하므로 흥미도 점수를 사용할 수 없습니다. 이 알고리즘에 대한 자세한 내용은 Microsoft Naive Bayes 알고리즘 기술 참조를 참조하십시오. |
의사 결정 트리 |
흥미도 점수 Shannon Entropy Bayesian with K2 Prior Bayesian Dirichlet with uniform prior(기본값) |
이진이 아닌 연속 값이 열에 포함되어 있는 경우 일관성을 보장하기 위해 모든 열에 흥미도 점수가 사용됩니다. 그렇지 않으면 기본 기능 선택 방법이 사용되거나 모델을 만들 때 지정한 방법이 사용됩니다. 이 알고리즘에 대한 자세한 내용은 Microsoft 의사 결정 트리 알고리즘 기술 참조를 참조하십시오. |
신경망 |
흥미도 점수 Shannon Entropy Bayesian with K2 Prior Bayesian Dirichlet with Uniform prior(기본값) |
데이터에 연속 열이 포함된 경우 Microsoft 신경망 알고리즘에서는 Bayesian 및 Entropy 기반 방법을 모두 사용할 수 있습니다. 이 알고리즘에 대한 자세한 내용은 Microsoft 신경망 알고리즘 기술 참조를 참조하십시오. |
로지스틱 회귀 |
흥미도 점수 Shannon Entropy Bayesian with K2 Prior Bayesian Dirichlet with uniform prior(기본값) |
Microsoft 로지스틱 회귀 알고리즘이 Microsoft 신경망 알고리즘을 기반으로 하지만 로지스틱 회귀 모델을 사용자 지정하여 기능 선택 동작을 제어할 수 없습니다. 따라서 기능 선택은 항상 기본적으로 특성에 가장 적합한 방법으로 설정됩니다. 모든 특성이 불연속 특성 또는 불연속화된 특성인 경우 기본값은 BDEU입니다. 이 알고리즘에 대한 자세한 내용은 Microsoft 로지스틱 회귀 알고리즘 기술 참조를 참조하십시오. |
클러스터링 |
흥미도 점수 |
Microsoft 클러스터링 알고리즘은 불연속 데이터 또는 불연속화된 데이터를 사용할 수 있습니다. 그러나 각 특성의 점수가 거리로 계산되고 연속 숫자로 표현되기 때문에 흥미도 점수를 사용해야 합니다. 이 알고리즘에 대한 자세한 내용은 Microsoft 클러스터링 알고리즘 기술 참조를 참조하십시오. |
선형 회귀 |
흥미도 점수 |
Microsoft 선형 회귀 알고리즘은 연속 열만 지원하므로 흥미도 점수만 사용할 수 있습니다. 이 알고리즘에 대한 자세한 내용은 Microsoft 선형 회귀 알고리즘 기술 참조를 참조하십시오. |
연결 규칙 시퀀스 클러스터링 |
사용되지 않음 |
기능 선택은 이러한 알고리즘을 통해 호출되지 않습니다. 그러나 MINIMUM_SUPPORT 및 MINIMUM_PROBABILIITY 매개 변수의 값을 설정하여 알고리즘의 동작을 제어하고 필요한 경우 입력 데이터의 크기를 줄일 수 있습니다. 자세한 내용은 Microsoft 연결 알고리즘 기술 참조 및 Microsoft 시퀀스 클러스터링 알고리즘 기술 참조를 참조하십시오. |
시계열 |
사용되지 않음 |
기능 선택은 시계열 모델에 적용되지 않습니다. 이 알고리즘에 대한 자세한 내용은 Microsoft 시계열 알고리즘 기술 참조를 참조하십시오. |
기능 선택 매개 변수
기능 선택을 지원하는 알고리즘에서 다음 매개 변수를 사용하여 기능 선택 사용 시기를 제어할 수 있습니다. 각 알고리즘에는 허용되는 입력 수에 대한 기본값이 있지만, 이 기본값을 재정의하거나 특성 수를 지정할 수 있습니다. 이 섹션에서는 기능 선택을 관리하기 위해 제공되는 매개 변수를 나열합니다.
MAXIMUM_INPUT_ATTRIBUTES
MAXIMUM_INPUT_ATTRIBUTES 매개 변수에서 지정한 수보다 더 많은 열이 모델에 있는 경우 알고리즘은 필요 없다고 판단되는 모든 열을 무시합니다.
MAXIMUM_OUTPUT_ATTRIBUTES
마찬가지로 MAXIMUM_OUTPUT_ATTRIBUTES 매개 변수에서 지정한 수보다 더 많은 예측 가능한 열이 모델에 있는 경우 알고리즘은 필요 없다고 판단되는 모든 열을 무시합니다.
MAXIMUM_STATES
MAXIMUM_STATES 매개 변수에서 지정한 수보다 더 많은 사례가 모델에 있으면 가장 인기가 없는 상태를 함께 그룹화하여 없는 것으로 처리합니다. 이러한 매개 변수 중 하나를 0으로 설정할 경우 기능 선택이 해제되고 처리 시간 및 성능에 영향을 미칩니다.
기능 선택에 대한 이러한 방법 외에도, 모델에 모델링 플래그를 설정하거나 구조에 분산 플래그를 설정함으로써 의미 있는 특성을 식별하거나 승격시키는 알고리즘 기능을 강화할 수 있습니다. 이러한 개념에 대한 자세한 내용은 모델링 플래그(데이터 마이닝) 및 열 배포(데이터 마이닝)를 참조하십시오.