日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python决策树分类预测_数据分类预测之python决策树

發(fā)布時(shí)間:2024/1/1 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python决策树分类预测_数据分类预测之python决策树 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

決策樹是一種樹狀結(jié)構(gòu),它的每一個(gè)葉節(jié)點(diǎn)對(duì)應(yīng)著一個(gè)分類,非葉節(jié)點(diǎn)對(duì)應(yīng)著在某個(gè)屬性上的劃分,根據(jù)樣本在該屬性上的不同取值將其劃分成若干個(gè)子集。對(duì)于非純的葉節(jié)點(diǎn),多數(shù)類的標(biāo)號(hào)給出到達(dá)這個(gè)節(jié)點(diǎn)的樣本所屬的類。構(gòu)造決策樹的核心問題是在每一步如何選擇適當(dāng)?shù)膶傩詫?duì)樣本做拆分。對(duì)一個(gè)分類問題,從已知類標(biāo)記的訓(xùn)練樣本中學(xué)習(xí)并構(gòu)造出決策樹是一個(gè)自上而下,分而治之的過程

決策樹方法在分類、預(yù)測(cè)、規(guī)則提取等領(lǐng)域有著廣泛應(yīng)用。機(jī)器學(xué)習(xí)研究者J.Ross Quinlan 提出了ID3算法以后,決策樹在機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘領(lǐng)域得到了極大的發(fā)展,之后又提出了C4.5,成為了新的監(jiān)督學(xué)習(xí)算法。另外還有CART分類算法,值得一提的是ID3和CART孫法都是采用類似的方法從訓(xùn)練樣本中學(xué)習(xí)決策樹。

接下來簡單敘述一下這幾個(gè)算法:

ID3算法:

其核心是在決策樹的各級(jí)節(jié)點(diǎn)上,使用信息增益方法作為屬性的選擇標(biāo)準(zhǔn),來幫助確定生成每個(gè)節(jié)點(diǎn)所應(yīng)采用的合適屬性。

C4.5算法:

C4.5決策生成算法相對(duì)于ID3算法的重要改進(jìn)是使用信息增益率來選擇節(jié)點(diǎn)屬性。C4.5算法可以克服ID3算法存在的不足:ID3適用于離散的描述屬性,而C4.5算法即能夠處理離散的描述屬性,也可以處理連續(xù)的描述屬性

CART算法:

CART決策樹是一種十分有效的非參數(shù)分類和回歸方法,通過構(gòu)建樹、修建樹、評(píng)估樹來構(gòu)建一個(gè)二叉樹。當(dāng)終結(jié)點(diǎn)是連續(xù)變量時(shí),該樹為回歸樹;當(dāng)終結(jié)點(diǎn)是分類變量,該樹為分類樹。

本文主要介紹一下ID3算法。

ID3算法的簡介以及原理:

ID3算法給予信息熵來選擇最佳測(cè)試屬性。它選擇當(dāng)前樣本集中具有最大信息增益值的屬性作為測(cè)試屬性;樣本集的劃分則依據(jù)測(cè)試屬性的取值進(jìn)行,測(cè)試屬性有多少不同取值就將樣本集劃分為多少子樣本集,同時(shí)決策樹上相應(yīng)于該樣本集的節(jié)點(diǎn)長出新的葉子節(jié)點(diǎn)。

根據(jù)信息論理論,采用劃分樣本集的不確定性作為衡量劃分好壞的標(biāo)準(zhǔn),用信息增益值度量不確定性:信息增益值越大,不確定性越小,因此,在每個(gè)非葉節(jié)點(diǎn)選擇信息增益最大的屬性作為測(cè)試屬性,這樣可以得到當(dāng)前情況下最純的拆分,從而得到較小的決策樹。

公式如圖

顯然E(A)越小,Gain(A)的值越大,說明測(cè)試屬性A對(duì)于分類提供的信息越大,選擇A之后對(duì)分類的不確定程度越小。

ID3的算法具體實(shí)現(xiàn)步驟如下:

1,對(duì)當(dāng)前樣本集合,計(jì)算所有屬性的信息增益

2,選擇信息增益最大的屬性作為測(cè)試屬性,把測(cè)試屬性取值相同的樣本劃分到同一個(gè)子樣本集;

3,若子樣本集的類別屬性只含有單個(gè)屬性,則分支為葉子結(jié)點(diǎn),判斷其屬性值并標(biāo)上相應(yīng)的符號(hào),然后返回調(diào)用出;否則對(duì)子樣本集遞歸調(diào)用本算法。

廢話不多說,直接貼代碼為證:

#-*- coding: utf-8 -*-

import pandasas pd

#參數(shù)初始化

inputfile ='path'

data = pd.read_excel(inputfile, index_col =u'序號(hào)')#導(dǎo)入數(shù)據(jù)

#數(shù)據(jù)如果是類別標(biāo)簽,需要轉(zhuǎn)化為數(shù)據(jù)

#用1和-1分別代表各自標(biāo)簽

data[data ==u'標(biāo)簽A'] =1

data[data ==u'標(biāo)簽B'] =1

data[data ==u'標(biāo)簽B'] =1

data[data !=1] = -1

x = data.iloc[:,:3].as_matrix().astype(int)

y = data.iloc[:,3].as_matrix().astype(int)

from sklearn.treeimport DecisionTreeClassifieras DTC

dtc = DTC(criterion='entropy')#建立決策樹模型,

dtc.fit(x, y)#訓(xùn)練模型

#導(dǎo)入相關(guān)函數(shù),可視化決策樹

from sklearn.treeimport export_graphviz

x = pd.DataFrame(x)

from sklearn.externals.siximport StringIO

x = pd.DataFrame(x)

with open("tree.dot", 'w')as f:

f = export_graphviz(dtc, feature_names = x.columns, out_file = f)

總結(jié)

以上是生活随笔為你收集整理的python决策树分类预测_数据分类预测之python决策树的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。