머신 러닝에서 라벨 인코더와 핫 인코더 1개 비교 [2022]

게시 됨: 2021-01-04

수많은 애플리케이션에 배포된 기계 학습 모델은 범주형 데이터 또는 텍스트 초점에서 숫자 설명으로의 일련의 변환이 필요한 경우가 많습니다. 변환 요구 사항을 준수하기 위해 두 가지 유형의 인코더, 즉 레이블 인코더 하나의 핫 인코더 가 사용됩니다 .

까다로운 부분은 라벨 인코더 를 선택 하는 시기와 핫 인코더 를 선택해야 하는 시기 입니다. 결정의 선택은 모델에 영향을 미치고 데이터 과학자와 머신 러닝 애호가에게 일반적으로 묻는 많은 질문의 기본을 형성합니다.

인코딩 선택은 모델의 정확도 지수에 생생하게 영향을 미치므로 최적화된 솔루션으로 이어질 수 있습니다. 모델의 차이점을 이해하려면 레이블 인코더 핫 인코더 하나 를 이해해야 합니다.

인공 지능 및 기계 학습의 지식 그래프를 통해 우리 대부분이 인식하는 한 가지 측면은 대부분의 알고리즘이 수치 입력으로 합리적으로 작업한다는 것입니다. 따라서 분석가가 직면한 핵심 과제는 텍스트 데이터를 수치 데이터로 변환하면서도 모델이 이를 바탕으로 요점을 공식화하도록 하는 것입니다.

목차

라벨 인코더

레이블 인코딩은 레이블을 숫자 형식으로 변환하여 기계에서 읽을 수 있는 형식으로 변경하는 것을 인용합니다. 그런 다음 기계 학습 알고리즘은 이러한 레이블을 관리해야 하는 방법을 올바른 방식으로 결정할 수 있습니다. 지도 학습에서 통합 데이터 세트 중 중요한 전처리 측정입니다.

예를 들어, 형제 간의 최상급 비교 형식으로 특정 기술의 특정 품질을 비교하는 데이터 세트가 있습니다. 데이터 세트는 훌륭하고 좋습니다. 레이블 인코더를 적용한 후 각 품질에는 각각 레이블 0,1,2가 부여됩니다. 좋은 품질의 레이블은 0, 더 좋은 품질의 레이블은 1, 최상의 품질의 레이블은 2입니다.

위에서 언급한 예시는 데이터셋 측면에서 기본적인 예시였습니다. 변환은 키, 나이, 눈 색깔, 홍채 유형, 증상 등 모든 데이터 세트가 될 수 있습니다.

Python의 레이블 인코딩은 Sklearn 라이브러리를 사용하여 구현할 수 있습니다. Sklearn은 범주형 기능의 범주를 숫자 값으로 인코딩하는 매우 효과적인 방법을 제공합니다. 레이블 인코더 는 0에서 n-1 클래스 사이의 크레딧으로 레이블을 인코딩합니다. 여기서 n은 다양한 레이블의 수입니다. 레이블이 반복하면 이전에 지정된 대로 정확한 장점을 지정합니다.

그리고 이러한 유형의 범주형 텍스트 데이터를 모델 수치 데이터가 이해할 수 있는 데이터로 혁신하기 위해 Label Encoder 클래스를 사용합니다. 초기 열에 레이블을 인코딩하고 sklearn 라이브러리에서 LabelEncoder 클래스를 가져오고 데이터의 초기 섹션을 장비 및 개조한 다음 발생하는 텍스트 데이터를 새로 인코딩된 데이터로 복구해야 합니다.

레이블 인코딩에 대한 간략한 설명입니다. 데이터에 의존하여 레이블 인코딩은 새로운 딜레마를 시작합니다. 예를 들어, 왕국 이름을 숫자 데이터로 인코딩했습니다. 이것은 완전히 범주형 데이터이며 행 간에 어떠한 수단도 연관되지 않습니다.

이 장애를 해결하기 위해 새로운 인코딩 기술을 채택할 필요가 있습니다. 여기서 딜레마는 유사한 섹션에 여러 양이 있기 때문에 프로토타입이 데이터를 같은 순서로 0 < 1 < 2로 잘못 판단한다는 것입니다. 그러나 이것은 전혀 문제가 되지 않습니다. 이 어려움을 완화하기 위해 하나의 핫 인코더를 사용합니다.

필독: 기계 학습 프로젝트 아이디어

하나의 핫 인코더

One-Hot Encoding은 범주형 변수를 처리하는 또 다른 중요한 프로토콜입니다. 범주형 특성에서 고유한 값의 볼륨에 대해 설정된 다음 특성을 단독으로 설정합니다. 분류의 전체 고유 값이 윤곽선으로 확대됩니다. 하나의 핫 인코딩은 기존 레이블이 인코딩된 범주형 데이터가 있는 섹션을 가져온 다음 섹션을 여러 섹션으로 나눕니다. 볼륨은 어떤 섹션에 어떤 값이 있는지 계산하여 1과 0으로 다시 작성됩니다.

원-핫 인코더는 1차원 배열을 승인하지 않습니다. 입력은 항상 2차원 배열이어야 합니다.

인코더에 승인된 데이터에는 문자열이 포함되지 않아야 합니다.

널리 사용되는 기계 학습 알고리즘의 대부분은 범주형 데이터에 커밋할 수 없습니다. 오히려 범주형 데이터를 숫자 데이터로 수정해야 합니다. 원-핫 인코딩은 이 변환을 수행하는 데 사용되는 전략 중 하나입니다. 이 기술은 딥 러닝 방법이 순차 승계 문제와 상관 관계가 있는 경우에 주로 사용됩니다.

원-핫 인코딩은 실제로 범주형 변수를 이진 벡터로 나타내는 것입니다. 범주형 값은 처음에 정수 값으로 매핑됩니다. 모든 정수 값은 모두 0인 이진 벡터로 예시됩니다.

하지만 처리할 파일이 여러 개라면 어떻게 될까요?

Scikit-learn은 섹션 배열에 민감하므로 훈련 데이터 세트와 테스트 데이터 세트에 모순이 있으면 결과가 부조리합니다. 범주형에 훈련 데이터 대 테스트 데이터에 여러 값이 있는 경우 발생할 수 있습니다.

테스트 데이터가 align 명령을 사용하여 훈련 데이터와 동일한 방식으로 인코딩되었는지 확인하십시오. align 명령은 섹션이 두 데이터 세트의 정확한 법령에 나타나도록 보안을 제공합니다.

읽기: 기계 학습 모델

결론

지구는 범주형 데이터로 가득 차 있습니다. 이 데이터를 사용하는 방법을 안다면 분석가는 훨씬 더 유익한 데이터 과학자가 될 것입니다. 따라서 이러한 모델에 대해 작업하려는 사람 은 기계 학습에서 레이블 인코더 하나의 핫 인코더 사용에 대해 잘 알고 있어야 합니다.

기계 학습에 대해 자세히 알아보려면 IIIT-B 및 upGrad의 기계 학습 및 AI PG 디플로마를 확인하세요. 이 PG 디플로마는 일하는 전문가를 위해 설계되었으며 450시간 이상의 엄격한 교육, 30개 이상의 사례 연구 및 과제, IIIT- B 동문 자격, 5개 이상의 실용적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.

하나의 핫 인코딩을 사용해야 하는 알고리즘은 무엇입니까?

하나의 핫 인코딩 프로세스는 범주형 변수를 처리하는 데 사용됩니다. 이 프로세스는 범주형 변수를 변환하여 기계 학습 알고리즘이 더 나은 예측을 위해 변수를 더 쉽게 사용할 수 있도록 합니다. 숫자 값만 입력으로 사용하는 알고리즘은 범주형 변수를 변환하기 위해 단 하나의 핫 인코딩 프로세스만 필요합니다. 이러한 기계 학습 알고리즘 중 일부는 로지스틱 회귀, 선형 회귀, 지원 벡터 기계 등이 있습니다. 그러나 Markov Chain, Naive Bayes 등과 같은 일부 알고리즘은 공동 이산 분포를 처리할 수 있기 때문에 인코딩이 필요하지 않습니다.

딥 러닝에서 하나의 핫 인코딩을 사용하는 것이 선호되는 경우는 언제입니까?

One Hot Encoding은 ML 모델이 제공된 데이터를 이해하는 데 도움이 되는 강력한 데이터 변환 및 전처리 방식입니다. 기본적으로 ML 알고리즘이 범주형 변수를 처리할 수 없을 때 하나의 핫 인코딩을 사용하므로 하나의 핫 인코딩으로 적절한 형식으로 변환합니다. 변환할 범주형 변수의 기능이 순서가 아닌 경우 하나의 핫 인코딩을 사용하는 것이 가장 선호됩니다. 또한 하나의 핫 인코딩은 주어진 데이터 세트에 존재하는 범주형 기능의 수가 매우 적을 때 효과적으로 작동합니다.

더미 변수 트랩이라는 용어는 무엇을 의미합니까?

더미 변수 트랩은 원-핫 인코딩 프로세스가 직면하는 문제 중 하나입니다. 범주형 데이터 세트에 강력하게 연결된 변수가 있는 경우 이러한 현상이 발생합니다. 결과적으로 하나의 핫 인코딩 절차를 사용할 때 나머지 변수를 사용하여 하나의 변수의 결과를 쉽게 예측할 수 있습니다. 더미 변수 트랩의 결과로 다중 공선성으로 알려진 또 다른 문제가 발생합니다.