랜덤 포레스트 알고리즘 최적화에 대해 알아야 할 모든 것

게시 됨: 2020-12-22

기계 학습 프로그램을 구축하고 이를 훈련하기 위해 랜덤 포레스트 모델을 사용했다고 가정합니다. 그러나 프로그램의 출력/결과가 원하는 만큼 정확하지 않습니다. 그래서 당신은 무엇을합니까?

기계 학습 프로그램의 출력을 향상시키기 위해 기계 학습 모델을 개선하는 세 가지 방법이 있습니다.

  • 입력 데이터 품질 및 기능 엔지니어링 개선
  • 알고리즘의 초매개변수 조정
  • 다양한 알고리즘 사용

그러나 이미 사용 가능한 모든 데이터 소스를 사용했다면 어떻게 될까요? 다음 논리적 단계는 초매개변수 조정입니다. 따라서 랜덤 포레스트 모델로 기계 학습 프로그램을 만들고 최상의 데이터 소스를 사용했으며 프로그램의 출력을 더욱 향상시키려면 랜덤 포레스트 하이퍼파라미터 튜닝 을 선택해야 합니다 .

랜덤 포레스트 하이퍼파라미터 튜닝 에 대해 알아보기 전에 , 먼저 하이퍼파라미터와 하이퍼파라미터 튜닝 전반에 대해 살펴보겠습니다.

목차

하이퍼파라미터란 무엇입니까?

머신 러닝의 맥락에서 하이퍼파라미터는 해당 값이 모델의 학습 프로세스를 제어하는 ​​데 사용되는 파라미터입니다. 모델 외부에 있으며 데이터에서 값을 추정할 수 없습니다.

랜덤 포레스트 하이퍼파라미터 튜닝 의 경우 하이퍼파라미터에는 노드 분할 동안 결정 트리의 수와 각 트리에서 고려하는 기능의 수가 포함됩니다.

초매개변수 조정이란 무엇입니까?

하이퍼파라미터 튜닝은 머신 러닝 문제에 대한 이상적인 하이퍼파라미터 세트를 찾는 프로세스입니다.

하이퍼파라미터와 하이퍼파라미터 튜닝이 무엇인지 알아보았으니 이제 랜덤 포레스트의 하이퍼파라미터와 랜덤 포레스트 하이퍼파라미터 튜닝 에 대해 알아보겠습니다 .

읽기: 의사결정나무 인터뷰 질문

랜덤 포레스트 초매개변수 조정이란 무엇입니까?

랜덤 포레스트 하이퍼파라미터 튜닝 이 무엇인지 이해하기 위해 5개의 하이퍼파라미터와 각각에 대한 하이퍼파라미터 튜닝을 살펴보겠습니다.

초매개변수 1: max_depth

max_depth는 랜덤 포레스트 알고리즘에서 트리의 루트 노드와 리프 노드 사이의 가장 긴 경로입니다. 이 하이퍼파라미터를 조정하여 랜덤 포레스트 알고리즘에서 트리가 성장하기를 원하는 깊이까지 제한할 수 있습니다. 이 하이퍼파라미터는 거시적 수준에서 작업하여 의사결정 트리의 성장을 줄입니다.

초매개변수 2: max_terminal_nodes

이 하이퍼파라미터는 트리의 노드 분할에 대한 조건을 설정하여 랜덤 포레스트에서 의사결정 트리의 성장을 제한합니다. 노드의 분할은 중지되고 분할 후 지정된 수보다 많은 터미널 노드가 있으면 트리의 성장이 중지됩니다.

예를 들어 트리에 단일 노드가 있고 최대 터미널 노드가 4개로 설정되어 있다고 가정합니다. 노드가 하나뿐이므로 먼저 노드가 분할되고 트리가 더 자랍니다. 분할이 최대 한도인 4에 도달한 후 분할이 종료되므로 의사결정 트리는 더 이상 성장하지 않습니다. max_terminal_nodes 하이퍼파라미터 조정을 사용하면 과적합을 방지하는 데 도움이 됩니다. 그러나 튜닝 값이 매우 작으면 포리스트가 과소적합될 가능성이 있습니다.

관련 읽기: 의사 결정 트리 분류

초매개변수 3: n_estimators

데이터 과학자는 항상 고려해야 할 의사 결정 트리의 수에 대한 딜레마에 직면해 있습니다. 더 많은 수의 나무를 선택하는 것이 올바른 방법이라고 말할 수 있습니다. 이것은 사실일 수 있지만 랜덤 포레스트 알고리즘의 시간 복잡성도 증가시킵니다.

n_estimators 하이퍼파라미터 조정을 통해 랜덤 포레스트 모델의 트리 수를 결정할 수 있습니다. n_estimators 매개변수의 기본값은 10입니다. 이는 기본적으로 10개의 서로 다른 의사 결정 트리가 구성됨을 의미합니다. 이 하이퍼파라미터를 조정하여 구성될 트리 수를 변경할 수 있습니다.

초매개변수 4: max_features

이 하이퍼파라미터 조정을 통해 포리스트의 각 트리에 제공할 기능의 수를 결정할 수 있습니다. 일반적으로 max features의 값을 6으로 설정하면 모델의 전체적인 성능이 가장 높다는 것을 알 수 있다. 그러나 최대 기능 매개변수 값을 기본값으로 설정할 수도 있습니다. 기본값은 데이터세트에 있는 기능 수의 제곱근입니다.

초매개변수 5: min_samples_split

이 하이퍼파라미터 조정은 내부 리프 노드를 분할하는 데 필요한 최소 샘플 수를 결정합니다. 기본적으로 이 매개변수의 값은 2입니다. 즉, 내부 노드를 분할하려면 최소한 두 개의 샘플이 있어야 합니다.

랜덤 포레스트 초매개변수 조정을 수행하는 방법?

모델을 생성하는 함수를 호출하여 랜덤 포레스트 하이퍼파라미터 튜닝 을 수동으로 수행해야 합니다 . 랜덤 포레스트 하이퍼파라미터 튜닝 은 이론적인 것보다 실험적인 접근 방식에 가깝습니다. 따라서 하이퍼파라미터 조정의 다양한 조합을 시도하고 결정하기 전에 각각의 성능을 평가해야 할 수 있습니다.

예를 들어, 랜덤 포레스트 알고리즘에서 추정기의 수와 트리의 최소 분할을 조정해야 한다고 가정합니다. 따라서 다음 명령을 사용하여 하이퍼파라미터 조정을 수행할 수 있습니다.

숲 = RandomForestClassifier(random_state = 1, n_estimators = 20, min_samples_split = 2)

위의 예에서 추정기의 수는 기본값인 10에서 20으로 변경되었습니다. 따라서 알고리즘은 10개의 결정 트리 대신 랜덤 포레스트에 20개의 트리를 생성합니다. 마찬가지로 내부 리프 노드는 샘플이 두 개 이상인 경우에만 분할됩니다.

결론

이 블로그가 랜덤 포레스트 하이퍼파라미터 튜닝 을 이해하는 데 도움이 되었기를 바랍니다 . 기계 학습 프로그램의 출력을 향상시키기 위해 조정할 수 있는 다른 하이퍼파라미터가 많이 있습니다. 대부분의 경우 하이퍼파라미터 조정만으로도 머신 러닝 프로그램의 출력을 향상시킬 수 있습니다.

그러나 드문 경우지만 임의 포리스트 초매개변수 조정 도 도움이 되지 않을 수 있습니다. 이러한 상황에서는 선형 또는 로지스틱 회귀, KNN 또는 적합하다고 생각하는 기타 알고리즘과 같은 다른 기계 학습 알고리즘을 고려해야 합니다.

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

랜덤 포레스트 알고리즘을 사용하는 이유는 무엇입니까?

랜덤 포레스트 알고리즘은 머신 러닝에서 지도 학습 알고리즘의 범주와 관련하여 가장 널리 사용되는 모델 중 하나입니다. 랜덤 포레스트 알고리즘은 기계 학습에서 분류 및 회귀 문제를 모두 해결할 수 있습니다. 복잡한 문제를 해결하기 위해 여러 분류기를 결합하여 모델의 전반적인 기능과 결과를 향상시킬 수 있는 개념인 앙상블 학습에 중점을 둡니다. 랜덤 포레스트 알고리즘은 다른 많은 알고리즘에 비해 학습 시간이 훨씬 짧기 때문에 인기가 있습니다. 또한 데이터의 일부가 누락된 경우에도 방대한 데이터 세트에 대해 매우 정확한 예측을 제공할 수 있습니다.

의사 결정 트리와 랜덤 포레스트의 차이점은 무엇입니까?

결정 트리 알고리즘은 특정 결과로 이어지는 일련의 후속 결정을 구성하는 단일 트리를 모델링하는 머신 러닝의 지도 학습 기술입니다. 의사결정나무는 해석과 이해가 간단합니다. 그러나 더 복잡한 문제를 해결하는 데는 종종 부적절합니다. 여기서 랜덤 포레스트 알고리즘이 유용해집니다. 특정 문제를 해결하기 위해 여러 의사 결정 트리를 활용합니다. 즉, 랜덤 포레스트 알고리즘은 여러 의사 결정 트리를 무작위로 생성하고 그 결과를 결합하여 최종 결과를 생성합니다. 랜덤 포레스트는 의사 결정 트리보다 해석하기가 더 어렵지만 방대한 양의 데이터가 포함될 때 정확한 결과를 생성합니다.

랜덤 포레스트 알고리즘을 사용하면 어떤 이점이 있습니까?

랜덤 포레스트 알고리즘의 가장 큰 장점은 유연성에 있습니다. 분류 및 회귀 작업 모두에 이 기술을 사용할 수 있습니다. 다용성 외에도 이 알고리즘은 매우 편리합니다. 사용하는 기본 매개변수는 예측에서 높은 정확도를 생성하기에 충분히 효율적입니다. 또한 기계 학습 분류 모델은 과적합과 같은 문제로 잘 알려져 있습니다. 랜덤 포레스트 알고리즘에 충분한 수의 트리가 있으면 분류에서 과적합 문제를 쉽게 극복할 수 있습니다.