成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

機器學習決策樹實戰演練

譯文
人工智能 機器學習
現代機器學習算法正在改變我們的日常生活,特別是今天想開發出一些復雜的機器學習算法比以往任何時候都容易得多。本文將以機器學習中的決策樹算法及其應用作為實戰案例來論證這一觀點。

譯者 | 朱先忠

審校 | 孫淑娟

機器學習中的決策樹

現代機器學習算法正在改變我們的日常生活。例如,像BERT這樣的大型語言模型正在為谷歌搜索提供支持,GPT-3正在為許多高級語言應用程序提供支持。

另一方面,今天構建復雜的機器學習算法比以往任何時候都容易得多。然而,無論機器學習算法有多么復雜,都屬于把它們歸納為以下學習類別之一:

  • 監督學習
  • 無監督學習
  • 半監督學習
  • 強化學習

其實,決策樹算是最古老的有監督的機器學習算法之一,可以解決廣泛的現實問題。研究表明,決策樹算法的最早發明可以追溯到1963年。

接下來,讓我們深入研究一下這個算法的細節,看看為什么這類算法今天仍然廣為流行。

什么是決策樹?

決策樹算法是一種流行的有監督機器學習算法,因為它處理復雜數據集的方法相對簡單得多。決策樹的名字來源于它們與“樹”這種結構的相似性;樹結構包括以節點和邊緣形式存在的根、枝和葉等幾個組成部分。它們用于決策分析,很像一個基于if-else的決策流程圖,這些決策會產生所需的預測。決策樹能夠學習這些if-else決策規則,從而拆分數據集,最后生成樹狀數據模型。

決策樹在分類問題的離散結果預測和回歸問題的連續數值結果預測中得到了應用。多年來科學家們開發出了許多不同的算法,如CART、C4.5和ensemble算法,如隨機森林和梯度增強樹等。

剖析決策樹的各個組成部分

決策樹算法的目標是預測輸入數據集的結果。樹的數據集共劃分為三種形式:屬性、屬性的值和要預測的種類。與任何監督學習算法一樣,數據集被劃分為訓練集和測試集兩種類型。其中,訓練集定義了算法學習并應用于測試集的決策規則。

在聚集介紹決策樹算法的步驟之前,讓我們先來了解一下決策樹的組成部分:

  • 根節點:它是決策樹頂部的起始節點,包含所有屬性值。根節點根據算法學習到的決策規則分成決策節點。
  • 分支:分支是對應于屬性值的節點之間的連接器。在二進制拆分中,分支表示真路徑和假路徑。
  • 決策節點/內部節點:內部節點是根節點和葉節點之間的決策節點,對應于決策規則及其答案路徑。節點表示問題,分支顯示基于這些問題的相關答案的路徑。
  • 葉節點:葉節點是表示目標預測的終端節點。這些節點不會進一步分裂。

以下是決策樹及其上述組件的可視化表示,決策樹算法經過以下步驟以達到所需的預測:

  • 算法從具有所有屬性值的根節點開始。
  • 根節點根據算法從訓練集中學習到的決策規則分成決策節點。
  • 基于問題及其答案路徑,通過分支/邊緣傳遞內部決策節點。
  • 繼續前面的步驟,直到到達葉節點或使用了所有屬性。

為了在每個節點上選擇最佳屬性,將根據以下兩個屬性選擇度量之一進行拆分:

  • ??基尼系數??Gini index測量基尼不純度(Gini Impurity),以指示算法對隨機類別標簽進行錯誤分類的可能性。
  • ??信息增益??測量分割后熵的改善,以避免預測類的50/50分割。熵是給定數據樣本中不純度的數學度量。決策樹中的混沌狀態接近50/50的劃分表示。

使用決策樹算法的花卉分類案例

在了解了上述基礎知識后,接下來讓我們著手實現一個應用案例。在本文中,我們將使用Scikit學習庫在Python中實現決策樹分類模型。

關于數據集的簡單說明

本教程的數據集是一個鳶尾花數據集。Scikit開源庫中已經內置了這個數據集,所以不需要開發人員再從外部加載它。該數據集共包括四個鳶尾屬性及相應的屬性值,這些屬性將被輸入到模型中,以便預測三種類型的鳶尾花之一。

  • 數據集中的屬性/特征:萼片長度、萼片寬度、花瓣長度、花瓣寬度。
  • 數據集中的預測標簽/花卉類型: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庫中的鳶尾花數據集。接下來的兩行代碼將實現打印鳶尾花類型和特征信息。

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表示測試集的大小;0.25表示拆分后測試數據占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函數創建一個??分類模型??來實現棵決策樹,分類標準設置為“entropy”方式。該標準能夠將屬性選擇度量設置為信息增益Information gain)。然后,代碼將模型與我們的屬性和標簽訓練集相匹配。

#應用決策樹分類器
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

責任編輯:華軒 來源: 51CTO
相關推薦

2017-11-21 13:00:20

機器學習決策樹可視化

2017-05-10 15:41:29

機器學習算法數據

2017-07-18 16:25:31

機器學習算法決策樹

2012-08-06 09:04:01

決策樹建模

2017-10-18 14:11:20

機器學習決策樹隨機森林

2024-09-11 08:34:28

2014-07-07 10:05:57

機械學習

2022-11-11 08:00:00

決策樹機器學習監督學習

2016-09-30 16:12:47

GBDT算法決策樹

2020-12-22 19:37:04

決策樹機器學習人工智能

2018-02-02 17:08:48

機器學習算法決策樹

2019-05-15 09:00:00

決策樹機器學習人工智能

2018-02-02 15:50:07

決策樹Apache Spar數據

2017-09-11 13:33:44

大數據數據可視化決策樹

2017-12-12 12:24:39

Python決策樹

2020-11-02 13:54:41

Python可視化決策樹

2021-11-08 07:11:49

決策樹數據分類器

2025-06-17 04:00:00

2022-01-24 09:00:00

機器學習決策樹算法

2023-08-11 17:30:54

決策樹機器學習算法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产日韩一区二区三区 | 亚洲一一在线 | 成人二区| 国产日韩视频 | 视频三区 | 婷婷五月色综合 | 九九九色 | 日本三级全黄三级三级三级口周 | 成人黄页在线观看 | 精品少妇v888av | 欧美日一区二区 | 精品国产视频在线观看 | 精品欧美一区二区三区久久久 | 欧美精品中文字幕久久二区 | 精品日韩 | 精品久久久久久久 | 99亚洲视频 | 欧美激情欧美激情在线五月 | 成人a在线观看 | 亚洲福利一区二区 | 国产精品夜间视频香蕉 | 日韩精品一区二区三区在线观看 | 毛片免费视频 | 国产精品久久久一区二区三区 | 一区二区三区四区不卡视频 | 欧美99| 中文字幕在线一区 | 亚洲精品久久久久久久久久久久久 | 亚洲小视频在线观看 | 亚欧精品一区 | 精品久久久av | 国户精品久久久久久久久久久不卡 | 欧美精品在线播放 | 欧美群妇大交群中文字幕 | 成年人在线视频 | 日本高清视频在线播放 | 草比网站| 日本成人福利视频 | 久草热在线 | 国产欧美久久精品 | 日本久久精品视频 |