파이썬 의사결정나무 예제

안녕하세요 제이슨, 이것은 당신이 게시 한 좋은 기사입니다. 정말 나에게 많은 도움이되었습니다. 우연히 당신은이 튜토리얼의 확장의 링크가 있습니까 – 크로스 엔트로피와 나무 가지 치기? 이제 ID3 알고리즘의 주요 단계를 알고 있으므로 파이썬에서 처음부터 자체 의사 결정 트리 분류 모델을 만들기 시작합니다. 가장 귀엽고 사랑스러운 감독 알고리즘 중 하나는 의사 결정 트리 알고리즘입니다. 그것은 또한 회귀 목적뿐만 아니라 분류 모두에 사용될 수있다. 안녕하세요 제이슨, 좋은 튜토리얼! 작은 데이터 집합에서 코드를 실행한 다음 이 프로세스를 Excel에서 수동으로 복제하여 더 깊이 이해했습니다. 마지막으로 sklearn에서 동일한 데이터를 사용하려고했지만 동일한 결과를 얻을 수 없었습니다. DecisionTreeClassifier에서 sklearn이 코드와 다르게/추가적으로 수행되는 것은 무엇입니까? 감사!!! 우리는 무기한 분할에 갈 수 없습니다. 따라서 언제 멈출지 나무에 알리는 방법이 필요합니다. DecisionTreeClassifer의 scikit 학습 구현은 최소 불순물 감소를 사용하여 노드를 분할해야 하는지 여부를 결정합니다. 데이터가 학습 및 테스트 집합으로 분할되면 마지막 단계는 이 데이터에 대한 의사 결정 트리 알고리즘을 학습하고 예측을 하는 것입니다. Scikit-Learn에는 다양한 의사 결정 트리 알고리즘에 대한 기본 제공 클래스/메서드가 포함된 트리 라이브러리가 포함되어 있습니다.

여기서 분류 작업을 수행하려고 하므로 이 예제에 DecisionTree분류자 클래스를 사용합니다. 이 클래스의 맞춤 메서드는 맞춤 메서드에 매개 변수로 전달되는 학습 데이터에 대한 알고리즘을 학습하기 위해 호출됩니다. 알고리즘을 학습하기 위해 다음 스크립트 실행: 세 분할 중 어느 것이 더 나은지 결정하기 위해 불순물이라는 개념을 소개합니다. 불순물은 잎 중 어느 것도 100 % “예 결혼”이 없다는 사실을 말합니다. 불순물 (분할의 품질)을 측정 하는 몇 가지 방법이 있습니다., 그러나, decisionTreeClassifer의 scikit-learn 구현 기본적으로 지니를 사용 하 여, 따라서, 그건 우리가이 문서에서 다룰 거 야. 이 섹션에서는 파이썬의 Scikit-Learn 라이브러리를 사용하여 의사 결정 트리 알고리즘을 구현합니다. 다음 예제에서는 의사 결정 트리를 사용하여 회귀 문제뿐만 아니라 분류를 모두 해결합니다. 제 생각에, Decision Tree 모델은 기계 학습을 사용하여 의사 결정 능력을 향상시키는 방법을 강조하는 데 도움이 됩니다. 우리는 모두 어느 시점에서 결정 트리를 만났습니다. 그러나 Decision Tree 기계 학습 모델이 다른 점은 직관과 주관성에 기초하여 규칙을 선택하는 대신 논리와 수학을 사용하여 규칙을 생성한다는 사실입니다. 또 다른 의사 결정 트리 알고리즘 CART(분류 및 회귀 트리)는 Gini 메서드를 사용하여 분할 점을 만듭니다. 음, 당신은 67.53 %의 분류 율을 가지고, 좋은 정확도로 간주.

의사 결정 트리 알고리즘의 매개 변수를 조정하여 이 정확도를 향상시킬 수 있습니다. #to 레이블을 추가하지만 교육 데이터의 일부가 아닌 pd.read_csv (r`H:PythonTreedata_banknote_authentication.txt`, 헤더 = 없음) 데이터 집합 = pd. DataFrame(데이터) dataset.columns = [`var`, `기울이기`, `커트`, `엔트`, `빈`] ID3(반복적 이분조제 3)는 1986년 로스 퀸란에 의해 개발되었다. 알고리즘은 다중 방향 트리를 생성하여 각 노드(예: 탐욕스러운 방식으로)에 대해 범주형 대상에 대해 가장 큰 정보 이득을 얻을 수 있는 범주별 기능을 찾습니다. 나무는 최대 크기로 성장한 다음 일반적으로 보이지 않는 데이터를 일반화하는 트리의 기능을 향상시키기 위해 가지 치기 단계가 적용됩니다. 이 프로젝트는 의사 결정 트리 일러스트를 목표로하기 때문에 이것은 간단한 EDA입니다. 이 예제는 파이썬 2.7을 위해 작성되었으며이 버전을 사용하고 있는지 확인합니다. 이제 의사 결정 트리 알고리즘을 사용하여 사용자 고유의 데이터 집합을 분석할 수 있기를 바랍니다. 이 자습서에서는 Decision Tree에 대한 많은 세부 정보를 다루었습니다. Python Scikit-learn 패키지를 사용하여 당뇨병 데이터 집합에 대한 정보 이득, 게인 비율 및 지니 인덱스, 의사 결정 트리 모델 구축, 시각화 및 평가와 같은 특성 선택 측정이 작동하고 있습니다.