파이썬 의사결정트리 예제

파이썬에서 sklearn은 기계 학습 알고리즘을 구현하는 데 필요한 모든 패키지를 포함하는 패키지입니다. 아래 명령에 따라 sklearn 패키지를 설치할 수 있습니다. pip 를 사용하여 : 이 문서에서는 UCI에 제시된 밸런스 스케일 무게 및 거리 데이터베이스에 의사 결정 트리 알고리즘을 구현할 것입니다. 위의 코드가 의사 결정 트리의 개념을 전달하는 데 적합하고 중요하더라도 분류 트리 모델을 “처음부터”구현하는 방법은 sklearn에서 구현된 매우 강력한 의사 결정 트리 분류 모델이 있습니다. sklearn.tree.DecisionTree분류자¶. 이 모델 덕분에 몇 줄의 코드만으로 트리 모델을 더 빠르고 효율적이며 깔끔하게 구현할 수 있습니다. sklearn 분류 결정 트리를 사용하는 단계는 주요 sklearn API를 따릅니다: 음, 당신은 67.53 %의 분류 율을 가지고, 좋은 정확도로 간주. 의사 결정 트리 알고리즘의 매개 변수를 조정하여 이 정확도를 향상시킬 수 있습니다. 전략적 분할을 만드는 것은 나무의 정확도에 큰 영향을 미칩니다.

분류 및 회귀 트리에 대해 결정 기준이 다릅니다. 의사 결정 트리는 여러 알고리즘을 사용하여 노드를 둘 이상의 하위 노드로 분할하도록 결정합니다. 하위 노드를 만들면 결과 하위 노드의 균질성이 증가합니다. 즉, 대상 변수에 대해 노드의 순도가 증가한다고 말할 수 있습니다. 의사 결정 트리는 사용 가능한 모든 변수에서 노드를 분할한 다음 분할을 선택하여 가장 균일한 하위 노드를 만듭니다. 의사 결정 트리는 해석하기 쉽고 정규화가 필요하지 않으며 회귀 및 분류 문제에 모두 적용할 수 있습니다. 안타깝게도 의사 결정 트리는 잘 일반화되지 않기 때문에 실제로 는 거의 사용되지 않습니다. 더 나은 정확도를 달성하기 위해 여러 의사 결정 트리를 결합하는 방법인 랜덤 포리스트를 다룰 다음 기사에서 계속 지켜봐 주시기 바랍니다. 예를 들어, 바로 위의 표에서 “3. 트리 빌드”, 라인 15, 출력 목록: X2 < 2.209 Gini= 0.934 전제 조건: 의사 결정 트리, DecisionTree분류기, sklearn, numpy, 팬더 카트 (분류 및 회귀 트리) C4.5와 매우 유사하지만 수치 대상을 지원한다는 점에서 다릅니다.

변수(회귀)를 계산하지 않으며 규칙 집합을 계산하지 않습니다. CART는 각 노드에서 가장 큰 정보 이득을 생성하는 기능 및 임계값을 사용하여 이진 트리를 생성합니다. 다음으로, DecisionTreeClassifer 클래스의 인스턴스를 만들고 학습합니다. 모델은 감독된 기계 학습 알고리즘을 사용하기 때문에 y 값을 제공합니다. 의사 결정 트리는 또한 배깅, 임의의 숲 및 그라데이션 증폭과 같은 고급 앙상블 방법의 토대를 제공합니다.