필터 기반 기능 선택

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

범주: 기능 선택 모듈

참고

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

이 콘텐츠는 Studio (클래식)에만 해당 됩니다. Azure Machine Learning 디자이너에는 비슷한 끌어서 놓기 모듈이 추가 되었습니다. 이 문서에서는 두 가지 버전을 비교 하는방법에 대해 자세히 알아보세요.

모듈 개요

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

일반적으로 기능 선택 은 지정 된 출력을 제공 하는 입력에 통계 테스트를 적용 하 여 출력을 보다 효율적으로 예측 하는 열을 결정 하는 프로세스를 말합니다. 필터 기반 기능 선택 모듈은 Pearsons의 상관 관계, 상호 정보 점수 및 카이 제곱 값을 비롯 하 여 선택할 수 있는 여러 기능 선택 알고리즘을 제공 합니다. 또한 Azure Machine Learning은 정보 값의 표시기로 기능 값 수를 지원 합니다.

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

모듈은 예측 능력에 따라 가장 적합 한 기능 열을 포함 하는 데이터 집합을 출력 합니다. 또한 선택한 메트릭의 기능 이름과 해당 점수를 출력 합니다.

필터 기반 기능 선택 이란 무엇 이며이를 사용 하는 이유는 무엇입니까?

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

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

일반적으로 예측 모델을 작성 하는 데 가장 적합 한 점수가 있는 열만 사용 합니다. 기능 선택 점수가 떨어지는 열은 데이터 집합에 남아 있을 수 있으며 모델을 작성할 때 무시 됩니다.

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

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

  • 피어슨 상관 관계

    피어슨 상관 관계 통계 또는 피어슨 상관 계수는 통계 모델에서 값으로 알려져 있습니다 r . 두 변수의 경우 상관 관계의 강도를 나타내는 값을 반환 합니다.

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

  • 상호 정보

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

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

  • 켄들 상관 관계

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

  • 스페어만 상관 관계

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

  • 카이 제곱

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

  • 피셔 점수

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

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

  • 개수 기반

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

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

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

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

Filter-Based 기능 선택을 구성 하는 방법

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

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

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

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

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

    중요

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

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

  3. 기능 점수 매기기 방법 의 경우 점수 계산에 사용할 다음의 설정 된 통계 방법 중 하나를 선택 합니다.

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

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

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

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

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

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

  6. 원하는 기능 수 에 대해 결과로 반환 하려는 기능 열 수를 입력 합니다.

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

    • 지정 된 수의 원하는 기능이 데이터 집합의 열 수보다 크면 모든 기능이 반환 되 고 점수가 0 인 경우에도 마찬가지입니다.

    • 기능 열 보다 더 작은 결과 열을 지정 하는 경우 해당 기능은 내림차순으로 순위가 지정 되며, 상위 기능만 반환 됩니다.

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

기능 선택 결과

처리가 완료 된 후:

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

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

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

개수 기반 기능 선택 사용

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

  2. 가능한 기능을 가진 열이 두 개 이상 포함 된 입력 데이터 집합을 연결 합니다.

  3. 기능 점수 매기기 방법 드롭다운 목록의 통계 방법 목록에서 계산 기준 을 선택 합니다.

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

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

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

개수 기반 기능 선택의 결과

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

다른 메서드와 달리 계산 기반 기능 선택 방법은 변수를 가장 높은 점수 만큼 계산 하지 않지만 점수가 0이 아닌 모든 변수를 원래 순서로 반환 합니다.

문자열 기능은 항상 0 인 점수를 가져오므로 출력 되지 않습니다.

예제

Azure AI Gallery에서 기능 선택이 사용 되는 방법의 예를 확인할 수 있습니다.

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

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

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

기술 참고 사항

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

구현 세부 정보

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

  1. 범주 열의 각 수준에 대해 숫자 열의 조건 평균을 계산 합니다.

  2. 조건부 의미의 열을 숫자 열과 상관 관계를 바꿉니다.

요구 사항

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

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

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

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

누락 값을 처리 하는 방법

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

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

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

비교 된 점수 표

다른 메트릭을 사용할 때 점수가 어떻게 비교 될 수 있도록 다음 표에서는 고속도로-mpg 종속 변수를 고려 하 여 자동차 가격 데이터 집합의 여러 기능에서 제공 하는 몇 가지 기능 선택 점수를 제공 합니다.

기능 열 피어슨 점수 개수 점수 Kendall 점수 상호 정보
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
실린더 개수 na na na 0.154731
엔진 유형 na na na 0.135641
위해서라도 na na na 0.068217
body-style na na na 0.06369
연료 형식 na na na 0.049971
도어 개수 na na na 0.017459
엔진-위치 na na na 0.010166
  • 문자열을 포함 하 여 모든 열 유형에 대해 상호 정보 점수를 만들 수 있습니다.

  • 이 테이블에 포함 된 다른 점수 (예: 피어슨 상관 관계 또는 개수 기반 기능 선택)에는 숫자 값이 필요 합니다. 문자열 기능 점수는 0 이므로 출력에 포함 되지 않습니다. 예외는 기술 참고 사항 섹션을 참조 하세요.

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

예상 입력

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

모듈 매개 변수

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

출력

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

예외

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

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

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

참고 항목

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