決策樹回歸:2022 年你需要知道的

已發表: 2021-01-03

首先,回歸模型是一種在給定一些也是數字的輸入值時給出一個數字值作為輸出的模型。 這與分類模型的作用不同。 它將測試數據分類為給定問題陳述中涉及的各種類別或組。

組的大小可以小至 2 人,大至 1000 人或更多。 有多種回歸模型,如線性回歸、多元回歸、嶺回歸、邏輯回歸等等。

決策樹回歸模型也屬於這個回歸模型池。 預測模型將分類或預測利用二進制規則確定輸出或目標值的數值。

決策樹模型,顧名思義,是一種具有葉子、分支和節點的樹狀模型。

目錄

要記住的術語

在我們深入研究算法之前,這裡有一些重要的術語,你們都應該知道。

1.根節點:它是分裂開始的最頂層節點。

2.Splitting:將單個節點細分為多個子節點的過程。

3.終端節點或葉節點:不進一步分裂的節點稱為終端節點。

4.Pruning:去除子節點的過程。

5.父節點:進一步分裂為子節點的節點。

6.子節點:從父節點中冒出來的子節點。

閱讀:決策樹算法指南

它是如何工作的?

決策樹將數據集分解為更小的子集。 一個決策葉分為兩個或多個分支,代表被檢查屬性的值。 決策樹中最頂層的節點是最好的預測器,稱為根節點。 ID3 是構建決策樹的算法。

它採用自上而下的方法,並根據標準偏差進行拆分。 只是為了快速修訂,標準偏差是一組數據點與其平均值的分佈或分散程度。

它量化了數據分佈的整體可變性。 離散度或變異性的值越高,意味著標準偏差越大,表明數據點與平均值的距離越大。 我們使用標準偏差來衡量樣品的均勻性。

如果樣本是完全同質的,則其標準偏差為零。 同樣,異質性程度越高,標準差越大。 計算標準偏差需要樣本均值和样本數。

我們使用了一個數學函數——偏差係數,它決定何時停止分裂。它是通過將標準偏差除以所有樣本的平均值來計算的。

最終值將是葉節點的平均值。 例如,假設 11 月是在 11 月(直到 2021 年)進一步劃分為多年來各種工資的節點。 對於 2022 年,11 月的工資將是節點 11 月下所有工資的平均值。

繼續討論兩個類別或屬性的標準差(就像上面的例子,工資可以按小時或按月計算)。

為了構建一個準確的決策樹,目標應該是找到在計算時返回並返回最高標準偏差減少的屬性。 簡而言之,最同質的分支。

為回歸創建決策樹的過程包括四個重要步驟。

1.首先,我們計算目標變量的標準差。 像前面的例子一樣,考慮目標變量是薪水。 有了這個例子,我們將計算一組工資值的標準差。

2.在步驟2中,數據集被進一步拆分為不同的屬性。 談到屬性,由於目標值是薪水,我們可以認為可能的屬性是——月、小時、老闆的心情、職務、在公司的年份等等。 然後,使用上述公式計算每個分支的標準偏差。 從拆分前的標準偏差中減去如此獲得的標準偏差。 手頭的結果稱為標準偏差減少。

結帳:二叉樹的類型

3. 一旦如上一步所述計算出差異,最佳屬性是標準差減少值最大的屬性。 這意味著拆分前的標準偏差應該大於拆分前的標準偏差。 實際上,採用了差異的模式,因此反之亦然。

4.根據所選屬性的重要性對整個數據集進行分類。 在非葉分支上,遞歸地繼續該方法,直到處理完所有可用數據。 現在考慮根據標準差減少值選擇月份作為最佳拆分屬性。 因此,我們每個月將有 12 個分支機構。 這些分支將進一步拆分以從剩餘的屬性集中選擇最佳屬性。

5. 實際上,我們需要一些整理標準。 為此,我們對變得小於某個閾值(如 10%)的分支使用偏差係數或 CV。 當我們達到這個標準時,我們停止了樹的構建過程。 因為沒有發生進一步的分裂,所以屬於該屬性的值將是該節點下所有值的平均值。

必讀:決策樹分類

執行

決策樹回歸可以使用 Python 語言和 scikit-learn 庫來實現。 它可以在 sklearn.tree.DecisionTreeRegressor 下找到。

一些重要的參數如下

1.criterion:衡量分裂的質量。 它的值可以是“mse”或均方誤差、“friedman_mse”和“mae”或平均絕對誤差。 默認值為 mse。

2.max_depth:表示樹的最大深度。 默認值為無。

3.max_features:它表示在決定最佳分割時要尋找的特徵數量。 默認值為無。

4.splitter:該參數用於選擇在每個節點的分割。 可用值是“最佳”和“隨機”。 默認值是最好的。

sklearn 文檔中的示例

>>> 從sklearn.datasets導入load_diabetes

>>> 從sklearn.model_selection導入cross_val_score

>>> 從sklearn.tree導入DecisionTreeRegressor

>>> X, y = load_diabetes(return_X_y= True )

>>>回歸器 = DecisionTreeRegressor(random_state=0)

>>> cross_val_score(regressor, X, y, cv=10)

# 文檔測試:+SKIP

數組([-0.39…, -0.46…, 0.02…, 0.06…, -0.50…,

0.16…, 0.11…, -0.73…, -0.30…, -0.00…])

結論

數據科學計劃的結構旨在幫助您成為數據科學領域的真正人才,從而更容易找到市場上最好的雇主。 立即註冊,開始您的 upGrad 學習之路!

如果您想了解數據科學,請查看 IIIT-B 和 upGrad 的數據科學 PG 文憑,該文憑專為在職專業人士而設,提供 10 多個案例研究和項目、實用的實踐研討會、與行業專家的指導、1-與行業導師面對面交流,400 多個小時的學習和頂級公司的工作協助。

什麼是機器學習中的回歸分析?

回歸是機器學習中使用的一組數學算法,用於根據一個或多個預測變量的值來預測連續結果。 在監督機器學習的保護傘下,回歸分析是一個基本主題。 它只是有助於理解變量之間的關係。 它認識到一個變量的影響及其對另一個變量的活動。 輸入特徵和輸出標籤都用於訓練回歸算法。

機器學習中的多重共線性是什麼意思?

多重共線性是指數據集中的自變量之間的聯繫比其他變量之間的聯繫要大得多。 在回歸模型中,這表明可以從另一個自變量預測一個自變量。 就模型中自變量的影響而言,多重共線性會導致更寬的置信區間,從而導致可靠性降低。 它不應該在數據集中,因為它與最有影響的變量的排名相混淆。

機器學習中的 bagging 是什麼意思?

當提供的數據集有噪聲時,使用 bagging,這是一種降低方差的集成學習策略。 Bootstrap 聚合是 bagging 的另一個同義詞。 Bagging 是從帶有替換的訓練集中選擇隨機數據樣本的過程——也就是說,可以多次提取單個數據點。 在機器學習中,隨機森林算法基本上是 bagging 過程的擴展。