재귀적 특징 제거: 그것이 무엇이며 왜 중요한가?

게시 됨: 2023-03-27

데이터는 현대 의사 결정의 중추이며 기업은 항상 데이터에서 귀중한 통찰력을 추출할 방법을 찾고 있습니다. 기계 학습은 데이터 분석을 위해 조직에서 배포하는 가장 일반적인 기술 중 하나이며 , 여기에는 기록 데이터를 기반으로 예측을 수행하는 훈련 알고리즘이 포함됩니다. 그러나 데이터 세트의 모든 기능이 동일하게 생성되는 것은 아니며 일부 기능은 다른 기능보다 모델 성능에 더 큰 영향을 미칠 수 있습니다.

재귀 기능 제거는 데이터 세트에서 관련이 없거나 중복되는 기능을 식별하고 제거하여 기계 학습 모델의 정확성과 효율성을 향상시키는 데 사용되는 널리 사용되는 데이터 분석 기술입니다.

세계 최고의 대학에서 기계 학습 인증을 받으십시오 . Master, Executive PGP 또는 Advanced Certificate Program을 취득하여 경력을 빠르게 쌓으십시오.

이 기사에서는 재귀적 기능 제거가 무엇 인지, 어떻게 작동하는지, 데이터에서 의미 있는 통찰력을 추출하려는 기업에 중요한 이유를 살펴봅니다 .

목차

기능 선택을 위한 다른 기술은 무엇입니까?

기능 선택은 결과를 정확하게 예측하는 모델을 구축하기 위해 데이터 세트에서 가장 관련성이 높은 속성을 선택하는 것과 관련된 기계 학습의 중요한 단계입니다. 그러나 올바른 기능을 선택하는 것이 항상 간단한 것은 아닙니다. 각각 강점과 약점이 있는 다양한 기술이 있습니다. 그들 중 일부를 살펴 보자!

필터 방법

필터 방법은 대상 변수 또는 분산과의 상관 관계와 같은 통계 속성에 대해 생성된 기능을 선택합니다. 이러한 방법은 계산적으로 효율적이며 모델을 교육하기 전에 적용할 수 있습니다. 필터 방법의 예로는 카이 제곱 테스트, 상관 기반 기능 선택 및 분산 임계값이 있습니다.

래퍼 방법

래퍼 방법은 기능의 하위 집합으로 기계 학습 모델의 성능을 평가하여 기능을 선택합니다. 이러한 방법은 계산 비용이 많이 들지만 모델 성능을 향상시킬 수 있습니다. 래퍼 방법의 예로는 재귀적 특징 제거, 전방 선택 및 후방 제거가 있습니다.

임베디드 방법

포함된 메서드의 경우 기능 선택은 교육 중에 발생합니다. 이러한 방법에는 Lasso 및 Ridge Regression과 같은 기술이 포함되며 덜 중요한 기능을 0으로 축소하기 위해 모델 계수에 페널티를 추가합니다.

하이브리드 방법

하이브리드 방법은 서로 다른 기능 선택 기술을 결합하여 더 나은 결과를 얻습니다. 이러한 방법은 종종 단일 접근 방식만 사용하는 것보다 더 효과적입니다. 하이브리드 방법의 예로는 ReliefF 및 Random Forest Feature Selection이 있습니다.

본질적으로 기능 선택 기술의 선택은 특정 문제, 데이터 세트 및 사용 가능한 계산 리소스에 따라 다릅니다.

이제 기능 제거를 위한 가장 중요한 래퍼 방법 중 하나인 재귀 기능 제거에 대해 자세히 살펴보겠습니다.

재귀적 특징 제거란?

RFE(Recursive Feature Elimination)는 기능을 반복적으로 제거하고 나머지 기능 위에 모델을 구축하는 래퍼 방법입니다. 중요도에 따라 기능의 순위를 매기고 원하는 기능 수에 도달할 때까지 가장 중요하지 않은 기능을 제거합니다. RFE는 다음과 같이 작동하는 반복 프로세스입니다.

  1. 모든 기능에 대해 모델을 교육하고 중요도에 따라 순위를 지정합니다.
  2. 가장 덜 중요한 기능을 제거합니다.
  3. 나머지 기능에 대해 모델을 반복적으로 훈련하고 원하는 기능 수에 도달할 때까지 가장 중요하지 않은 기능을 제거합니다.

RFE는 기능 간의 상호 작용과 모델 성능에 미치는 영향을 고려합니다.

RFE 작동 방식을 이해하기 위해 예를 들어 보겠습니다.

침실 수, 평방 피트, 집의 나이를 포함하여 10가지 특성을 가진 주택 가격 데이터 세트가 있다고 가정합니다. 우리는 이러한 특성을 기반으로 주택 가격을 예측하는 기계 학습 모델을 구축하려고 합니다. 그러나 일부 기능은 중요하지 않을 수 있으며 모델의 성능에 해를 끼칠 수도 있습니다.

RFE를 사용하여 모든 기능으로 모델을 훈련한 다음 최적의 하위 집합에 도달할 때까지 가장 중요하지 않은 기능을 반복적으로 제거하여 가장 관련성이 높은 기능을 식별할 수 있습니다. RFE는 각 반복 동안 모델을 훈련하고 교차 검증 세트를 사용하여 성능을 평가합니다.

예를 들어 RFE는 침실 수, 평방 피트 및 위치가 주택 가격을 예측하는 데 가장 중요한 기능이라고 결정할 수 있습니다. 반대로 집의 나이와 같은 다른 기능은 모델의 정확도에 거의 영향을 미치지 않습니다.

RFE가 등장한 이유는 무엇입니까? 무엇을 해결합니까?

기계 학습이 널리 보급됨에 따라 데이터 과학자들은 일부 기능이 관련이 없거나 중복될 수 있는 반면 다른 기능은 모델의 정확도에 상당한 영향을 미칠 수 있음을 깨달았습니다. 이것은 효율적인 기계 학습 모델을 구축하기 위한 필수 방법 중 하나인 재귀적 특징 제거의 특징 선택 기술을 탄생시켰습니다.

RFE(Recursive Feature Elimination)는 기존 방법의 일부 제한 사항을 해결하는 동시에 기능을 반복적으로 제거하고 모델 성능에 미치는 영향을 평가하는 래퍼 방법으로 부상하기 위해 도입되었습니다. 이 프로세스는 최적의 기능 수에 도달할 때까지 계속됩니다.

RFE는 전통적인 특징 선택 기술이 직면하는 몇 가지 문제를 해결합니다.

  • RFE는 모든 기능에서 시작하여 가장 중요하지 않은 기능을 반복적으로 제거하는 역방향 선택 방식입니다. 이 접근 방식은 가장 덜 중요한 기능부터 시작하여 최적의 수에 도달할 때까지 추가하는 정방향 선택보다 우수합니다.
  • RFE는 기능 선택 프로세스 중에 교차 검증에 의한 과적합을 방지합니다. 과적합은 모델이 너무 복잡하고 교육 데이터에 너무 잘 맞아 새 데이터에서 성능이 저하될 때 발생합니다.
  • RFE는 모든 모델 유형에 적용할 수 있으므로 다양한 시나리오에서 사용할 수 있는 다목적 기술입니다.

Python에서 RFE 알고리즘 구현

Python은 RFE 알고리즘을 구현하는 데 사용할 수 있는 여러 라이브러리를 제공합니다. 이제 몇 가지 RFE Python 예제를 살펴보겠습니다 .

scikit-learn을 사용한 RFE

Scikit-learn은 RFE 알고리즘의 간단한 구현을 제공하는 Python의 인기 기계 학습 라이브러리입니다. 다음 코드 스니펫은 sci-kit-learn에서 RFE를 구현하는 방법을 보여줍니다.

sklearn.feature_selection 가져오기 RFE에서

sklearn.linear_model에서 LogisticRegression 가져오기

모델 = LogisticRegression()

rfe = RFE(모델, n_features_to_select=5)

rfe.fit(X, y)

위의 코드 스니펫에서는 먼저 sci-kit-learn의 feature_selection 모듈에서 RFE 클래스를 가져옵니다. 그런 다음 기본 추정기 역할을 할 LogisticRegression 클래스의 인스턴스를 만듭니다. 그런 다음 RFE 클래스의 인스턴스를 생성하여 기본 추정기와 선택할 기능 수를 전달합니다. 그런 다음 RFE 개체를 데이터 및 레이블에 맞춥니다.

분류를 위한 RFE

분류 문제에서 RFE는 기능을 재귀적으로 제거하고 나머지 기능에 대한 모델을 구축합니다. 기능 순위는 추정기가 계산한 기능 중요도 점수를 기반으로 합니다. 다음 코드 스니펫은 분류 문제에 RFE를 사용하는 방법을 보여줍니다.

sklearn.datasets import make_classification에서

sklearn.feature_selection 가져오기 RFE에서

sklearn.tree 가져오기 DecisionTreeClassifier에서

X, y = make_classification(n_samples=1000, n_features=10, n_informative=5, n_redundant=0, random_state=42)

모델 = DecisionTreeClassifier()

rfe = RFE(모델, n_features_to_select=5)

rfe.fit(X, y)

print("선택한 기능: ", rfe.support_)

print("기능 순위: ", rfe.ranking_)

위의 코드 스니펫에서 먼저 sci-kit-learn의 make_classification 함수를 사용하여 합성 데이터 세트를 생성합니다. 그런 다음 기본 추정기 역할을 할 DecisionTreeClassifier 클래스의 인스턴스를 만듭니다. 그런 다음 RFE 클래스의 인스턴스를 생성하여 기본 추정기와 선택할 기능 수를 전달합니다. 그런 다음 RFE 개체를 데이터 및 레이블에 맞추고 선택한 기능과 순위 기능을 인쇄합니다.

RFE 하이퍼파라미터

RFE에는 더 나은 결과를 위해 조정할 수 있는 여러 하이퍼파라미터가 있습니다. 몇 가지 중요한 하이퍼파라미터는 다음과 같습니다.

  • n_features_to_select: 이 하이퍼파라미터는 선택할 피처의 수를 결정합니다.
  • 단계: 이 하이퍼파라미터는 각 반복을 제거할 기능의 수를 결정합니다.기본값은 1이며 각 반복에서 하나의 기능이 제거됨을 의미합니다.
  • estimator: 이 하이퍼파라미터는 사용할 기본 추정량을 지정합니다.기본적으로 선형 SVM이 사용됩니다.
  • 점수 매기기: 이 하이퍼 매개변수는 기능 순위 지정에 사용할 메트릭을 지정합니다.기본값은 없음이며 추정기의 점수 방법이 사용됨을 의미합니다.
  • cv : 이 하이퍼파라미터는 사용할 교차 검증 전략을 결정합니다.기본값은 없음이며 3겹 교차 검증이 사용됨을 의미합니다.

최고의 기계 학습 과정 및 온라인 AI 과정

LJMU의 기계 학습 및 AI 과학 석사 IIITB의 머신 러닝 및 AI 전문 대학원 프로그램
IIITB의 기계 학습 및 NLP 고급 인증 프로그램 IIITB의 기계 학습 및 딥 러닝 고급 인증 프로그램 메릴랜드 대학교의 데이터 과학 및 기계 학습 최고 대학원 프로그램
모든 과정을 살펴보려면 아래 페이지를 방문하십시오.
기계 학습 과정

재귀 기능 제거의 미래

RFE(Recursive Feature Elimination)의 미래는 기계 학습에서 특징 선택을 위한 인기 있는 기술로 계속해서 유망해 보입니다. 생성되는 데이터의 양이 증가하고 보다 효율적이고 정확한 모델이 필요함에 따라 기능 선택은 기계 학습 파이프라인에서 필수 단계가 되고 있습니다.

최근 연구에 따르면 RFE는 데이터의 차원을 줄이고 관련이 없거나 중복되는 기능을 제거하여 기계 학습 모델의 성능을 크게 향상시킬 수 있습니다. 예를 들어, NCBI 의 연구에서 RFE는 기능적 자기 공명 영상(fMRI) 데이터를 기반으로 우울증 환자를 분류할 때 기능 선택에 사용되었습니다. 결과는 RFE가 우울증의 임상적 진단과 높은 상관관계가 있는 기능의 하위 집합을 선택했음을 보여주었습니다.

기계 학습 분야가 계속 성장함에 따라 보다 정교하고 효율적인 기능 선택 기술이 필요합니다. 관심을 끌고 있는 연구 분야 중 하나는 기능 선택을 위한 딥 러닝의 사용입니다. 그러나 딥 러닝 모델은 계산 비용이 많이 들고 대용량 데이터 교육이 필요한 경우가 많습니다.

반면에 RFE는 다양한 모델과 데이터 세트에 적용할 수 있는 간단하고 효과적인 기술입니다. 따라서 RFE는 인기 있는 특징 선택 기법으로 계속 사용될 가능성이 높습니다.

주문형 기계 학습 기술

인공 지능 과정 Tableau 과정
NLP 과정 딥 러닝 과정

결론

결론적으로 RFE(Recursive Feature Elimination)는 진화하는 구현에 따라 밝은 미래를 감독하는 기계 학습에서 기능 선택을 위한 효과적인 기술입니다. 효과적인 특징 선택 기법인 RFE는 의료 진단, 생물정보학, 이미지 분석 등 다양한 영역에서 활용을 촉진하며 불굴의 확장을 더하고 있습니다.

기계 학습 및 AI에 대해 자세히 알아보려면 IIIT Bangalore와 협력하여 upGrad의 기계 학습 및 AI PG 디플로마 프로그램 에 등록하는 것이 좋습니다. 이 포괄적인 프로그램은 RFE와 같은 기능 선택 기술을 포함하여 기계 학습 및 AI의 최신 도구와 기술을 다룹니다.

이 프로그램은 실제 응용 프로그램을 위한 기계 학습 모델을 구축하고 배포하는 데 필요한 기술과 지식을 제공합니다.

지금 신청 하고 upGrad와 함께 몰입형 학습의 다양한 혜택을 누리세요!

관리, 데이터 과학, 기계 학습, 디지털 마케팅 및 기술 분야에서 upGrad가 제공하는무료 과정을확인할 수도 있습니다. 이 모든 과정에는 최고 수준의 학습 리소스, 주간 라이브 강의, 업계 과제 및 과정 수료증이 모두 무료입니다!

인기 있는 AI 및 ML 블로그 및 무료 과정

IoT: 역사, 현재 및 미래 기계 학습 자습서: ML 알아보기 알고리즘이란 무엇입니까? 간단하고 쉬운
인도의 로봇 공학 엔지니어 급여 : 모든 역할 기계 학습 엔지니어의 하루: 그들은 무엇을 합니까? IoT(사물인터넷)란?
순열 대 조합 : 순열과 조합의 차이점 인공 지능 및 머신 러닝의 7대 트렌드 R을 사용한 기계 학습: 알아야 할 모든 것
AI 및 ML 무료 과정
NLP 소개 신경망 딥 러닝의 기초 선형 회귀: 단계별 가이드
현실 세계의 인공 지능 Tableau 소개 Python, SQL 및 Tableau를 사용한 사례 연구

기능 선택을 위한 RFE와 PCA의 차이점은 무엇입니까?

RFE와 주성분 분석(PCA)은 모두 기능 선택에 사용되는 기술입니다. 둘 사이의 주요 차이점은 PCA는 원래 속성을 새로운 세트로 수정하는 반면 RFE는 원래 속성을 제거한다는 것입니다.

RFE를 사용하여 선택할 최적의 기능 수를 어떻게 결정합니까?

RFE를 사용하여 선택할 최적의 기능 수를 결정하는 한 가지 방법은 교차 검증을 수행하고 검증 세트에서 최상의 성능을 제공하는 기능 수를 선택하는 것입니다. 또 다른 방법은 해당 모델 성능에 대한 기능 수를 표시하는 scree plot을 사용하는 것입니다.

비지도 학습 작업에 RFE를 사용할 수 있습니까?

아니요, RFE는 기능을 선택하기 위해 레이블이 지정된 데이터가 필요한 감독 학습 기술입니다. 클러스터링 또는 차원 감소와 같은 다른 기술은 레이블이 지정된 데이터가 없는 비지도 학습 작업에서 기능 선택에 사용될 수 있습니다.