기계 학습에서 의사 결정 트리 회귀의 장단점

게시 됨: 2020-12-24

가장 인기 있는 기계 학습 알고리즘 중 하나인 의사 결정 트리 회귀 는 경쟁업체와 데이터 과학 전문가 모두에서 사용합니다. 이진 규칙 집합을 기반으로 목표 값을 계산하는 예측 모델입니다.

트리 구조의 형태로 회귀 및 분류 모델을 모두 구축하는 데 사용됩니다. 데이터 세트는 의사 결정 트리에서 더 작은 하위 집합으로 분류되는 반면 연결된 의사 결정 트리는 동시에 점진적으로 구축됩니다.

의사 결정 트리는 데이터 세트에 대한 일련의 질문 수행을 기반으로 추정치에 도달하는 데 사용됩니다. 이러한 참/거짓 질문을 함으로써 모델은 가능한 값의 범위를 좁히고 예측을 할 수 있습니다. 질문의 순서와 내용은 모델 자체에 의해 결정됩니다.

목차

의사결정 트리 용어는 무엇입니까?

의사 결정 트리에는 가지, 노드, 잎 등이 있습니다. 루트 노드는 전체 샘플 또는 모집단을 나타내는 초기 노드이며 다른 노드 또는 동종 집합으로 더 나눌 수 있습니다. 결정 노드는 테스트된 속성의 개별 값을 나타내는 둘 이상의 노드로 구성됩니다.

리프/터미널 노드는 더 이상의 노드로 분할되지 않으며 결정을 나타냅니다. 분기 또는 하위 트리는 전체 트리의 하위 섹션입니다. 분할은 노드를 두 개 이상의 하위 노드로 나누는 프로세스입니다. 분할의 반대를 가지치기(pruning)라고 합니다. 즉, 결정 노드의 하위 노드를 제거합니다. 부모 노드는 하위 노드로 분할되는 노드이고, 하위 노드는 자식 노드입니다.

관련: 결정 트리 알고리즘 가이드

어떻게 작동합니까?

의사 결정 트리 알고리즘은 데이터 포인트를 사용하고 참/거짓 질문을 함으로써 전체 트리를 실행합니다. 루트 노드에서 시작하여 질문을 하고 각 답변에 대해 별도의 분기가 생성되며 이는 리프 노드에 도달할 때까지 계속됩니다. 재귀적 분할은 트리를 구성하는 데 사용됩니다.

의사 결정 트리는 감독된 기계 학습 모델이므로 모델 구축의 교육 단계에서 데이터를 출력에 매핑하는 방법을 학습합니다. 이는 모델이 정확하게 예측하는 방법을 배워야 하는 실제 값과 함께 문제와 관련되어야 하는 과거 데이터로 모델을 피팅함으로써 수행됩니다. 이는 모델이 데이터와 대상 변수 간의 관계를 학습하는 데 도움이 됩니다.

이 단계 후에 의사 결정 트리는 가장 정확한 추정을 내리는 데 도움이 되는 질문과 순서를 계산하여 유사한 트리를 만들 수 있습니다. 따라서 예측은 모델에 제공되는 훈련 데이터에 따라 달라집니다.

분할은 어떻게 결정됩니까?

분류 및 회귀 트리의 분할 결정은 다르며 트리 예측의 정확도는 이에 따라 크게 좌우됩니다. 평균 제곱 오차(MSE)는 일반적으로 의사 결정 트리 회귀 에서 노드를 두 개 이상의 하위 노드로 분할할지 여부를 결정하는 데 사용됩니다 . 이진 트리의 경우 알고리즘은 값을 선택하고 데이터를 두 개의 하위 집합으로 분할하고 각 하위 집합에 대한 MSE를 계산하고 결과로 가장 작은 MSE 값을 선택합니다.

의사 결정 트리 회귀 구현

결정 트리 회귀 알고리즘 을 구현하기 위한 기본 구조 는 다음 단계에서 제공됩니다.

라이브러리 가져오기

기계 학습 모델을 개발하는 첫 번째 단계는 개발에 필요한 모든 라이브러리를 가져오는 것입니다.

데이터 로드

라이브러리를 가져온 후 다음 단계는 데이터세트를 로드하는 것입니다. 데이터는 사용자의 로컬 폴더에서 다운로드하거나 사용할 수 있습니다.

데이터세트 분할

데이터가 로드되면 훈련 세트와 테스트 세트로 분할하고 x 및 y 변수를 생성해야 합니다. 또한 데이터를 필요한 형식으로 만들기 위해 값을 재구성해야 합니다.

모델 훈련

여기서 데이터 트리 회귀 모델은 이전 단계에서 생성된 훈련 세트를 사용하여 훈련됩니다.

결과 예측

여기서 테스트 세트의 결과는 훈련 세트에서 훈련된 모델을 사용하여 예측됩니다.

모델 평가

마지막 단계에서 실제 값과 예측 값을 비교하여 모델의 성능을 확인합니다. 이러한 값을 비교하여 모델의 정확도를 유추할 수 있습니다. 값의 그래프를 만들어 결과를 시각화하는 것도 모델의 정확도를 측정하는 데 도움이 됩니다.

읽어보기: 완벽한 의사 결정 트리를 만드는 방법은 무엇입니까?

장점

  • 결정 트리 모델은 분류 및 회귀 문제 모두에 사용할 수 있으며 해석, 이해 및 시각화가 쉽습니다.
  • 의사 결정 트리의 출력도 쉽게 이해할 수 있습니다.
  • 다른 알고리즘과 비교하여 의사 결정 트리에서 전처리 중 데이터 준비는 노력이 덜 필요하고 데이터 정규화가 필요하지 않습니다.
  • 구현은 데이터를 확장하지 않고 수행할 수도 있습니다.
  • 의사 결정 트리는 변수와 가장 중요한 변수 간의 관계를 식별하는 가장 빠른 방법 중 하나입니다.
  • 더 나은 목표 변수 예측을 위해 새로운 기능을 만들 수도 있습니다.
  • 의사 결정 트리는 이상값이나 결측값의 영향을 크게 받지 않으며 수치 및 범주형 변수를 모두 처리할 수 있습니다.
  • 비모수적 방법이기 때문에 공간 분포 및 분류기 구조에 대한 가정이 없습니다.

단점

  • 과적합은 의사결정나무 모델의 실질적인 어려움 중 하나입니다. 학습 알고리즘이 훈련 세트 오류를 ​​줄이는 가설을 계속 개발할 때 발생하지만 테스트 세트 오류는 증가합니다. 그러나 이 문제는 가지치기 및 모델 매개변수에 대한 제약 조건을 설정하여 해결할 수 있습니다.
  • 의사 결정 트리는 연속 숫자 변수와 함께 잘 사용할 수 없습니다.
  • 데이터의 작은 변화가 트리 구조에 큰 차이를 일으켜 불안정성을 유발하는 경향이 있습니다.
  • 관련된 계산도 다른 알고리즘에 비해 복잡할 수 있으며 모델을 훈련하는 데 더 오랜 시간이 걸립니다.
  • 또한 시간이 많이 걸리고 복잡성 수준이 더 높기 때문에 상대적으로 비용이 많이 듭니다.

결론

결정 트리 회귀 알고리즘 트리가 구성되는 방법과 관련된 다양한 용어에 대한 간략한 정의를 설명함으로써 이 기사를 통해 설명되었습니다. 의사 결정 트리의 작동 방식과 노드 분할에 대한 결정이 내려지는 방식에 대한 간략한 설명도 포함되어 있습니다.

기본적인 의사 결정 트리 회귀를 구현하는 방법도 일련의 단계를 통해 설명되었습니다. 마지막으로 의사결정나무 알고리즘의 장단점을 제시하였다.

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

머신 러닝에서 회귀란 무엇입니까?

회귀는 연속 변수를 예측하는 데 사용됩니다. 숫자를 예측해야 할 때입니다. 예를 들어, 집의 크기 및 도시의 면적과 같은 특성을 기반으로 도시의 집 가격을 예측하려는 경우 회귀가 사용됩니다. 회귀 문제는 선형 회귀를 사용하여 해결하기가 매우 쉽습니다. 간단히 말해서 회귀는 입력 값을 기반으로 알려지지 않은 출력 값을 추정하는 행위입니다.

의사결정나무란?

의사 결정 트리는 가능한 모든 결정과 가능한 결과를 보여주는 다이어그램입니다. 의사 결정 트리는 의사 결정이 미래 결과에 어떻게 영향을 미치는지 조사하는 데 자주 사용됩니다. 예를 들어, 의사 결정 트리는 회사가 창고를 추가로 구매해야 하는지 아니면 새로운 유통 센터를 건설해야 하는지 여부를 분석하는 데 도움이 될 수 있습니다. 일반적으로 의사 결정 트리는 운영 연구 및 관리 과학에 사용됩니다. 의사 결정 트리는 의사 결정 및 프로그램 계획에서 일반적이고 널리 사용되는 개념입니다. 가능한 과정 중 일부가 상호 배타적이고 각 행동 과정의 결과가 세계의 상태에 따라 달라질 때 행동 과정 중에서 선택하는 데 사용할 수 있습니다.

의사 결정 트리의 장점과 단점은 무엇입니까?

결정 트리 모델은 분류 또는 수치 예측을 위해 모든 종류의 문제에 사용할 수 있습니다. 모든 종류의 문제로 확장될 수 있습니다. 감독 및 비감독 분류 모두에 사용할 수 있습니다. 숫자 및 범주 기능을 혼합하여 처리할 수 있습니다. 안정적인 결과를 제공합니다. 그러나 예측의 이유를 이해하기는 어렵습니다. 모델은 트리의 각 노드에서 최상의 분할을 학습하는 것이 아니라 각 노드 내에서 클래스의 확률 분포를 학습한다는 것을 이해해야 합니다. 이 요구 사항은 모델을 계산 집약적으로 만들고 많은 양의 데이터를 처리하는 것을 방지합니다.