狠狠干影院/欧美午夜电影在线观看/高黄文/国产精品一区二区在线观看完整版

數(shù)據(jù)挖掘之隨機(jī)森林算法實驗報告

| 瀏覽次數(shù):

 太原師范學(xué)院

 實 實

 驗

 報

 告 告

 Experimentation Report of Taiyuan Normal University

  系

 部

 計算機(jī)系

  年

 級

 大三

 課

 程

 大數(shù)據(jù)分析

  姓

 名

 XXX

 同組者

 日

 期

  項 項

 目

 數(shù)據(jù)挖掘 之 隨機(jī)森林算法

 一、 實驗?zāi)康?1. 了解隨機(jī)森林。隨機(jī)森林就是通過集成學(xué)習(xí)的思想將多棵樹集成的一種算法,它的基本單元是決策樹,而它的本質(zhì)屬于機(jī)器學(xué)習(xí)的一大分支——集成學(xué)習(xí)(Ensemble Learning)方法。

 2. 掌握隨機(jī)森林的相關(guān)知識,信息、熵、信息增益等的概念。

 3. 掌握隨機(jī)森林中數(shù)據(jù)分析的幾種基本方法,決策樹算法,CART 算法等。

 4. 了解集成學(xué)習(xí)的定義和發(fā)展。

 5. 掌握隨機(jī)森林的生成規(guī)則,隨機(jī)森林的生成方法,隨機(jī)森林的特點(diǎn)等相關(guān)知識。

 二、 實驗內(nèi)容 1. 結(jié)合老師上課所講內(nèi)容及課本知識,通過查找相關(guān)資料,報

 告

 內(nèi)

 容

 一、實驗?zāi)康?/p>

 四、實驗方法

  二、實驗原理

 五、實驗記錄及數(shù)據(jù)處理 三、實驗儀器及材料

 六、誤差分析及討論

 學(xué)習(xí)與決策樹,隨機(jī)森林相關(guān)的知識。

 2. 查找相關(guān)例題,深入理解隨機(jī)森林的各種算法。

 3. 找一個數(shù)據(jù)集,利用隨機(jī)森林的相關(guān)算法訓(xùn)練隨機(jī)森林,對樣本進(jìn)行判段并計算其判斷的準(zhǔn)確度。

 三、 實驗儀器及平臺 計算機(jī)一臺 MATLAB 2018a 四、 實驗原理 1. 隨機(jī)森林的基本概念:

 通過集成學(xué)習(xí)的思想將多棵樹集成的一種算法,它的基本單元是決策樹,而它的本質(zhì)屬于機(jī)器學(xué)習(xí)的一大分支——集成學(xué)習(xí)(Ensemble Learning)方法。隨機(jī)森林的名稱中有兩個關(guān)鍵詞,一個是“隨機(jī)”,一個就是“森林”。“森林”我們很好理解,一棵叫做樹,那么成百上千棵就可以叫做森林了,這樣的比喻還是很貼切的,其實這也是隨機(jī)森林的主要思想--集成思想的體現(xiàn)。

 2. 決策樹 2.1 信息、熵、信息增益 這三個基本概念是決策樹的根本,是決策樹利用特征來分類時,確定特征選取順序的依據(jù)。

 2.2 決策樹算法 決策樹算法是一種逼近離散函數(shù)值的方法。它是一種典型的分類方法,首先對數(shù)據(jù)進(jìn)行處理,利用歸納算法生成可

 讀的規(guī)則和決策樹,然后使用決策對新數(shù)據(jù)進(jìn)行分析。本質(zhì)上決策樹是通過一系列規(guī)則對數(shù)據(jù)進(jìn)行分類的過程。

 3. CART 算法 Classification And Regression Tree,即分類回歸樹算法,簡稱 CART 算法,它是決策樹的一種實現(xiàn)。

 CART 算法是一種二分遞歸分割技術(shù),把當(dāng)前樣本劃分為兩個子樣本,使得生成的每個非葉子結(jié)點(diǎn)都有兩個分支, 因此 CART 算法生成的決策樹是結(jié)構(gòu)簡潔的二叉樹。由于 CART 算法構(gòu)成的是一個二叉樹,它在每一步的決策時只能是“是”或者“否”,即使一個 feature 有多個取值,也是把數(shù)據(jù)分為兩部分。

 4. 決策樹 C4.5 一種分類算法,目標(biāo)是將具有 p 維特征的 n 個樣本分到 c 個類別中去。相當(dāng)于做一個投影,c=f(n),將樣本經(jīng)過一種變換賦予一種類別標(biāo)簽。決策樹為了達(dá)到這一目的,可以把分類的過程表示成一棵樹,每次通過選擇一個特征 pi來進(jìn)行分叉。

 5. 隨機(jī)森林的生成規(guī)則 (1)

 如果訓(xùn)練集大小為 N,隨機(jī)且有放回地從訓(xùn)練集中抽 取 N 個訓(xùn)練樣本,構(gòu)成一個新的樣本集(含重復(fù)的訓(xùn)練樣本)。

 (2)如果每個樣本的特征維度為 M ,指定一個常數(shù) m,且

 m< M,隨機(jī)地從 M 個特征中選取 m 個特征子集,每次樹進(jìn)行分裂時,從這 m 個特征中選擇最優(yōu)的,決策樹成長期間 m的大小始終不變。(注意:此處采用無放回的選擇)

 (3)每棵樹都盡可能最大程度地(完全地)生長,并且沒 有剪枝過程。

 (將預(yù)測結(jié)果累加起來從而得到整個隨機(jī)森林的預(yù)測果)

 通過之前的三步就可以得到一棵決策樹,重復(fù) X 次這樣的 過程那么就能得到 X 棵決策樹。來一個測試樣本就對它分類一遍,就得到 X 個分類結(jié)果。使用簡單的投票機(jī)制(或用最終分類結(jié)果)來判別該樣本的所屬類。

 注意:兩類隨機(jī)性的引入對隨機(jī)森林的生成至關(guān)重要。

 6. 隨機(jī)森林的簡單實例分析 根據(jù)已有的訓(xùn)練集已經(jīng)產(chǎn)生了對應(yīng)的隨機(jī)森林,隨機(jī)森林如何利用某一個人的年齡(Age)、性別(Gender)、教育情況(Hinhest Educational Qualification)、工作領(lǐng)域(Industry)以及住宅地(Residence)共 5 個字段來預(yù)測他的收入層次。

 表 1

 收入層次

  Band1 Below$40000 Band 2 $40000 – 150000 Band3 More

 than $150000

 隨機(jī)森林中每一棵樹都可以看做是一棵 CART (分類回歸樹),這里假設(shè)森林中有 5 棵 CART 樹,總特征個數(shù) N=5, 取m=1 (m 為建立決策樹時,隨機(jī)選取的特征個數(shù),這里假設(shè)每個 CART 樹對應(yīng)一個不同的特征)。(表格中的百分?jǐn)?shù)指的是在不同條件下的數(shù)據(jù)樣本占對應(yīng)類別的比例)

  假如要預(yù)測的某個人的信息如下:

 1. Age : 35 years ; 2. Gender : Male ; 3. Highest Educational Qualification : Diploma holder; 4. Industry :Manufacturing; 5. Residence : Metro. 根據(jù)這五棵 CART 樹的分類結(jié)果,可以針對此人的信息建立收入層次的分布情況:

  最后,我們得出結(jié)論:這個人的收入層次 70%是一等,24%是二等,6%是三等。所以我們得出結(jié)論:這個人的收入層次是一等(小于$40000)。

 五、 實驗流程 1. 尋找數(shù)據(jù)集。從 UCI 數(shù)據(jù)集網(wǎng)站下載了紅葡萄酒品質(zhì)的數(shù)據(jù)集。

 2. 打開 MATLAB 2018a,清空工作區(qū)變量。

 3. 導(dǎo)入數(shù)據(jù)集。把下載好的數(shù)據(jù)集導(dǎo)入進(jìn)來。

 4. 按照寫好的代碼,利用數(shù)據(jù)集訓(xùn)練并生成隨機(jī)森林,計算隨機(jī)森林判斷樣本類別的準(zhǔn)確率。

 六、隨機(jī)森林實現(xiàn)代碼 %清空環(huán)境變量 clear all clc warning off

 %導(dǎo)入數(shù)據(jù)

 %1.隨機(jī)產(chǎn)生訓(xùn)練集 測試集 a=randperm(1599); Train=winequalityred(a(1:1200),:);

  %產(chǎn)生 1200 個訓(xùn)練集 Test=winequalityred(a(1201:end),:);

  %剩下的是測試集 399個 %2.訓(xùn)練數(shù)據(jù) P_train=Train(:,1:11); T_train=Train(:,12);

 %3.測試數(shù)據(jù) P_test=Test(:,1:11); T_test=Test(:,12);

 %調(diào)用 Random Forest 算法 btree=TreeBagger(50,P_train,T_train,"NVarToSample","all","Method","classification"); [pred_labels,scoresl]=predict(btree,Test); predict_label=cellfun(@(x)str2double(x),pred_labels);

 %將 cell 類型的 pred_labels 轉(zhuǎn)化為 double 型的 predict_label T_test1=table2cell(T_test);

 %將 table 型的 T_test 轉(zhuǎn)化為 cell 型的 T_test1 T_test2=cell2mat(T_test1);

  %將 cell 型的 T_test 轉(zhuǎn)化為 double 型的 T_test2 accuray=sum(T_test2( :,1)==predict_label( :,1))/399;

  %計算測試集數(shù)據(jù)的標(biāo)簽預(yù)測準(zhǔn)確率 六、 實驗結(jié)果分析

  七、 心得體會 訓(xùn)練隨機(jī)森林時一定要多次實驗,選取不同的參數(shù),以求得預(yù)測的最大準(zhǔn)確率。

 將 table 型數(shù)據(jù)通過 cell 型數(shù)據(jù)才能轉(zhuǎn)換為 double 類型的數(shù)據(jù)。

推薦訪問: 算法 數(shù)據(jù)挖掘 隨機(jī)

【數(shù)據(jù)挖掘之隨機(jī)森林算法實驗報告】相關(guān)推薦

工作總結(jié)最新推薦

NEW