溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python基于決策樹算法的分類預(yù)測(cè)怎么實(shí)現(xiàn)

發(fā)布時(shí)間:2022-01-17 16:20:11 來源:億速云 閱讀:121 作者:iii 欄目:開發(fā)技術(shù)

今天小編給大家分享一下Python基于決策樹算法的分類預(yù)測(cè)怎么實(shí)現(xiàn)的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

一、決策樹的特點(diǎn)

1.優(yōu)點(diǎn)

  • 具有很好的解釋性,模型可以生成可以理解的規(guī)則。

  • 可以發(fā)現(xiàn)特征的重要程度。

  • 模型的計(jì)算復(fù)雜度較低。

2.缺點(diǎn)

  • 模型容易過擬合,需要采用減枝技術(shù)處理。

  • 不能很好利用連續(xù)型特征。

  • 預(yù)測(cè)能力有限,無法達(dá)到其他強(qiáng)監(jiān)督模型效果。

  • 方差較高,數(shù)據(jù)分布的輕微改變很容易造成樹結(jié)構(gòu)完全不同。

二、決策樹的適用場(chǎng)景

  • 決策樹模型多用于處理自變量與因變量是非線性的關(guān)系。

  • 梯度提升樹(GBDT),XGBoost以及LightGBM等先進(jìn)的集成模型均采用決策樹作為基模型。(多粒度聯(lián)森林模型)

  • 決策樹在一些明確需要可解釋性或者提取分類規(guī)則的場(chǎng)景中被廣泛應(yīng)用。在醫(yī)療輔助系統(tǒng)中為了方便專業(yè)人員發(fā)現(xiàn)錯(cuò)誤,常常將決策樹算法用于輔助病癥檢測(cè)。

三、demo

#%%demo
##  基礎(chǔ)函數(shù)庫導(dǎo)入
import numpy as np 

## 導(dǎo)入畫圖庫
import matplotlib.pyplot as plt
import seaborn as sns

## 導(dǎo)入決策樹模型函數(shù)
from sklearn.tree import DecisionTreeClassifier
from sklearn import tree
import pydotplus 
from IPython.display import Image
##Demo演示DecisionTree分類
## 構(gòu)造數(shù)據(jù)集
x_fearures = np.array([[-1, -2], [-2, -1], [-3, -2], [1, 3], [2, 1], [3, 2]])
y_label = np.array([0, 1, 0, 1, 0, 1])
## 調(diào)用決策樹回歸模型
tree_clf = DecisionTreeClassifier()
## 調(diào)用決策樹模型擬合構(gòu)造的數(shù)據(jù)集
tree_clf = tree_clf.fit(x_fearures, y_label)
## 可視化構(gòu)造的數(shù)據(jù)樣本點(diǎn)
plt.figure()
plt.scatter(x_fearures[:,0],x_fearures[:,1], c=y_label, s=50, cmap='viridis')
plt.title('Dataset')
plt.show()
## 可視化決策樹
import graphviz
dot_data = tree.export_graphviz(tree_clf, out_file=None)
graph = pydotplus.graph_from_dot_data(dot_data)
graph.write_pdf("D:\Python\ML\DecisionTree.pdf") 
# 模型預(yù)測(cè)
## 創(chuàng)建新樣本
x_fearures_new1 = np.array([[0, -1]])
x_fearures_new2 = np.array([[2, 1]])

## 在訓(xùn)練集和測(cè)試集上分布利用訓(xùn)練好的模型進(jìn)行預(yù)測(cè)
y_label_new1_predict = tree_clf.predict(x_fearures_new1)
y_label_new2_predict = tree_clf.predict(x_fearures_new2)

print('The New point 1 predict class:\n',y_label_new1_predict)
print('The New point 2 predict class:\n',y_label_new2_predict)

運(yùn)行結(jié)果

Python基于決策樹算法的分類預(yù)測(cè)怎么實(shí)現(xiàn)

訓(xùn)練集決策樹

Python基于決策樹算法的分類預(yù)測(cè)怎么實(shí)現(xiàn)

Python基于決策樹算法的分類預(yù)測(cè)怎么實(shí)現(xiàn)

以上就是“Python基于決策樹算法的分類預(yù)測(cè)怎么實(shí)現(xiàn)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI