완벽한 의사 결정 트리를 만드는 방법 | 의사결정 트리 알고리즘 [예제 포함]

게시 됨: 2020-03-30

'의사결정 트리를 만드는 방법' 또는 'Java로 의사결정 트리를 만들 수 있습니까?'가 궁금하시다면 제대로 찾아오셨습니다. 이 기사에서는 의사 결정 트리에 대해 자세히 논의하는 것과 같은 질문에 대한 답변을 찾을 수 있습니다. 그것들이 무엇인지, 왜 그렇게 인기가 있는지, 어떻게 만들 수 있는지 알게 될 것입니다.

의사 결정 트리를 만들기 전에 선형 회귀 및 알고리즘과 같은 몇 가지 다른 주제에 대해 잘 알고 있어야 합니다.

더 읽어보기: R의 의사결정나무

목차

의사결정나무란?

의사 결정 트리는 특정 선택의 가능한 모든 결과에 대한 지도를 제공합니다. 다양한 선택에 따라 다양한 시나리오에서 향후 작업을 계획하는 데 도움이 될 수 있습니다. 확률과 비용을 기준으로 가능한 결과를 비교할 수 있습니다.

이름에서 알 수 있듯이 의사 결정 트리는 트리와 유사한 그래프를 보여줍니다. 그것은 모든 결정의 결과와 결과와 함께 결정의 모델입니다. 궁극적인 목표는 가능한 가장 적은 수의 선택을 통해 분류를 올바르게 수행하도록 돕는 것입니다.

의사 결정 트리를 사용하여 부울 함수를 나타낼 수도 있습니다. 의사결정 트리의 각 리프 노드는 클래스 레이블이며 트리의 내부 노드는 속성을 보여줍니다. 그것들은 하나의 노드에서 시작하여 모든 가능성으로 분기됩니다. 모든 분기는 다른 가능한 결과를 나타내는 더 많은 노드로 이어집니다. Java로 의사결정 트리를 작성할 수 있습니다.

의사 결정 트리에는 다양한 종류의 노드가 있습니다.

  • 결정 노드
  • 찬스 노드
  • 끝 노드

끝 노드는 결정 경로의 최종 결과를 반영하는 반면 기회 노드는 특정 결과의 기회를 나타냅니다. 결정 노드는 가능한 결과로 이어질 결정을 나타냅니다. 의사 결정 트리를 사용하여 알고리즘 예측을 매핑하고 비공식적인 결정을 내릴 수 있습니다.

이제 의사 결정 트리가 무엇인지 알게 되었으므로 조금 더 깊이 파고들어 왜 이것이 널리 퍼져 있는지 이해해야 합니다. 뛰어들어봅시다.

의사결정나무의 적용

다음은 의사 결정 트리의 몇 가지 응용 프로그램으로 얼마나 널리 퍼져 있는지 확인할 수 있습니다.

  • 은행은 대출 신청을 분류하는 데 사용합니다.
  • 재무 전문가는 옵션 가격 책정을 위해 의사 결정 트리를 사용합니다.
  • 응시자의 전문성 수준에 따라 시험지 분류
  • 채용 제안을 수락할지 거부할지 선택
  • 회사가 제품을 수정해야 하는지 여부와 같은 필수적인 비즈니스 결정을 내립니다.

당신은 당신의 삶에서 다양한 선택을 할 때 스스로 의사결정나무를 사용했을 것입니다. 복잡한 결정을 내려야 했던 몇 가지 시나리오를 생각해 보세요.

의사결정나무의 장점

의사 결정 트리를 사용하면 많은 이점이 있습니다. 다음은 다음과 같습니다.

  • 의사 결정 트리는 쉽게 이해할 수 있는 규칙을 생성합니다. 이러한 규칙을 다른 시스템에 전달하는 데 어려움이 없을 것입니다.
  • 범주형 변수와 연속형 변수를 모두 처리할 수 있습니다.
  • 의사 결정 트리는 모든 필드의 중요성에 대한 간단한 표시를 제공합니다. 이에 따라 쉽게 예측(또는 분류)을 할 수 있습니다.
  • 또한 의사 결정 트리는 데이터 탐색에 도움이 되는 기능 선택을 암시적으로 수행합니다.

자세히 알아보기: 인공 지능 알고리즘

의사결정나무의 단점

모든 것에는 결점이 있으며 의사결정나무도 예외는 아닙니다. 다음은 사용과 관련된 몇 가지 문제입니다.

  • 의사 결정 트리는 추정 작업을 수행하는 데 유용하지 않습니다. 그러한 작업은 연속적인 속성 값의 예측이 필요하고 의사 결정 트리는 이에 적합하지 않기 때문입니다.
  • 계산상으로 결정 트리는 다른 옵션보다 비용이 많이 듭니다. 결정 트리 모델을 다른 모델과 비교하여 훈련시키는 데도 많은 비용이 듭니다. 의사 결정 트리를 만드는 데 사용하는 가지치기 알고리즘도 많은 하위 트리를 구축해야 하기 때문에 비용이 많이 듭니다.
  • 많은 수의 클래스 예제가 있지만 교육 예제 수가 적은 경우 의사 결정 트리가 그다지 정확하지 않고 오류를 포함할 가능성이 상당히 높습니다.

의사 결정 트리를 만드는 방법

사람이 컴퓨터를 살 것인지 여부에 대한 의사 결정 트리를 만들어 보겠습니다. 이 경우 '예'와 '아니요'의 두 가지 클래스가 있습니다. 첫 번째 부류는 컴퓨터를 살 의향이 있는 사람들을 말하며, 두 번째 부류는 사지 않을 사람들을 가리킵니다. 먼저 이러한 클래스에 대한 정보 이득 및 엔트로피를 계산합니다.

이러한 클래스의 엔트로피를 계산한 후에는 정보 획득에 중점을 둘 것입니다. Entropy의 값을 다음과 같이 분류할 수 있습니다.

Entropy가 0이면 데이터가 순수(균질)함을 의미합니다.

Entropy가 1이면 데이터가 불순함(반분할)

엔트로피가 불순하다고 가정해 봅시다. 그런 다음 우리는 나이에 대한 정보 이득을 나눌 것입니다. 이렇게 하면 특정 연령대의 사람들이 이 제품을 구매하고 구매하지 않을 사람이 얼마나 되는지 데이터에 표시됩니다. 여러 속성에 대한 정보 이득을 계산할 수 있습니다. 그러나 우리의 예에서 우리는 정보 이득이 '나이'에 대해 가장 높고 '소득'에 대해 가장 낮다는 것을 발견했습니다. 그래서, 우리는 그것을 갈 것입니다.

이 의사 결정 트리의 분류 규칙은 다음과 같습니다.

누군가의 나이가 30세 미만이고 그 사람이 학생이 아닌 경우 다음과 같이 제품을 구매하지 않습니다.

연령(<30) ^ 학생(아니오) = 아니오

그러나 나이가 30세 미만이고 학생이라면 다음 제품을 구매할 것입니다.

연령(<30)^ 학생(예) = 예

이제 그들의 나이가 31세에서 40세 사이라면 분명히 제품을 구매할 것입니다.

나이(31…40) = 예

40세 이상이고 신용 등급이 높은 사람은 다음을 구매하지 않습니다.

연령(>40)^ 신용등급(높음) = NO

반면에 40세 이상이지만 평균 신용등급이 있는 사람은 다음과 같이 제품을 구매할 것입니다.

연령(>40)^ 신용등급(보통) = 예

이 단계를 따르면 어려움 없이 완벽한 의사 결정 트리를 만들 수 있습니다 .

다음에 대해 자세히 알아보기: 당신이 알아야 할 상위 9가지 머신 러닝 라이브러리

결론

이제 의사 결정 트리를 만드는 방법을 알아야 합니다. 기계 학습 과정에서 의사 결정 트리와 관련 알고리즘에 대해 훨씬 더 많이 배울 수 있습니다. Java로 의사 결정 트리를 생성하는 방법, 실생활에서 이를 사용하는 방법 등을 배우게 되므로 지식을 향상시킬 수 있을 것이라고 확신합니다.

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

AI 주도 기술 혁명 주도

기계 학습 및 인공 지능 PG 디플로마
지금 신청