對sklearn中決策樹的理解

2021-10-05 10:01:55 字數 1593 閱讀 3666

第一次寫部落格,這裡就寫一下最近在學習的,易快速上手的sklearn吧。

scikit-learn,又寫作sklearn,是乙個開源的基於python語言的機器學習工具包。它通過numpy, scipy和matplotlib等python庫實現高效的演算法應用,並且涵蓋了幾乎所有主流機器學習演算法。本篇主要介紹決策樹。

決策樹是一種有監督學習,從一系列有資料特徵和標籤的資料中每次選擇某一特徵來作為劃分依據,也就是樹的節點,來劃分資料。依次進行直到將資料分類完成,最後呈現出樹狀結構。決策樹演算法易理解,在行業中廣泛應用。

id3演算法-----計算每乙個特徵的**資訊增益(熵差)**決定分枝節點。

c4.5演算法 -----資訊增益率cart演算法-----gini係數gbdt梯度提公升

準備資料集

from sklearn.tree import decisiontreeclassifier

from sklearn.model_selection import train_test_classifier

from sklearn.daatasets import load_wine //這裡用了紅酒的資料集

from sklearn.model_selection import train_test_classifierx=

load_wine()

.data

y=data.data,data.target

xtrain, xtest, ytrain,ytest =

train_test_classifier(x

,y,test_size =

0.3)

//test_size按比例劃分

例項化模型,將資料匯入訓練模型

dtf =

decisontreeclassier

(criterion =

"entroph"

)dtf = dtf.

fit(xtrain,ytrian)

//開始訓練

通過模型介面呼叫相關屬性和方法

predict = dtf.

predict

(xtest)

//返回**結果

score = dtf.

score

(xtest,ytest)

//檢視模型**的準確度

dtf.feature_importances_ //每乙個特徵的名字

dtf.feature_importances_ //每乙個特徵的重要性

random_state

值為數值型,用來設定隨機模式的引數,可以讓模型穩定下來。

決策樹最大的乙個特點就是容易過擬合(樹深度很深,劃分過於精細)為了解決這一問題,就需要進行剪枝

簡單來說,整合演算法就是從一組資料中建不同的樹,這樣訓練出來的模型比單個樹更優。

常用整合演算法有: 隨機森林、adaboost、gbdt、xgboost(xgboost是乙個專門的演算法庫,當然sklearn裡也有關於xgboost的類)。

SKlearn之決策樹

決策樹是一種非引數的監督學習方法。模組 sklearn.tree sklearn建模的步驟 1 選擇並建立模型 例 clf tree.decisiontreeclassifier 2 提供資料訓練模型 例 clf clf.fit x train,y train 3 獲取需要的資訊 例 result ...

Sklearn決策樹的應用

sklearn庫中的決策樹有兩種 分類決策樹 回歸決策樹。下面我們通過具體的案例學習如何使用這兩種決策樹。分類決策樹 分類決策樹 decisiontreeclassifier 就是通過對訓練集的訓練,然後對測試集中的資料做出正確的分類。這個 反映了銀行通過對乙個人的評判,然後決定是否給予其貸款 序號...

sklearn 決策樹例子 決策樹 規則挖掘應用

本次主要簡單介紹下決策樹在風控規則中的簡單應用,讓讀者快速入門。在後續的文章中,會逐一介紹決策樹的各種演算法原理,如資訊增益 id3演算法 c4.5演算法 c5.0演算法等,希望感興趣的朋友可以關注下。前言 決策樹是資料探勘中十分常用的分類方法,歸屬於機器學習中的監督學習演算法。監督學習就是給出一堆...