太原師范學(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ī)在偉大祖國73華誕之際,我參加了單位組織的“光影鑄魂”主題黨日活動,集中觀看了抗美援朝題材影片《長津湖》,再一次重溫這段悲壯歷史,再一次深刻感悟偉大抗美援朝精神。1950年10月,新中國剛剛成立一年,
根據(jù)省局黨組《關(guān)于舉辦習(xí)近平談治國理政(第四卷)讀書班的通知》要求,我中心通過專題學(xué)習(xí)、專題研討以及交流分享等形式,系統(tǒng)的對《習(xí)近平談治國理政》(第四卷)進(jìn)行了深入的學(xué)習(xí)與交流,下面我就來談一談我個人
《習(xí)近平談治國理政》(第四卷)是在百年變局和世紀(jì)疫情相互疊加的大背景下,對以習(xí)近平同志為核心的黨中央治國理政重大戰(zhàn)略部署、重大理論創(chuàng)造、重大思想引領(lǐng)的系統(tǒng)呈現(xiàn)。它生動記錄了新一代黨中央領(lǐng)導(dǎo)集體統(tǒng)籌兩個
《真抓實干做好新發(fā)展階段“三農(nóng)工作”》是《習(xí)近平談治國理政》第四卷中的文章,這是習(xí)近平總書記在2020年12月28日中央農(nóng)村工作會議上的集體學(xué)習(xí)時的講話。文章指出,我常講,領(lǐng)導(dǎo)干部要胸懷黨和國家工作大
在《習(xí)近平談治國理政》第四卷中,習(xí)近平總書記強(qiáng)調(diào),江山就是人民,人民就是江山,打江山、守江山,守的是人民的心。從嘉興南湖中駛出的小小紅船,到世界上最大的執(zhí)政黨,在中國共產(chǎn)黨的字典里,“人民”一詞從來都
黨的十八大以來,習(xí)近平總書記以馬克思主義戰(zhàn)略家的博大胸襟和深謀遠(yuǎn)慮,在治國理政和推動全球治理中牢固樹立戰(zhàn)略意識,在不同場合多次圍繞戰(zhàn)略策略的重要性,戰(zhàn)略和策略的關(guān)系,提高戰(zhàn)略思維、堅定戰(zhàn)略自信、強(qiáng)化戰(zhàn)
《習(xí)近平談治國理政》第四卷集中展示了以習(xí)近平同志為核心的黨中央在百年變局和世紀(jì)疫情相互疊加背景下,如何更好地堅持和發(fā)展中國特色社會主義而進(jìn)行的生動實踐與理論探索;對于新時代堅持和發(fā)展什么樣的中國特色社
在黨組織的關(guān)懷下,我有幸參加了區(qū)委組織部組織的入黨積極分子培訓(xùn)班。為期一周的學(xué)習(xí),學(xué)習(xí)形式多樣,課程內(nèi)容豐富,各位專家的講解細(xì)致精彩,對于我加深對黨的創(chuàng)新理論的認(rèn)識、對黨的歷史的深入了解、對中共黨員的
《習(xí)近平談治國理政》第四卷《共建網(wǎng)上美好精神家園》一文中指出:網(wǎng)絡(luò)玩命是新形勢下社會文明的重要內(nèi)容,是建設(shè)網(wǎng)絡(luò)強(qiáng)國的重要領(lǐng)域。截至2021年12月,我國網(wǎng)民規(guī)模達(dá)10 32億,較2020年12月增長4
剛剛召開的中國共產(chǎn)黨第十九屆中央委員會第七次全體會議上討論并通過了黨的十九屆中央委員會向中國共產(chǎn)黨第二十次全國代表大會的報告、黨的十九屆中央紀(jì)律檢查委員會向中國共產(chǎn)黨第二十次全國代表大會的工作報告和《