필터 기반 기능 선택

중요

Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.

2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.

ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.

최대 예측 전원을 사용하는 데이터 집합의 기능 식별

범주: 기능 선택 모듈

참고

적용 대상: Machine Learning Studio(클래식)

유사한 끌어서 놓기 모듈은 Azure Machine Learning 디자이너에서 사용할 수 있습니다.

모듈 개요

이 문서에서는 Machine Learning Studio(클래식)의 필터 기반 기능 선택 모듈을 사용하여 예측 능력이 가장 뛰어난 입력 데이터 세트의 열을 식별하는 방법을 설명합니다.

일반적으로 기능 선택은 지정된 출력이 지정된 입력에 통계 테스트를 적용하여 출력을 더 예측하는 열을 결정하는 프로세스를 나타냅니다. 필터 기반 기능 선택 모듈은 Pearsons 또는 Kendall의 상관 관계, 상호 정보 점수 및 카이 제곱 값과 같은 상관 관계 메서드를 포함하여 선택할 수 있는 여러 기능 선택 알고리즘을 제공합니다. 또한 Machine Learning 기능 값 개수를 정보 값의 지표로 지원합니다.

필터 기반 기능 선택 모듈을 사용하는 경우 데이터 세트를 제공하고 레이블 또는 종속 변수가 포함된 열을 식별한 다음 기능 중요도 측정에 사용할 단일 메서드를 지정합니다.

모듈은 예측 능력이 가장 뛰어난 기능 열이 포함된 데이터 세트를 출력합니다. 또한 선택한 메트릭의 기능 이름과 해당 점수를 출력합니다.

필터 기반 기능 선택란 무엇이며 왜 사용합니까?

선택한 메트릭을 사용하여 관련 없는 특성을 식별하고 모델에서 중복 열을 필터링하기 때문에 기능 선택을 위한 이 모듈을 "필터 기반"이라고 합니다. 데이터에 적합한 단일 통계 측정값을 선택하면 모듈에서 각 기능 열의 점수가 계산됩니다. 열은 기능 점수를 기준으로 반환됩니다.

적절한 기능을 선택하면 분류 정확도와 효율성을 개선할 수 있습니다.

일반적으로 가장 높은 점수의 열만 예측 모델을 작성하는 데 사용합니다. 기능 선택 점수가 낮은 열은 데이터 세트에 남겨지고 모델을 작성할 때 무시될 수 있습니다.

기능 선택 메트릭을 선택하는 방법

필터 기반 기능 선택은 각 열의 정보 값을 평가하기 위한 다양한 메트릭을 제공합니다. 이 섹션에서는 각 메트릭에 대한 일반적인 설명과 메트릭 적용 방법을 제공합니다. 각 메트릭을 사용하기 위한 추가 요구 사항은 기술 정보 섹션 및 각 모듈을 구성하기 위한 지침에 설명되어 있습니다 .

  • 피어슨 상관 관계

    피어슨 상관 관계 통계 또는 피어슨 상관 계수를 통계 모델에서 r 값이라고도 합니다. 두 변수에 대해 상관 관계의 강도를 나타내는 값을 반환합니다.

    두 변수의 공 분산을 구한 다음 표준 편차의 곱으로 나누는 방식으로 피어슨 상관 계수를 계산합니다. 두 변수의 배율이 변경되어도 계수에는 영향을 주지 않습니다.

  • 상호 정보

    상호 정보 점수는 변수의 기여도를 측정하여 다른 변수의 값, 즉 레이블의 값에 대한 불확실성을 줄입니다. 개별 분포에 맞게 상호 정보 점수의 여러 변형이 고안되었습니다.

    상호 정보 점수가 기능 선택에서 특히 유용한 이유는, 여러 차원의 데이터 집합에서 결합 분포와 대상 변수 간의 상호 정보를 최대한 활용하기 때문입니다.

  • 켄들 상관 관계

    켄들의 순위 상관 관계는 서로 다른 서수 변수 또는 같은 변수의 서로 다른 순위 간 관계를 측정하는 여러 통계 중 하나입니다. 즉, 이 방법에서는 수량으로 순위를 지정할 때의 순서 유사도를 측정합니다. 이 계수와 스페어만 상관 계수는 모두 비모수/비정상 분포 데이터에 사용됩니다.

  • 스페어만 상관 관계

    스페어만 계수는 두 변수 간의 통계적 종속성을 측정하는 비모수 측정값이며 그리스어 문자 rho로 표기되기도 합니다. 스페어만 계수는 두 변수가 단조 방식으로 관련된 정도를 표현합니다. 그리고 서수 변수에도 사용할 수 있으므로 스페어만 순위 상관 관계라고도 합니다.

  • 치 제곱

    양방향 카이 제곱 테스트는 예상 값이 실제 결과와 얼마나 비슷한지를 측정하는 통계 방법입니다. 이 방법에서는 변수가 임의로 선택되며, 적절한 독립 변수 샘플에서 도출한다고 가정합니다. 결과적으로 생기는 카이 제곱 통계는 결과와 예상(임의) 결과가 얼마나 다른지를 나타냅니다.

  • 피셔 점수

    피셔 방법, 피셔 확률 합계 점수라고도 하는 피셔 점수는 경우에 따라 정보 점수라고도 합니다. 이 점수는 특정 변수가 자신이 사용하는 알 수 없는 매개 변수에 대해 제공하는 정보의 양을 나타내기 때문입니다.

    정보의 예상 값과 확인된 값 간의 차이를 측정하여 점수를 계산합니다. 차이를 최소화하면 정보는 최대화됩니다. 예상 점수는 0이므로 피셔 정보가 점수의 차이이기도 합니다.

  • 개수 기반

    개수 기반 기능 선택에서는 단순하지만 비교적 효율적인 방식으로 예측 관련 정보를 찾을 수 있습니다. 개수 기반 기능화의 기본 개념은 간단합니다. 열 내의 개별 값 수를 계산하여 값의 분포 및 가중치에 대한 아이디어를 얻을 수 있으며, 이를 통해 가장 중요한 정보가 포함된 열을 이해할 수 있습니다.

    개수 기반 기능 선택은 감독되지 않는 기능 선택 방법이므로 레이블 열이 필요하지 않습니다. 또한 이 메서드는 정보를 손실하지 않고 데이터의 차원을 줄입니다.

    개수 기반 기능을 만드는 방법 및 기계 학습에서 유용한 이유에 대한 자세한 내용은 Counts를 사용한 Learning 참조하세요.

사용자 지정 기능 선택 방법에 대해 다른 옵션이 필요한 경우 R 스크립트 실행 모듈을 사용합니다.

필터 기반 기능 선택을 구성하는 방법

이 모듈에서는 기능 점수를 결정하는 두 가지 방법을 제공합니다.

기존 통계 메트릭을 사용하여 기능 점수 생성

  1. 필터 기반 기능 선택 모듈을 실험에 추가합니다. Studio(클래식)의 기능 선택 범주에서 찾을 수 있습니다.

  2. 잠재적 기능에 해당하는 두 개 이상의 열이 포함된 입력 데이터 세트를 연결합니다.

    열을 분석하고 기능 점수를 생성하려면 메타데이터 편집 모듈을 사용하여 IsFeature 특성을 설정합니다.

    중요

    입력으로 제공하는 열이 잠재적인 기능인지 확인합니다. 예를 들어 단일 값을 포함하는 열에는 정보 값이 없습니다.

    잘못된 기능을 만드는 열이 있다는 것을 알고 있는 경우 열 선택 영역에서 제거할 수 있습니다. 메타데이터 편집 모듈을 사용하여 범주로 플래그를 지정할 수도 있습니다.

  3. 기능 점수 매기기 방법에서 다음과 같은 설정된 통계 방법 중 하나를 점수 계산에 사용하도록 선택합니다.

    방법 요구 사항
    피어슨 상관 관계 레이블은 텍스트 또는 숫자일 수 있습니다. 기능은 숫자여야 합니다.
    상호 정보 레이블과 기능이 텍스트 또는 숫자일 수 있습니다. 두 범주 열의 기능 중요도를 계산하려면 이 방법을 사용합니다.
    켄들 상관 관계 레이블은 텍스트 또는 숫자일 수 있지만 기능은 숫자여야 합니다.
    스페어만 상관 관계 레이블은 텍스트 또는 숫자일 수 있지만 기능은 숫자여야 합니다.
    카이 제곱 레이블과 기능이 텍스트 또는 숫자일 수 있습니다. 두 범주 열의 기능 중요도를 계산하려면 이 방법을 사용합니다.
    피셔 점수 레이블은 텍스트 또는 숫자일 수 있지만 기능은 숫자여야 합니다.
    Counts 참조: Count-Based 기능 선택을 사용하려면

    선택한 메트릭을 변경하면 다른 모든 선택 항목이 다시 설정되므로 먼저 이 옵션을 설정해야 합니다.)

  4. 기능 열에서만 작동 옵션을 선택하여 이전에 기능으로 표시된 열에 대해서만 점수를 생성합니다.

    이 옵션을 선택 취소하면 모듈은 원하는 기능 수에 지정된 열 수까지 조건을 충족하는 열에 대한 점수를 만듭니다.

  5. 대상 열의 경우 열 시작 선택기를 클릭하여 이름 또는 인덱스로 레이블 열을 선택합니다(인덱스는 1 기반).

    통계 상관 관계와 관련된 모든 메서드에는 레이블 열이 필요합니다. 레이블 열을 선택하지 않거나 여러 레이블 열을 선택하면 모듈에서 디자인 타임 오류가 반환됩니다.

  6. 원하는 기능 수의 경우 결과로 반환할 기능 열 수를 입력합니다.

    • 지정할 수 있는 기능의 최소 수는 1이지만 이 값을 늘리는 것이 좋습니다.

    • 원하는 기능의 지정된 수가 데이터 세트의 열 수보다 크면 점수가 0인 기능도 모든 기능이 반환됩니다.

    • 기능 열보다 적은 결과 열을 지정하는 경우 기능은 내림차순 점수로 순위가 매겨지고 상위 기능만 반환됩니다.

  7. 실험을 실행하거나 필터 기반 기능 선택 모듈을 선택한 다음 선택한 실행을 클릭합니다.

기능 선택 결과

처리가 완료된 후:

  • 분석된 기능 열과 해당 점수의 전체 목록을 보려면 모듈을 마우스 오른쪽 단추로 클릭하고 기능을 선택한 다음 시각화를 클릭합니다.

  • 기능 선택 조건에 따라 생성된 데이터 세트를 보려면 모듈을 마우스 오른쪽 단추로 클릭하고 데이터 세트를 선택한 다음 시각화를 클릭합니다.

데이터 세트에 예상보다 적은 열이 포함된 경우 모듈 설정 및 입력으로 제공되는 열의 데이터 형식을 확인합니다. 예를 들어 원하는 기능 수를 1개로 설정한 경우 출력 데이터 세트에는 레이블 열과 가장 높은 순위의 기능 열인 두 개의 열만 포함됩니다.

개수 기반 기능 선택 사용

  1. 필터 기반 기능 선택 모듈을 실험에 추가합니다. Studio(클래식)의 모듈 목록에서 기능 선택 그룹에서 찾을 수 있습니다.

  2. 가능한 기능인 두 개 이상의 열이 포함된 입력 데이터 세트를 커넥트.

  3. 기능 점수 매기기 메서드 드롭다운 목록의 통계 메서드 목록에서 Count Based를 선택합니다.

  4. 0이 아닌 요소의 최소 수의 경우 출력에 포함할 최소 기능 열 수를 나타냅니다.

    기본적으로 모듈은 요구 사항을 충족하는 모든 열을 출력합니다. 모듈은 점수가 0인 열을 출력할 수 없습니다.

  5. 실험을 실행하거나 모듈만 선택하고 선택한 실행을 클릭합니다.

개수 기반 기능 선택 결과

  • 점수가 있는 기능 열 목록을 보려면 모듈을 마우스 오른쪽 단추로 클릭하고 기능을 선택한 다음 시각화 를 클릭합니다.
  • 분석된 열이 포함된 데이터 세트를 보려면 모듈을 마우스 오른쪽 단추로 클릭하고 데이터 세트를 선택한 다음 시각화를 클릭합니다.

다른 메서드와 달리 Count Based 기능 선택 메서드는 변수의 순위를 가장 높은 점수로 지정하지 않고 점수가 0이 아닌 모든 변수를 원래 순서대로 반환합니다.

문자열 기능은 항상 0 점수를 받으므로 출력되지 않습니다.

Azure AI 갤러리에서 기능 선택이 사용되는 방법의 예제를 볼 수 있습니다.

  • 텍스트 분류; 이 샘플의 세 번째 단계에서 는 필터 기반 기능 선택을 사용하여 15가지 최상의 기능을 식별합니다. 기능 해시는 텍스트 문서를 숫자 벡터로 변환하는 데 사용됩니다. 그런 다음 Pearson의 상관 관계가 벡터 기능에 사용됩니다.

  • 기계 학습 기능 선택 및 기능 엔지니어링: 이 문서에서는 기계 학습의 기능 선택 및 기능 엔지니어링에 대한 소개를 제공합니다.

기능 점수의 예를 보려면 비교된 점수 표를 참조하세요.

기술 정보

이 모듈은 필터 범주의 데이터 변환 아래에서 찾을 수 있습니다 .

구현 세부 정보

숫자 기능 및 범주 레이블에서 피어슨 상관 관계, 켄달 상관 관계 또는 스피어맨 상관 관계를 사용하는 경우 기능 점수는 다음과 같이 계산됩니다.

  1. 범주 열의 각 수준에서 숫자 열의 조건부 평균을 컴퓨팅합니다.

  2. 조건부 평균 열과 숫자 열의 상관 관계를 지정합니다.

요구 사항

  • 레이블 또는 점수 열로 지정된 열에 대해 기능 선택 점수를 생성할 수 없습니다.

  • 점수 매기기 방법에서 지원하지 않는 데이터 형식의 열을 해당 방법에서 사용하려고 하면 모듈에서 오류가 발생하거나 열에 점수로 0이 할당됩니다.

  • 열에 논리 값(true/false)이 포함되어 있으면 해당 값은 True = 1, False = 0으로 처리됩니다.

  • 레이블 또는 점수로 지정된 열은 기능이 될 수 없습니다.

누락 값 처리 방법

  • 모든 값이 누락된 열은 대상(레이블) 열로 지정할 수 없습니다.

  • 열에서 값이 누락된 경우 열의 점수를 계산할 때 해당 값을 무시합니다.

  • 기능 열로 지정된 열에서 모든 값이 누락된 경우에는 점수로 0이 할당됩니다.

비교된 점수 표

다른 메트릭을 사용할 때 점수가 어떻게 비교되는지에 대한 아이디어를 제공하기 위해 다음 표에서는 종속 변수 Highway-mpg를 감안할 때 자동차 가격 데이터 세트의 여러 기능에서 몇 가지 기능 선택 점수를 제공합니다.

기능 열 피어슨 점수 개수 점수 켄달 점수 상호 정보
highway-mpg 1 205 1 1
city-mpg(시내 주행 연비) 0.971337 205 0.892472 0.640386
curb-weight(정비 중량) 0.797465 171 0.673447 0.326247
horsepower 0.770908 203 0.728289 0.448222
price 0.704692 201 0.651805 0.321788
length 0.704662205 205 0.53193 0.281317
engine-size 0.67747 205 0.581816 0.342399
width 0.677218 205 0.525585 0.285006
bore(보어) 0.594572 201 0.467345 0.263846
wheel-base 0.544082 205 0.407696 0.250641
compression-ratio(압축비) 0.265201 205 0.337031 0.288459
연료 시스템 na na na 0.308135
make na na na 0.213872
드라이브 휠 na na na 0.213171
na na na 0.1924
정규화된 손실 na na na 0.181734
symboling(수치 변환 값) na na na 0.159521
num of-cylinders na na na 0.154731
engine-type na na na 0.135641
포부 na na na 0.068217
body-style na na na 0.06369
연료 유형 na na na 0.049971
num-of-door na na na 0.017459
engine-location na na na 0.010166
  • 문자열을 포함한 모든 열 형식에 대해 상호 정보 점수를 만들 수 있습니다.

  • 이 표에 포함된 다른 점수(예: Pearson의 상관 관계 또는 개수 기반 기능 선택)에는 숫자 값이 필요합니다. 문자열 기능은 점수가 0이므로 출력에 포함되지 않습니다. 예외는 기술 정보 섹션을 참조하세요.

  • 개수 기반 메서드는 레이블 열을 기능 열과 다르게 처리하지 않습니다.

예상 입력

Name 유형 설명
데이터 세트 데이터 테이블 입력 데이터 세트

모듈 매개 변수

Name 범위 Type 기본값 설명
기능 점수 매기기 방법 목록 점수 매기기 방법 점수 매기기를 위해 사용할 방법을 선택합니다.
기능 열에서만 작동 모두 부울 true 점수 매기기 프로세스에서 기능 열만 사용할지 여부를 나타냅니다.
대상 열 모두 ColumnSelection 없음 대상 열을 지정합니다.
원하는 기능의 수 >=1 정수 1 결과에 출력할 기능의 수를 지정합니다.
0이 아닌 요소의 최소 수 >=1 정수 1 개수 기반 방법에 대해 출력할 기능의 수를 지정합니다.

출력

Name 유형 설명
필터링된 데이터 집합입니다. 데이터 테이블 필터링된 데이터 집합입니다.
기능 데이터 테이블 기능 선택 점수 및 출력 열의 이름입니다.

예외

예외 설명
오류 0001 데이터 세트의 지정된 열 중 하나 이상을 찾을 수 없으면 예외가 발생합니다.
오류 0003 하나 이상의 입력이 null이거나 비어 있으면 예외가 발생합니다.
오류 0004 매개 변수가 특정 값 이하이면 예외가 발생합니다.
오류 0017 지정한 열 중 하나 이상의 형식이 현재 모듈에서 지원되지 않으면 예외가 발생합니다.

Studio(클래식) 모듈과 관련된 오류 목록은 Machine Learning 오류 코드를 참조하세요.

API 예외 목록은 MACHINE LEARNING REST API 오류 코드를 참조하세요.

참고 항목

기능 선택
피셔 선형 판별 분석
전체 모듈 목록