피셔 선형 판별 분석

데이터를 별도 클래스로 최상으로 그룹화할 수 있는 기능 변수의 선형 조합 식별

범주: 기능 선택 모듈

참고

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

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

모듈 개요

이 문서에서는 Azure Machine Learning Studio (클래식)에서 피셔 선형 판별 분석 모듈을 사용 하 여 둘 이상의 클래스를 가장 잘 구분 하는 기능 조합을 캡처하는 새 기능 데이터 집합을 만드는 방법을 설명 합니다.

이 방법은 클래스를 구별하는 정보는 유지하면서 기능 집합을 더 작은 기능 공간에 프로젝션하므로 차원을 줄이는 데 사용되는 경우가 많습니다. 그러면 지정된 분류 작업의 계산 비용을 줄일 수 있을 뿐 아니라 과잉 맞춤도 방지할 수 있습니다.

점수를 생성 하려면 레이블 열과 숫자 기능 열 집합을 입력으로 제공 합니다. 알고리즘은 각 그룹 내의 거리를 최소화하면서 각 데이터 그룹을 선형으로 구분하는 입력 열의 최적 조합을 결정합니다. 모듈은 다른 데이터 집합에 저장 하 고 적용할 수 있는 변환과 함께 압축 변환 기능을 포함 하는 데이터 집합을 반환 합니다.

선형 판별 분석에 대 한 자세한 정보

선형 판별 분석은 변수의 수단을 비교 하 여 작동 한다는 점에서 분산 분석 (분산 분석)과 비슷합니다. ANOVA와 마찬가지로 다음과 같은 가정에 의존 합니다.

  • 예측자가 독립적입니다.
  • 각 샘플의 조건부 확률 밀도 함수는 일반적으로 배포 됩니다.
  • 그룹 간의 차이가 비슷합니다.

선형 판별 분석은 종종 LDA로 단축 되지만,이는 잠재적 Dirichlet 할당 을 쉽게 혼동 합니다. 이 기술은 완전히 다르므로이 설명서에서는 가능한 경우 전체 이름을 사용 합니다.

선형 판별 분석을 구성 하는 방법

  1. 입력 데이터 집합을 추가 하 고 입력 데이터가 다음 요구 사항을 충족 하는지 확인 합니다.

    • 데이터는 최대한 완전 해야 합니다. 누락 값이 있는 행은 무시 됩니다.
    • 값에는 정규 분포가 있어야 합니다. 피셔 선형 판별 분석 을 사용 하기 전에 이상 값에 대 한 데이터를 검토 하거나 분포를 테스트 합니다.
    • 예측 변수 수는 샘플 수보다 적어야 합니다.
    • 숫자가 아닌 열을 모두 제거 합니다. 알고리즘은 입력에 포함 된 유효한 모든 숫자 열을 검사 하 고 잘못 된 열이 포함 된 경우 오류를 반환 합니다. 숫자 열을 제외 해야 하는 경우 피셔 선형 판별 분석 전에 데이터 집합에서 열 선택 모듈을 추가 하 여 분석 하려는 열만 포함 하는 뷰를 만들어야 합니다. 나중에 열 추가를 사용 하 여 열을 다시 조인할 수 있습니다. 행의 원래 순서가 유지 됩니다.
  2. 입력 데이터를 피셔 선형 판별 분석 모듈에 연결 합니다.

  3. 클래스 레이블 열 에서 열 선택기 시작 을 클릭 하 고 레이블 열 하나를 선택 합니다.

  4. 기능 추출기의 경우 결과로 사용할 열 수를 입력 합니다.

    예를 들어 데이터 집합에 8 개의 숫자 기능 열이 포함 되어 있는 경우를 입력 3 하 여 세 개의 열만 포함 된 새로운 기능 공간으로 축소할 수 있습니다.

    출력 열이 입력 열과 정확 하 게 일치 하지는 않지만 입력 열의 값에 대 한 간단한 변환을 나타내는 것이 중요 합니다.

    기능 추출기의 값으로 0을 사용 하 고 n 개의 열을 입력으로 사용 하는 경우 n 개 기능 추출기 이 반환 되 고 n 차원 기능 공간을 나타내는 새 값이 포함 됩니다.

  5. 실험을 실행합니다.

결과

알고리즘은 각 그룹 내의 거리를 최소화 하면서 각 데이터 그룹을 선형으로 구분 하는 입력 열의 값 조합을 결정 하 고 두 개의 출력을 만듭니다.

  • 변환 된 기능 Col1, col2, col3 등의 지정 된 수의 기능 추출기 열을 포함 하는 데이터 집합입니다. 출력에도 클래스 또는 레이블 변수도 포함 됩니다.

    모델을 학습 하는 데이 간단한 값 집합을 사용할 수 있습니다.

  • 피셔 선형 판별 분석 변환 입니다. 동일한 스키마를 가진 데이터 집합에 저장 한 다음 적용할 수 있는 변환입니다. 동일한 형식의 많은 데이터 집합을 분석 하 고 각 데이터 집합에 동일한 기능을 적용 하려는 경우에 유용 합니다. 적용 하는 데이터 집합에는 동일한 스키마가 있어야 합니다.

예제

기계 학습의 기능 선택에 대 한 예는 Azure AI Gallery를 참조 하세요.

기술 정보

이 섹션에는 구현 세부 정보, 팁 및 질문과 대답 (faq)이 포함 되어 있습니다.

사용 팁

  • 이 방법은 연속 변수에만 사용할 수 있으며 범주 또는 서수 변수에는 사용할 수 없습니다.

  • 누락 값이 있는 행은 변환 행렬을 계산할 때 무시됩니다.

  • 실험에서 변환을 저장 하면 원래 실험에서 계산 된 변환이 새로운 각 데이터 집합에 다시 적용 되며 다시 계산 되지 않습니다. 따라서 각 데이터 집합에 대해 새 기능 집합을 계산 하려면 각 데이터 집합에 대해 피셔 선형 판별 분석 의 새 인스턴스를 사용 합니다.

구현 세부 정보

기능의 데이터 집합은 고유 벡터 를 사용 하 여 변환 됩니다. 입력 데이터 집합에 대 한 고유 벡터는 제공 된 기능 열 ( 판별 행렬 이 라고도 함)을 기반으로 계산 됩니다.

모듈에의 한 변환 출력에는 동일한 스키마를 가진 다른 데이터 집합을 변환 하는 데 적용할 수 있는 이러한 고유 벡터 포함 되어 있습니다.

고유 값을 계산 하는 방법에 대 한 자세한 내용은이 문서 (PDF): 분류를 위한 Eigenvector 기반 기능 추출문서를 참조 하세요. Tymbal, Puuronen 등.

예상 입력

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

모듈 매개 변수

Name Type 범위 선택 사항 기본값 설명
클래스 레이블 열 ColumnSelection 필수 없음 범주 클래스 레이블을 포함하는 열을 선택합니다.
기능 추출기 수 정수 >= 0 필수 0 사용할 기능 추출기의 수입니다. 0이면 모든 기능 추출기가 사용됩니다.

출력

Name Type 설명
변환된 기능 데이터 테이블 피셔 선형 판별 분석 기능이 eigenvector space로 변환 됨
피셔 선형 판별 분석 변환 ITransform 인터페이스 피셔 선형 판별 분석의 변환입니다.

예외

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

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

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

참고 항목

기능 선택
필터 기반 기능 선택
주 구성 요소 분석