찾다
기술 주변기기일체 포함기계 학습 결정 트리 실습

기계 학습 결정 트리 실습

Apr 11, 2023 pm 07:16 PM
기계 학습결정 트리사건

번역가 | Zhu Xianzhong

리뷰어 | Sun Shujuan

머신러닝의 결정 트리

현대 머신러닝 알고리즘이 우리의 일상을 바꾸고 있습니다. 예를 들어 BERT와 같은 대규모 언어 모델은 Google 검색을 지원하고 GPT-3는 많은 고급 언어 애플리케이션을 지원합니다.

반면에 복잡한 기계 학습 알고리즘을 구축하는 것은 그 어느 때보다 훨씬 쉬워졌습니다. 그러나 기계 학습 알고리즘이 아무리 복잡하더라도 모두 다음 학습 범주 중 하나에 속합니다.

  • 지도 학습
  • 비지도 학습
  • 준지도 학습
  • 강화 학습

사실 의사결정 트리는 가장 오래된 지도 머신러닝 알고리즘 중 하나이며 광범위한 실제 문제를 해결할 수 있습니다. 연구에 따르면 의사결정 트리 알고리즘의 최초 발명은 1963년으로 거슬러 올라갑니다.

다음으로, 이 알고리즘의 세부 사항을 자세히 살펴보고 이러한 유형의 알고리즘이 오늘날에도 여전히 인기가 있는 이유를 살펴보겠습니다.

의사결정 트리란 무엇인가요?

의사결정 트리 알고리즘은 복잡한 데이터 세트를 처리하는 상대적으로 간단한 방법 때문에 널리 사용되는 지도 기계 학습 알고리즘입니다. 의사결정 트리는 트리 구조와 유사하기 때문에 이름이 붙여졌습니다. 트리 구조는 노드와 가장자리 형태의 뿌리, 가지, 잎과 같은 여러 구성 요소로 구성됩니다. 이는 결정이 원하는 예측을 생성하는 if-else 기반 결정 흐름 차트와 유사한 결정 분석에 사용됩니다. 의사결정 트리는 if-else 의사결정 규칙을 학습하여 데이터 세트를 분할하고 최종적으로 트리와 같은 데이터 모델을 생성할 수 있습니다.

분류 문제에 대한 이산 결과 예측과 회귀 문제에 대한 연속 수치 결과 예측에 결정 트리가 적용되었습니다. 수년에 걸쳐 과학자들은 CART, C4.5와 같은 다양한 알고리즘과 랜덤 포레스트 및 그래디언트 부스트 트리와 같은 앙상블 알고리즘을 개발했습니다.

기계 학습 결정 트리 실습

의사결정 트리의 다양한 구성요소 분석

의사결정 트리 알고리즘의 목표는 입력 데이터 세트의 결과를 예측하는 것입니다. 트리 데이터 세트는 속성, 속성값, 예측 유형의 세 가지 형태로 구분됩니다. 지도 학습 알고리즘과 마찬가지로 데이터 세트는 훈련 세트와 테스트 세트의 두 가지 유형으로 나뉩니다. 그 중 훈련 세트는 알고리즘이 학습하여 테스트 세트에 적용하는 결정 규칙을 정의합니다.

의사결정 트리 알고리즘의 단계를 모으기 전에 먼저 의사결정 트리의 구성요소를 이해하겠습니다.

  • 루트 노드: 의사결정 트리 상단에 있는 시작 노드이며 모든 속성을 포함합니다. 가치. 루트 노드는 알고리즘이 학습한 결정 규칙을 기반으로 결정 노드로 나뉩니다.
  • 분기: 분기는 속성 값에 해당하는 노드 사이의 커넥터입니다. 이진 분할에서 분기는 참 경로와 거짓 경로를 나타냅니다.
  • 결정 노드/내부 노드: 내부 노드는 결정 규칙 및 해당 응답 경로에 해당하는 루트 노드와 리프 노드 사이의 결정 노드입니다. 노드는 질문을 나타내고 분기는 해당 질문을 기반으로 관련 답변에 대한 경로를 표시합니다.
  • 리프 노드: 리프 노드는 목표 예측을 나타내는 터미널 노드입니다. 이러한 노드는 더 이상 분할되지 않습니다.

다음은 의사 결정 트리와 위 구성 요소를 시각적으로 표현한 것입니다. 의사 결정 트리 알고리즘은 다음 단계를 거쳐 원하는 예측에 도달합니다.

  • 알고리즘은 모든 루트 노드에서 시작됩니다. 속성 값.
  • 루트 노드는 훈련 세트에서 알고리즘이 학습한 결정 규칙을 기반으로 결정 노드로 나뉩니다.
  • 질문과 답변 경로를 기반으로 분기/에지를 통해 내부 결정 노드를 전달합니다.
  • 리프 노드에 도달하거나 모든 속성이 사용될 때까지 이전 단계를 계속합니다.

각 노드에서 가장 좋은 속성을 선택하기 위해 분할은 다음 두 가지 속성 선택 측정 방법 중 하나를 기반으로 합니다.

  • Gini index (Gini index) 는 Gini Impurity(Gini Impurity)를 측정하여 알고리즘이 무작위 클래스 레이블을 잘못 분류할 가능성을 나타냅니다.
  • 정보 이득은 예측 클래스의 50/50 분할을 피하기 위해 분할 후 엔트로피 개선을 측정합니다. 엔트로피는 주어진 데이터 샘플의 불순도를 수학적으로 측정한 것입니다. 의사결정 트리의 혼돈 상태 50/50에 가까운 파티션 으로 표시됩니다.
  • 결정 트리 알고리즘을 이용한 꽃 분류 사례

위의 기본 지식을 이해한 후 응용 사례 구현을 시작하겠습니다. 이 기사에서는 Scikit Learning 라이브러리를 사용하여 Python으로 의사결정 트리 분류 모델을 구현합니다.

데이터 세트에 대한 간략한 설명

이 튜토리얼의 데이터 세트는 붓꽃 데이터 세트입니다. 이 데이터 세트는 이미 Scikit 오픈 소스 라이브러리에 내장되어 있으므로 개발자는 이를 외부에서 로드할 필요가 없습니다. 이 데이터 세트에는 총 4개의 붓꽃 속성과 해당 속성 값이 포함되어 있으며, 이는 세 가지 유형의 붓꽃 중 하나를 예측하기 위해 모델에 입력됩니다.

    데이터세트의 속성/특징: 꽃받침 길이, 꽃받침 너비, 꽃잎 길이, 꽃잎 너비.
  • 데이터세트의 예측 라벨/꽃 유형: Setosis, Versicolor, Virginica.
다음으로 Python 언어 기반의 의사결정나무 분류기의 단계별 코드 설명을 제공합니다.

라이브러리 가져오기

먼저 다음 코드를 통해 의사결정 트리 구현을 실행하는 데 필요한 라이브러리를 가져옵니다.

import pandas as pd
import numpy as np
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
Iris 데이터세트 로드

다음 코드는 load_iris 함수를 사용하여 data_set 변수에 저장된 sklearn.dataset 라이브러리의 Iris 데이터세트를 로드하는 방법을 보여줍니다. 다음 두 줄의 코드는 붓꽃 유형과 특성 정보를 인쇄합니다.

data_set = load_iris()
print('Iris plant classes to predict: ', data_set.target_names)
print('Four features of iris plant: ', data_set.feature_names)

기계 학습 결정 트리 실습별도의 속성과 태그

다음 코드 줄은 꽃의 특성과 종류 정보를 구분하여 해당 변수에 저장합니다. 그 중, Shape[0] 함수는 X_att 변수에 저장되는 속성의 개수를 결정하는 역할을 하며, 데이터 세트에 포함된 속성 값의 총 개수는 150개입니다.

#提取花的特性和类型信息
X_att = data_set.data
y_label = data_set.target
print('数据集中总的样本数:', X_att.shape[0])

실제로 X_att 변수의 값을 panda 라이브러리의 DataFrame 함수에 추가하여 데이터 세트의 속성 값 중 일부를 표시하는 시각적 테이블을 만들 수도 있습니다.

data_view=pd.DataFrame({
'sepal length':X_att[:,0],
'sepal width':X_att[:,1],
'petal length':X_att[:,2],
'petal width':X_att[:,3],
'species':y_label
})
data_view.head()
데이터 세트 분할

다음 코드는 train_test_split 함수를 사용하여 데이터 세트를 훈련 세트와 테스트 세트로 분할하는 방법을 보여줍니다. 그 중, 이 함수의 random_state 매개변수는 함수가 실행될 때마다 주어진 데이터 세트에 대해 동일한 결과를 제공하기 위해 임의의 시드를 제공하는 데 사용됩니다. test_size는 테스트 세트의 크기를 나타냅니다. 분할 후 25%를 차지합니다. 훈련 데이터는 75%를 차지합니다.

#数据集拆分为训练集和测试集两部分
X_att_train, X_att_test, y_label_train, y_label_test = train_test_split(X_att, y_label, random_state = 42, test_size = 0.25)
결정 트리 분류 기능 적용

아래 코드는

DecisionTreeClassifier 함수를 사용하여 분류 모델​을 생성하여 결정 트리를 구현합니다. 표준 "엔트로피" way로 설정합니다. 표준 을 사용하면 이 속성 선택 측정항목을 정보 이득(정보 이득)으로 설정할 수 있습니다. 그런 다음 코드는 모델을 속성 및 레이블의 훈련 세트와 일치시킵니다.

#应用决策树分类器
clf_dt = DecisionTreeClassifier(criterion = 'entropy')
clf_dt.fit(X_att_train, y_label_train)

计算模型精度

下面的代码负责计算并打印决策树分类模型在训练集和测试集上的准确性。为了计算准确度分数,我们使用了predict函数。测试结果是:训练集和测试集的准确率分别为100%和94.7%。

print('Training data accuracy: ', accuracy_score(y_true=y_label_train, y_pred=clf_dt.predict(X_att_train)))
print('Test data accuracy: ', accuracy_score(y_true=y_label_test, y_pred=clf_dt.predict(X_att_test)))

真实世界中的决策树应用程序

当今社会,机器学习决策树在许多行业的决策过程中都得到广泛应用。其中,决策树的最常见应用首先是在金融和营销部门,例如可用于如下一些子领域:

  • 贷款批准
  • 支出管理
  • 客户流失预测
  • 新产品的可行性分析,等等。

如何改进决策树?

作为本文决策树主题讨论的总结,我们有充分的理由安全地假设:决策树的可解释性仍然很受欢迎。决策树之所以容易理解,是因为它们可以被人类以可视化方式展现并便于解释。因此,它们是解决机器学习问题的直观方法,同时也能够确保结果是可解释的。机器学习中的可解释性是我们过去讨论过的一个小话题,它也与即将到来的人工智能伦理主题存在密切联系。

与任何其他机器学习算法一样,决策树自然也可以加以改进,以避免过度拟合和出现过于偏向于优势预测类别。剪枝和ensembling技术是克服决策树算法缺点方案最常采用的方法。决策树尽管存在这些缺点,但仍然是决策分析算法的基础,并将在机器学习领域始终保持重要位置。

译者介绍

朱先忠,51CTO社区编辑,51CTO专家博客、讲师,潍坊一所高校计算机教师,自由编程界老兵一枚。

原文标题:An Introduction to Decision Trees for Machine Learning,作者:Stylianos Kampakis

위 내용은 기계 학습 결정 트리 실습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 51CTO.COM에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
하나의 프롬프트는 모든 주요 LLM의 보호 조치를 우회 할 수 있습니다하나의 프롬프트는 모든 주요 LLM의 보호 조치를 우회 할 수 있습니다Apr 25, 2025 am 11:16 AM

Hiddenlayer의 획기적인 연구는 LLMS (Leading Lange Language Models)에서 중요한 취약점을 드러냅니다. 그들의 연구 결과는 "정책 인형극"이라는 보편적 인 바이 패스 기술을 보여줍니다.

5 가지 실수 대부분의 기업은 올해 지속 가능성으로 만듭니다.5 가지 실수 대부분의 기업은 올해 지속 가능성으로 만듭니다.Apr 25, 2025 am 11:15 AM

환경 책임과 폐기물 감소에 대한 추진은 기본적으로 비즈니스 운영 방식을 바꾸는 것입니다. 이 혁신은 제품 개발, 제조 프로세스, 고객 관계, 파트너 선택 및 새로운 채택에 영향을 미칩니다.

H20 Chip Ban Jolts China AI 회사이지만 오랫동안 충격을 받기 위해 자랑했습니다.H20 Chip Ban Jolts China AI 회사이지만 오랫동안 충격을 받기 위해 자랑했습니다.Apr 25, 2025 am 11:12 AM

Advanced AI 하드웨어에 대한 최근 제한은 AI 지배에 대한 확대 된 지정 학적 경쟁을 강조하여 중국의 외국 반도체 기술에 대한 의존도를 드러냅니다. 2024 년에 중국은 3,800 억 달러 상당의 반도체를 수입했습니다.

OpenAi가 Chrome을 구매하면 AI는 브라우저 전쟁을 지배 할 수 있습니다.OpenAi가 Chrome을 구매하면 AI는 브라우저 전쟁을 지배 할 수 있습니다.Apr 25, 2025 am 11:11 AM

Google의 Chrome의 잠재적 인 강제 매각은 기술 산업 내에서 강력한 논쟁을 불러 일으켰습니다. OpenAi가 65%의 글로벌 시장 점유율을 자랑하는 주요 브라우저를 인수 할 가능성은 TH의 미래에 대한 중요한 의문을 제기합니다.

AI가 소매 미디어의 고통을 해결할 수있는 방법AI가 소매 미디어의 고통을 해결할 수있는 방법Apr 25, 2025 am 11:10 AM

전반적인 광고 성장을 능가 함에도 불구하고 소매 미디어의 성장은 느려지고 있습니다. 이 성숙 단계는 생태계 조각화, 비용 상승, 측정 문제 및 통합 복잡성을 포함한 과제를 제시합니다. 그러나 인공 지능

'AI는 우리이고 우리보다 더 많아요''AI는 우리이고 우리보다 더 많아요'Apr 25, 2025 am 11:09 AM

깜박 거리는 스크린 모음 속에서 정적으로 오래된 라디오가 딱딱합니다. 이 불안정한 전자 제품 더미, 쉽게 불안정하게, 몰입 형 전시회에서 6 개의 설치 중 하나 인 "The-Waste Land"의 핵심을 형성합니다.

Google Cloud는 다음 2025 년 인프라에 대해 더 진지하게 생각합니다.Google Cloud는 다음 2025 년 인프라에 대해 더 진지하게 생각합니다.Apr 25, 2025 am 11:08 AM

Google Cloud의 다음 2025 : 인프라, 연결 및 AI에 대한 초점 Google Cloud의 다음 2025 회의는 수많은 발전을 선보였으며 여기에서 자세히 설명하기에는 너무 많았습니다. 특정 공지 사항에 대한 심도있는 분석은 My의 기사를 참조하십시오.

Talking Baby ai Meme, Arcana의 550 만 달러 AI 영화 파이프 라인, IR의 비밀 후원자 공개Talking Baby ai Meme, Arcana의 550 만 달러 AI 영화 파이프 라인, IR의 비밀 후원자 공개Apr 25, 2025 am 11:07 AM

이번 주 AI 및 XR : AI 구동 창의성의 물결은 음악 세대에서 영화 제작에 이르기까지 미디어와 엔터테인먼트를 통해 휩쓸고 있습니다. 헤드 라인으로 뛰어 들자. AI 생성 콘텐츠의 영향력 증가 : 기술 컨설턴트 인 Shelly Palme

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기