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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

12_信息熵,信息熵公式,信息增益,决策树、常见决策树使用的算法、决策树的流程、决策树API、决策树案例、随机森林、随机森林的构建过程、随机森林API、随机森林的优缺点、随机森林案例

發(fā)布時間:2024/9/27 编程问答 35 豆豆

1 信息熵

以下來自:https://www.zhihu.com/question/22178202/answer/161732605

1.2 信息熵的公式

先拋出信息熵公式如下:

1.2 信息熵

信息量是對信息的度量,就跟時間的度量是秒一樣,當(dāng)我們考慮一個離散的隨機(jī)變量x的時候,當(dāng)我們觀察到的這個變量的一個具體值的時候,我們接收到了多少信息呢?

多少信息用信息量來衡量,我們接受到的信息量跟具體發(fā)生的事件有關(guān)

信息的大小跟隨機(jī)事件的概率有關(guān)。越小概率的事情發(fā)生了產(chǎn)生的信息量越大,如湖南產(chǎn)生的地震了;越大概率的事情發(fā)生了產(chǎn)生的信息量越小,如太陽從東邊升起來了(肯定發(fā)生嘛,沒什么信息量)。這很好理解!

例子

如果我們有倆個不相關(guān)的事件x和y,那么我們觀察到的倆個事件同時發(fā)生時獲得的信息應(yīng)該等于觀察到的事件各自發(fā)生時獲得的信息之和,即:

h(x,y) = h(x) + h(y)

由于x,y是兩個不相關(guān)的事件,那么滿足p(x,y) = p(x) * p(y)。

根據(jù)上面推導(dǎo),我們很容易看出h(x)一定與p(x)的對數(shù)有關(guān)(因?yàn)橹挥袑?shù)形式的真數(shù)相乘之后,能夠?qū)?yīng)對數(shù)的相加形式,可以試試)。因此我們有信息量公式如下:

下面解決兩個疑問:
1、為什么有一個負(fù)號
其中,負(fù)號是為了確保信息一定是正數(shù)或者是0,總不能為負(fù)數(shù)吧!

2、為什么底數(shù)為2

這是因?yàn)?#xff0c;我們只需要信息量滿足低概率事件x對應(yīng)于高的信息量。那么對數(shù)的選擇是任意的。我們只是遵循信息論的普遍傳統(tǒng),使用2作為對數(shù)的底!

信息熵
下面我們正式引出信息熵

信息量度量的是一個具體事件發(fā)生了所帶來的信息,而熵則是在結(jié)果出來之前對可能產(chǎn)生的信息量的期望——考慮該隨機(jī)變量的所有可能取值,即所有可能發(fā)生事件所帶來的信息量的期望。即:

轉(zhuǎn)換一下為:

最終我們的公式來源推導(dǎo)完成了。

這里我再說一個對信息熵的理解。信息熵還可以作為一個系統(tǒng)復(fù)雜程度的度量,如果系統(tǒng)越復(fù)雜,出現(xiàn)不同情況的種類越多,那么他的信息熵是比較大的。

如果一個系統(tǒng)越簡單,出現(xiàn)情況種類很少(極端情況為1種情況,那么對應(yīng)概率為1,那么對應(yīng)的信息熵為0),此時的信息熵較小。

2 信息增益

信息增益就是熵(這里是信息熵)和特征條件熵的差。
g(D,A)=H(D)-H(D|A) 【信息增益 = 信息熵 - 條件熵】

什么意思呢,就是說對于一個確定的數(shù)據(jù)集來說,HD(D)是確定的,那么H(D|A)在A特征一定的情況下,隨機(jī)變量的不確定性越小,信息增益越大,這個特征的表現(xiàn)就越好。

所以,信息增益就是在得知特征X一定的情況下,Y(逾期概率)不確定性的減少程度。

一個特征往往會使一個隨機(jī)變量Y的信息量減少,減少的部分就是信息增益。

條件熵:表示在條件X下y的信息熵。

3 決策樹

3.1 認(rèn)識決策樹

決策樹思想的來源非常樸素,程序設(shè)計(jì)中的條件分支結(jié)構(gòu)就是if-then結(jié)構(gòu),最早的決策樹就是利用這類結(jié)構(gòu)分割數(shù)據(jù)的一種分類學(xué)習(xí)方法

3.2 信息論基礎(chǔ)–銀行貸款分析


你如何去劃分是否能得到貸款?

決策樹的實(shí)際劃分:

3.3 決策樹的理解

決策樹是監(jiān)督學(xué)習(xí)算法之一,并且是一種基本的分類與回歸方法;決策樹也分為回歸樹和分類樹。

決策樹是表示基于特征對實(shí)例進(jìn)行分類的樹形結(jié)構(gòu)。
從給定的訓(xùn)練數(shù)據(jù)集中,依據(jù)特征選擇的準(zhǔn)則,遞歸的選擇最優(yōu)劃分特征,并根據(jù)此特征將訓(xùn)練數(shù)據(jù)進(jìn)行分割,使得各子數(shù)據(jù)集有一個最好的分類的過程。

決策樹算法3要素:
1、特征選擇
2、決策樹生成
3、決策樹剪枝

關(guān)于決策樹生成:
決策樹的生成過程就是 使用滿足劃分準(zhǔn)則的特征不斷的將數(shù)據(jù)集劃分為純度更高,不確定性更小的子集的過程。對于當(dāng)前數(shù)據(jù)集D的每一次的劃分,都希望根據(jù)某特征劃分之后的各個子集的純度更高,不確定性更小。

而如何度量劃分?jǐn)?shù)據(jù)集前后的數(shù)據(jù)集的純度以及不確定性呢?
答案:特征選擇準(zhǔn)則,比如:信息增益,信息增益率,基尼指數(shù)

特征選擇準(zhǔn)則:
目的:使用某特征對數(shù)據(jù)集劃分之后,各數(shù)據(jù)子集的純度要比劃分前的數(shù)據(jù)集D的純度高(不確定性要比劃分前數(shù)據(jù)集D的不確定性低)

注意:

  • 劃分后的純度為各數(shù)據(jù)子集的純度的加和(子集占比*子集的經(jīng)驗(yàn)熵)。
  • 度量劃分前后的純度變化 用子集的純度之和與劃分前的數(shù)據(jù)集D的純度 進(jìn)行對比。
  • 3.4 常見決策樹使用的算法

  • ID3 信息增益 最大的準(zhǔn)則
  • C4.5 信息增益比 最大的準(zhǔn)則
  • CART 回歸樹:平均誤差 最小; 分類樹:基尼系數(shù) 最小的準(zhǔn)則,在sklearn中可以選擇劃分的原則。
  • 3.5 決策樹的流程

  • 收集數(shù)據(jù):公開數(shù)據(jù)源或爬蟲等方式。
  • 準(zhǔn)備數(shù)據(jù):樹構(gòu)造算法只適用于標(biāo)稱型數(shù)據(jù),因此數(shù)值型數(shù)據(jù)必須離散化。
  • 分析數(shù)據(jù):可以使用任何方法,構(gòu)造樹完成之后,需檢查圖形是否符合預(yù)期。
  • 訓(xùn)練算法:構(gòu)造樹的數(shù)據(jù)結(jié)構(gòu)。
  • 測試算法:計(jì)算樹模型的正確率。
  • 使用算法:此步驟可以適用于任何監(jiān)督學(xué)習(xí)算法,決策樹可視化能更好地理解數(shù)據(jù)的內(nèi)在含義。
  • 構(gòu)造決策樹的數(shù)據(jù)必須要充足,特征較少的數(shù)據(jù)集可能會導(dǎo)致決策樹的正確率偏低。若數(shù)據(jù)特征過多,不會選擇特征也會影響決策樹的正確率。構(gòu)建一個比較理想的決策樹,大致可分為以下三步:特征選擇、決策樹的生成與決策樹的修剪。

    3.6 sklearn決策樹API

    class sklearn.tree.DecisionTreeClassifier(criterion=’gini’, max_depth=None,random_state=None) 決策樹分類器criterion:默認(rèn)是'gini'系數(shù),也可以選擇信息增益的熵'entropy' max_depth:樹的深度大小 random_state:隨機(jī)數(shù)種子method: decision_path:返回決策樹的路徑。

    3.7 泰坦尼克號乘客生存分類

    在泰坦尼克號和titanic2數(shù)據(jù)幀描述泰坦尼克號上的個別乘客的生存狀態(tài)。在泰坦尼克號的數(shù)據(jù)幀不包含從劇組信息,但它確實(shí)包含了乘客的一半的實(shí)際年齡。關(guān)于泰坦尼克號旅客的數(shù)據(jù)的主要來源是百科全書Titanica。這里使用的數(shù)據(jù)集是由各種研究人員開始的。其中包括許多研究人員創(chuàng)建的旅客名單,由Michael A. Findlay編輯。

    我們提取的數(shù)據(jù)集中的特征是票的類別,存活,乘坐班,年齡,登陸,home.dest,房間,票,船和性別。乘坐班是指乘客班(1,2,1),是社會經(jīng)濟(jì)階層的代表
    其中age數(shù)據(jù)存在缺失。
    數(shù)據(jù)地址:http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt

    泰坦尼克號乘客生存分類模型:

    1、pd讀取數(shù)據(jù) 2、選擇有影響的特征,處理缺失值 3、進(jìn)行特征工程,pd轉(zhuǎn)換字典,特征抽取 x_train.to_dict(orient="records") 4、決策樹估計(jì)器流程。

    決策樹的結(jié)構(gòu)、本地保存

    1、sklearn.tree.export_graphviz()函數(shù)能夠?qū)С鯠OT格式 tree.export_graphviz(estimator,out_file='tree.dot’,feature_names=[‘’,’’])2、工具:(能夠?qū)ot文件轉(zhuǎn)換為pdf、png) 安裝graphviz ubuntu:sudo apt-get install graphviz Mac:brew install graphviz3、運(yùn)行命令 然后我們運(yùn)行這個命令 dot -Tpng tree.dot -o tree.png

    windows下安裝graphviz
    如果是windows下,訪問graphviz官網(wǎng),下載graphviz-2.38.msi

    案例:

    from sklearn.model_selection import train_test_split from sklearn.feature_extraction import DictVectorizer from sklearn.tree import DecisionTreeClassifier,export_graphviz import pandas as pddef decision():"""決策樹對泰坦尼克號進(jìn)行預(yù)測生死:return:"""# 獲取數(shù)據(jù)titan = pd.read_csv("http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt")# 處理數(shù)據(jù),找出特征值和目標(biāo)值x = titan[['pclass', 'age', 'sex']]y = titan['survived']print(x)# 缺失值處理x['age'].fillna(x['age'].mean(), inplace=True)# 分割數(shù)據(jù)集到訓(xùn)練集合測試集x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)# 進(jìn)行處理(特征工程)特征-》類別-》one_hot編碼dict = DictVectorizer(sparse=False)x_train = dict.fit_transform(x_train.to_dict(orient="records"))print(dict.get_feature_names())x_test = dict.transform(x_test.to_dict(orient="records"))print(x_train)# 用決策樹進(jìn)行預(yù)測dec = DecisionTreeClassifier()#dec.fit(x_train, y_train)## 預(yù)測準(zhǔn)確率print("預(yù)測的準(zhǔn)確率:", dec.score(x_test, y_test))## 導(dǎo)出決策樹的結(jié)構(gòu)export_graphviz(dec, out_file="./tree.dot", feature_names=['年齡', 'pclass=1st', 'pclass=2nd', 'pclass=3rd', '女性', '男性'])return Noneif __name__ == "__main__":decision()

    輸出結(jié)果:

    pclass age sex 0 1st 29.0000 female 1 1st 2.0000 female 2 1st 30.0000 male 3 1st 25.0000 female 4 1st 0.9167 male... ... ... 1308 3rd NaN male 1309 3rd NaN male 1310 3rd NaN male 1311 3rd NaN female 1312 3rd NaN male [1313 rows x 3 columns] D:\installed\Anaconda3\lib\site-packages\pandas\core\generic.py:6287: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copyself._update_inplace(new_data) ['age', 'pclass=1st', 'pclass=2nd', 'pclass=3rd', 'sex=female', 'sex=male'] [[24. 0. 0. 1. 0. 1. ][20. 0. 1. 0. 1. 0. ][51. 1. 0. 0. 0. 1. ]...[31.19418104 0. 1. 0. 1. 0. ][18. 0. 0. 1. 0. 1. ][31.19418104 0. 1. 0. 1. 0. ]] 預(yù)測的準(zhǔn)確率: 0.7781155015197568

    3.8 決策樹的優(yōu)缺點(diǎn)以及改進(jìn)

    優(yōu)點(diǎn):1、簡單的理解和解釋,樹木可視化2、需要很少的數(shù)據(jù)準(zhǔn)備,其他技術(shù)通常需要數(shù)據(jù)歸一化。缺點(diǎn):1、決策樹學(xué)習(xí)者可以創(chuàng)建不能很好地推廣數(shù)據(jù)的過于復(fù)雜的樹,這被稱為過擬合。2、決策樹可能不穩(wěn)定,因?yàn)閿?shù)據(jù)的小變化可能會導(dǎo)致完全不同的樹被生成改進(jìn):1、減枝cart算法。2、隨機(jī)森林

    4 集成學(xué)習(xí)方法-隨機(jī)森林

    集成學(xué)習(xí)通過建立幾個模型組合的來解決單一預(yù)測問題。它的工作原理是生成多個分類器/模型,各自獨(dú)立地學(xué)習(xí)和作出預(yù)測。這些預(yù)測最后結(jié)合成單預(yù)測,因此優(yōu)于任何一個單分類的做出預(yù)測。

    4.1 什么是隨機(jī)森林

    定義:在機(jī)器學(xué)習(xí)中,隨機(jī)森林是一個包含多個決策樹的分類器,并且其輸出的類別是由個別樹輸出的類別的眾數(shù)(絕大多數(shù))而定。

    例如:如果你訓(xùn)練了5個樹,其中有4個樹的結(jié)果是True,1個樹的結(jié)果是False,那么最終結(jié)果會是True。

    隨機(jī)森林是一種有監(jiān)督學(xué)習(xí)算法,是以決策樹為基學(xué)習(xí)器的集成學(xué)習(xí)算法。隨機(jī)森林非常簡單,易于實(shí)現(xiàn),計(jì)算開銷也很小,但是它在分類和回歸上表現(xiàn)出非常驚人的性能,因此,隨機(jī)森林被譽(yù)為“代表集成學(xué)習(xí)技術(shù)水平的方法”。

    學(xué)習(xí)算法
    根據(jù)下列算法而建造每棵樹:
    1、用N來表示訓(xùn)練用例(樣本)的個數(shù),M表示特征數(shù)目。
    2、輸入特征數(shù)目m,用于確定決策樹上一個節(jié)點(diǎn)的決策結(jié)果;其中m應(yīng)遠(yuǎn)小于M。
    3、從N個訓(xùn)練用例(樣本)中以有放回抽樣的方式,取樣N次,形成一個訓(xùn)練集(即bootstrap取樣),并用未抽到的用例(樣本)做預(yù)測,評估其誤差。

    隨機(jī)森林的隨機(jī)性體現(xiàn)在哪幾個方面?
    1、數(shù)據(jù)集的隨機(jī)選取
    從原始的數(shù)據(jù)集中采取有放回的抽樣(bagging),構(gòu)造子數(shù)據(jù)集,子數(shù)據(jù)集的數(shù)據(jù)量是和原始數(shù)據(jù)集相同的。不同子數(shù)據(jù)集的元素可以重復(fù),同一個子數(shù)據(jù)集中的元素也可以重復(fù)。

    2、待選特征的隨機(jī)選取
    與數(shù)據(jù)集的隨機(jī)選取類似,隨機(jī)森林中的子樹的每一個分裂過程并未用到所有的待選特征,而是從所有的待選特征中隨機(jī)選取一定的特征,之后再在隨機(jī)選取的特征中選取最優(yōu)的特征

    為什么要隨機(jī)抽樣訓(xùn)練集?
    如果不進(jìn)行隨機(jī)抽樣,每棵樹的訓(xùn)練集都一樣,那么最終訓(xùn)練出的樹分類結(jié)果也是完全一樣的。

    為什么要有放回地抽樣?
    如果不是有放回的抽樣,那么每棵樹的訓(xùn)練樣本都是不同的,都是沒有交集的,這樣每棵樹都是“有偏的”,都是絕對“片面的”(當(dāng)然這樣說可能不對),也就是說每棵樹訓(xùn)練出來都是有很大的差異的;而隨機(jī)森林最后分類取決于多棵樹(弱分類器)的投票表決。

    為什么使用隨機(jī)森林
    1、隨機(jī)森林既可以用于分類問題,也可以用于回歸問題
    2、過擬合是個關(guān)鍵的問題,可能會讓模型的結(jié)果變得糟糕,但是對于隨機(jī)森林來說,如果隨機(jī)森林的樹足夠多,那么分類器就不會過擬合模型
    3、隨機(jī)森林分類器可以處理缺失值。
    4、隨機(jī)森林分類器可以用分類值建模。

    4.2 隨機(jī)森林的構(gòu)建過程


    1、從原始訓(xùn)練集中使用Bootstraping方法隨機(jī)有放回采樣取出m個樣本,共進(jìn)行n_tree次采樣。生成n_tree個訓(xùn)練集。
    2、對n_tree個訓(xùn)練集,我們分別訓(xùn)練n_tree個決策樹模型。
    3、對于單個決策樹模型,假設(shè)訓(xùn)練樣本特征的個數(shù)為n,那么每次分裂時根據(jù)信息增益/信息增益比/基尼指數(shù) 選擇最好的特征進(jìn)行分裂。
    4、每棵樹都已知這樣分裂下去,知道該節(jié)點(diǎn)的所有訓(xùn)練樣例都屬于同一類。在決策樹的分裂過程中不需要剪枝
    5、將生成的多顆決策樹組成隨機(jī)森林。對于分類問題,按照多棵樹分類器投票決定最終分類結(jié)果;對于回歸問題,由多顆樹預(yù)測值的均值決定最終預(yù)測結(jié)果。

    注意:OOB(out-of-bag ):每棵決策樹的生成都需要自助采樣,這時就有1/3的數(shù)據(jù)未被選中,這部分?jǐn)?shù)據(jù)就稱為袋外數(shù)據(jù)。

    再如:
    隨機(jī)森林分解開來就是“隨機(jī)”和“森林”。“隨機(jī)”的含義我們之后講,我們先說“森林”,森林是由很多棵樹組成的,因此隨機(jī)森林的結(jié)果是依賴于多棵決策樹的結(jié)果,這是一種集成學(xué)習(xí)的思想。森林里新來了一只動物,森林舉辦森林大會,判斷這到底是什么動物,每棵樹都必須發(fā)表意見,票數(shù)最多的結(jié)果將是最終的結(jié)果。隨機(jī)森林最終的模型見下圖示:

    這里推薦一篇博文:用通俗易懂的方式剖析隨機(jī)森林

    4.3 隨機(jī)森林API

    class sklearn.ensemble.RandomForestClassifier(n_estimators=10, criterion=’gini’,max_depth=None, bootstrap=True, random_state=None)n_estimators:integer,optional(default = 10) 森林里的樹木數(shù)量 criteria:string,可選(default =“gini”)分割特征的測量方法。 max_depth: integer或None,可選(默認(rèn)=無)樹的最大深度 bootstrap:boolean,optional(default=True) 是否在構(gòu)建樹時使用放回抽樣

    4.4 隨機(jī)森林的優(yōu)點(diǎn)、缺點(diǎn)

  • 在當(dāng)前所有算法中,具有極好的準(zhǔn)確率
  • 能夠有效地運(yùn)行在大數(shù)據(jù)集上
  • 能夠處理具有高維特征的輸入樣本,而且不需要降維
  • 能夠評估各個特征在分類問題上的重要性
  • 對于缺省值問題也能夠獲得很好得結(jié)果
  • 由于采用了集成算法,本身精度比大多數(shù)單個算法要好,所以準(zhǔn)確性高。
  • 在測試集上表現(xiàn)良好,由于兩個隨機(jī)性的引入,使得隨機(jī)森林不容易陷入過擬合(樣本隨機(jī),特征隨機(jī))
  • 在工業(yè)上,由于兩個隨機(jī)性的引入,使得隨機(jī)森林具有一定的抗噪聲能力,對比其他算法具有一定優(yōu)勢
  • 由于樹的組合,使得隨機(jī)森林可以處理非線性數(shù)據(jù),本身屬于非線性分類(擬合)模型。
  • 它能夠處理很高維度(feature很多)的數(shù)據(jù),并且不用做特征選擇,對數(shù)據(jù)集的適應(yīng)能力強(qiáng):既能處理離散型數(shù)據(jù),也能處理連續(xù)型數(shù)據(jù),數(shù)據(jù)集無需規(guī)范化
  • 訓(xùn)練速度快,可以運(yùn)用在大規(guī)模數(shù)據(jù)集上。
  • 可以處理缺省值(單獨(dú)作為一類),不用額外處理。
  • 由于有袋外數(shù)據(jù)(OOB),可以在模型生成過程中取得真實(shí)誤差的無偏估計(jì),且不損失訓(xùn)練數(shù)據(jù)量。
  • 在訓(xùn)練過程中,能夠檢測到feature間的互相影響,且可以得出feature的重要性,具有一定參考意義。
  • 由于每棵樹可以獨(dú)立、同時生成,容易做成并行化方法。
  • 由于實(shí)現(xiàn)簡單、精度高、抗過擬合能力強(qiáng),當(dāng)面對非線性數(shù)據(jù)時,適于作為基準(zhǔn)模型。
  • 缺點(diǎn):

  • 當(dāng)隨機(jī)森林中的決策樹個數(shù)很多時,訓(xùn)練時需要的空間和時間會比較大
  • 隨機(jī)森林中還有許多不好解釋的地方,有點(diǎn)算是黑盒模型
  • 在某些噪音比較大的樣本集上,RF的模型容易陷入過擬合
  • 4.5 泰坦尼克號乘客生存分類分析

    from sklearn.model_selection import train_test_split,GridSearchCV from sklearn.feature_extraction import DictVectorizer from sklearn.ensemble import RandomForestClassifier import pandas as pddef decision():"""決策樹對泰坦尼克號進(jìn)行預(yù)測生死:return:"""# 獲取數(shù)據(jù)titan = pd.read_csv("http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt")# 處理數(shù)據(jù),找出特征值和目標(biāo)值x = titan[['pclass', 'age', 'sex']]y = titan['survived']print(x)# 缺失值處理x['age'].fillna(x['age'].mean(), inplace=True)# 分割數(shù)據(jù)集到訓(xùn)練集合測試集x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)# 進(jìn)行處理(特征工程)特征-》類別-》one_hot編碼dict = DictVectorizer(sparse=False)x_train = dict.fit_transform(x_train.to_dict(orient="records"))print(dict.get_feature_names())x_test = dict.transform(x_test.to_dict(orient="records"))# 隨機(jī)森林進(jìn)行預(yù)測(超參數(shù)調(diào)優(yōu))rf = RandomForestClassifier()param = {"n_estimators": [120, 200, 300, 500, 800, 1200], "max_depth": [5, 8, 15, 25, 30]}# 網(wǎng)絡(luò)搜索與交叉驗(yàn)證gc = GridSearchCV(rf,param_grid=param,cv=2)gc.fit(x_train,y_train)print("準(zhǔn)確率:",gc.score(x_test,y_test))print("查看選擇的參數(shù)模型:", gc.best_params_)return Noneif __name__ == "__main__":decision()

    輸出結(jié)果:

    pclass age sex 0 1st 29.0000 female 1 1st 2.0000 female 2 1st 30.0000 male 3 1st 25.0000 female 4 1st 0.9167 male... ... ... 1308 3rd NaN male 1309 3rd NaN male 1310 3rd NaN male 1311 3rd NaN female 1312 3rd NaN male [1313 rows x 3 columns] D:\installed\Anaconda3\lib\site-packages\pandas\core\generic.py:6287: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copyself._update_inplace(new_data) ['age', 'pclass=1st', 'pclass=2nd', 'pclass=3rd', 'sex=female', 'sex=male'] 準(zhǔn)確率: 0.7750759878419453 查看選擇的參數(shù)模型: {'max_depth': 5, 'n_estimators': 120}

    打個賞唄,您的支持是我堅(jiān)持寫好博文的動力。

    與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的12_信息熵,信息熵公式,信息增益,决策树、常见决策树使用的算法、决策树的流程、决策树API、决策树案例、随机森林、随机森林的构建过程、随机森林API、随机森林的优缺点、随机森林案例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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