랜덤 포레스트 알고리즘: 언제 사용하고 어떻게 사용합니까? [장단점 포함]
게시 됨: 2020-12-24데이터 과학은 분류와 관련된 문제를 해결할 수 있는 광범위한 알고리즘을 포함합니다. 랜덤 포레스트는 일반적으로 분류 계층의 맨 위에 있습니다. 다른 알고리즘에는 지원 벡터 머신, 나이브 바이어스 분류기 및 의사결정 트리가 포함됩니다.
랜덤 포레스트 알고리즘에 대해 배우기 전에 먼저 의사결정 트리의 기본 작동과 이들이 조합하여 랜덤 포레스트를 형성하는 방법을 이해합시다.
목차
의사결정나무
의사 결정 트리 알고리즘은 지도 학습 알고리즘 범주에 속합니다. 의사 결정 트리의 목표는 훈련 과정에서 개발된 규칙을 기반으로 대상 변수의 클래스 또는 값을 예측하는 것입니다. 트리의 루트에서 시작하여 루트 속성의 값을 분류하려는 데이터 포인트와 비교하고 비교를 기반으로 다음 노드로 이동합니다.
계속해서 몇 가지 중요한 용어와 결정 트리를 다룰 때의 중요성에 대해 논의해 보겠습니다.
- 루트 노드 : 트리의 최상위 노드로, 더 동질적인 노드를 형성하기 위해 분할이 발생합니다.
- 데이터 포인트 분할 : 데이터 포인트는 분할 후 표준 편차를 줄이는 방식으로 분할됩니다.
- 정보 이득 : 정보 이득은 분할 후 달성하고자 하는 표준 편차의 감소입니다. 더 많은 표준 편차 감소는 더 동질적인 노드를 의미합니다.
- 엔트로피 : 엔트로피는 분할이 발생한 후 노드에 존재하는 불규칙성입니다. 노드에서 더 많은 동질성은 더 적은 엔트로피를 의미합니다.
읽기: 의사결정나무 인터뷰 질문
랜덤 포레스트 알고리즘의 필요성
의사결정 트리 알고리즘은 과적합, 즉 훈련 데이터에 대한 높은 정확도와 테스트 데이터에 대한 열악한 성능을 보이는 경향이 있습니다. 데이터의 과적합을 방지하는 두 가지 인기 있는 방법은 가지치기(Pruning)와 랜덤 포레스트(Random Forest)입니다. 가지치기는 나무의 전체 정확도에 영향을 주지 않고 나무 크기를 줄이는 것을 말합니다.

이제 랜덤 포레스트 알고리즘에 대해 논의해 보겠습니다.
랜덤 포레스트의 한 가지 주요 장점은 분류와 회귀 문제 모두에서 사용할 수 있다는 것입니다.
숲은 이름에서 알 수 있듯 여러 그루의 나무가 합쳐져 형성된다. 유사하게, 랜덤 포레스트 알고리즘은 더 나은 정확도를 얻기 위해 여러 기계 학습 알고리즘(의사결정 트리)을 결합합니다. 이것을 앙상블 학습이라고도 합니다. 여기에서 모델 간의 낮은 상관 관계는 개별 예측보다 더 나은 정확도를 생성하는 데 도움이 됩니다. 일부 트리가 잘못된 예측을 생성하더라도 대부분은 실제 예측을 생성하므로 모델의 전체 정확도가 증가합니다.
랜덤 포레스트 알고리즘은 다른 기계 학습 알고리즘과 마찬가지로 파이썬과 R 모두에서 구현할 수 있습니다.
Random Forest는 언제 사용하고 언제 다른 모델을 사용합니까?
우선, 문제가 선형인지 비선형인지 결정해야 합니다. 그런 다음 문제가 선형인 경우 단일 기능만 있는 경우 단순 선형 회귀를 사용해야 하고 여러 기능이 있는 경우 다중 선형 회귀를 사용해야 합니다. 그러나 문제가 비선형인 경우 다항식 회귀, SVR, 의사 결정 트리 또는 무작위
숲. 그런 다음 k-Fold Cross-Validation, Grid Search 또는 XGBoost와 같은 모델의 성능을 평가하는 매우 관련성이 높은 기술을 사용하여 문제를 해결하는 올바른 모델을 결론지을 수 있습니다.
얼마나 많은 나무를 사용해야 하는지 어떻게 알 수 있습니까?
초보자라면 실험에 필요한 나무의 수를 결정하는 것이 좋습니다. 일반적으로 모델을 조정하고 조정하여 최상의 가치를 알아내는 데 실제로 기술을 사용하는 것보다 시간이 덜 걸립니다. 트리의 수와 같은 하이퍼파라미터의 여러 값을 실험함으로써. 그럼에도 불구하고 Cover k-Fold Cross-Validation 및 Grid Search와 같은 기술을 사용할 수 있습니다. 이는 여기에서 트리 수와 같은 하이퍼파라미터의 최적 값을 결정하는 강력한 방법입니다.

랜덤 포레스트에 p-값을 사용할 수 있습니까?
여기서 p-값은 비선형 모델이므로 Random Forest의 경우 중요하지 않습니다.
자루에 담기
의사 결정 트리는 훈련된 데이터에 매우 민감하므로 과적합이 발생하기 쉽습니다. 그러나 랜덤 포레스트는 이 문제를 활용하고 각 트리가 데이터 세트에서 무작위로 샘플링하여 다른 트리 구조를 얻을 수 있습니다. 이 프로세스를 배깅이라고 합니다.
배깅은 훈련 데이터의 하위 집합을 만드는 것을 의미하지 않습니다. 그것은 단순히 우리가 여전히 훈련 데이터를 트리에 공급하지만 크기가 N임을 의미합니다. 원본 데이터 대신에 크기 N(N 데이터 포인트)의 샘플을 대체하여 가져옵니다.
기능 중요도
랜덤 포레스트 알고리즘을 사용하면 주어진 기능의 중요성과 예측에 미치는 영향을 결정할 수 있습니다. 훈련 후 각 기능의 점수를 계산하고 합산하여 1이 되는 방식으로 확장합니다. 이것은 전체 예측 프로세스에 영향을 미치지 않으므로 삭제할 기능에 대한 아이디어를 제공합니다. 기능이 적으면 모델이 과적합의 희생양이 될 가능성이 줄어듭니다.
초매개변수
하이퍼파라미터를 사용하면 모델의 예측 기능이 향상되거나 모델이 더 빨라집니다.
우선, n_estimator 매개변수는 평균 예측을 수행하기 전에 알고리즘이 빌드하는 트리의 수입니다. n_estimator 값이 높다는 것은 높은 예측으로 성능이 향상되었음을 의미합니다. 그러나 값이 높으면 모델의 계산 시간도 단축됩니다.
또 다른 하이퍼파라미터는 max_features이며, 이는 모델이 후속 노드로 분할하기 전에 고려하는 기능의 총 수입니다.

또한 min_sample_leaf 는 내부 노드를 분할하는 데 필요한 최소 리프 수입니다.
마지막으로 random_state 는 동일한 하이퍼파라미터 및 훈련 데이터와 함께 random_state의 명확한 값이 선택될 때 고정 출력을 생성하는 데 사용됩니다.
랜덤 포레스트 알고리즘의 장점과 단점
- 랜덤 포레스트는 분류 및 회귀 작업을 모두 해결할 수 있는 매우 다양한 알고리즘입니다.
- 또한 관련된 하이퍼파라미터는 이해하기 쉽고 일반적으로 기본값이 좋은 예측을 제공합니다.
- 랜덤 포레스트는 의사 결정 트리에서 발생하는 과적합 문제를 해결합니다.
- 랜덤 포레스트의 한 가지 제한 사항은 트리가 너무 많으면 알고리즘 처리가 느려져 실시간 데이터에 대한 예측에 효과가 없다는 것입니다.
더 읽어보기: 분류 알고리즘의 유형
결론
랜덤 포레스트 알고리즘은 정확도가 매우 높은 매우 강력한 알고리즘입니다. 투자 은행, 주식 시장 및 전자 상거래 웹 사이트 분야에서 실제 응용 프로그램을 사용하면 매우 강력한 알고리즘을 사용할 수 있습니다. 그러나 신경망 알고리즘을 사용하면 더 나은 성능을 얻을 수 있지만 이러한 알고리즘은 때때로 복잡해지고 개발 시간이 더 오래 걸리는 경향이 있습니다.
의사 결정 트리, 기계 학습에 대해 자세히 알아보려면 작업 전문가를 위해 설계되었으며 450시간 이상의 엄격한 교육, 30개 이상의 사례 연구 및 과제, IIIT-B 동문 자격, 5개 이상의 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.
랜덤 포레스트 알고리즘을 사용할 때의 단점은 무엇입니까?
Random Forest는 정교한 기계 학습 알고리즘입니다. 결과를 찾기 위해 많은 트리를 생성하기 때문에 많은 처리 리소스가 필요합니다. 또한 이 기법은 의사결정 트리 방식과 같은 다른 알고리즘에 비해 훈련 시간이 많이 소요된다. 제공된 데이터가 선형일 경우 랜덤 포레스트 회귀가 잘 수행되지 않습니다.
랜덤 포레스트 알고리즘은 어떻게 작동합니까?
랜덤 포레스트는 포리스트가 수많은 트리로 구성되는 방식과 유사하게 다양한 의사결정 트리로 구성됩니다. 랜덤 포레스트 방법의 결과는 실제로 의사 결정 트리의 예측에 의해 결정됩니다. 랜덤 포레스트 방법은 데이터가 과적합될 가능성도 줄입니다. 랜덤 포레스트 분류는 앙상블 전략을 사용하여 원하는 결과를 얻습니다. 훈련 데이터를 사용하여 다양한 의사 결정 트리를 훈련합니다. 이 데이터 세트는 노드가 분할된 후 무작위로 선택된 관찰 및 특성으로 구성됩니다.
의사 결정 트리는 랜덤 포레스트와 어떻게 다릅니까?
랜덤 포레스트는 의사 결정 트리의 집합일 뿐이므로 이해하기가 복잡합니다. 랜덤 포레스트는 의사 결정 트리보다 읽기가 더 어렵습니다. 의사 결정 트리와 비교할 때 랜덤 포레스트는 더 많은 훈련 시간이 필요합니다. 그러나 거대한 데이터 세트를 다룰 때는 랜덤 포레스트가 선호됩니다. 과적합은 의사 결정 트리에서 더 일반적입니다. 랜덤 포레스트는 수많은 트리를 사용하기 때문에 과적합이 발생할 가능성이 적습니다.