太原師范學院
實 實
驗
報
告 告
Experimentation Report of Taiyuan Normal University
系
部
計算機系
年
級
大三
課
程
大數據分析
姓
名
XXX
同組者
日
期
項 項
目
數據挖掘 之 隨機森林算法
一、 實驗目的 1. 了解隨機森林。隨機森林就是通過集成學習的思想將多棵樹集成的一種算法,它的基本單元是決策樹,而它的本質屬于機器學習的一大分支——集成學習(Ensemble Learning)方法。
2. 掌握隨機森林的相關知識,信息、熵、信息增益等的概念。
3. 掌握隨機森林中數據分析的幾種基本方法,決策樹算法,CART 算法等。
4. 了解集成學習的定義和發展。
5. 掌握隨機森林的生成規則,隨機森林的生成方法,隨機森林的特點等相關知識。
二、 實驗內容 1. 結合老師上課所講內容及課本知識,通過查找相關資料,報
告
內
容
一、實驗目的
四、實驗方法
二、實驗原理
五、實驗記錄及數據處理 三、實驗儀器及材料
六、誤差分析及討論
學習與決策樹,隨機森林相關的知識。
2. 查找相關例題,深入理解隨機森林的各種算法。
3. 找一個數據集,利用隨機森林的相關算法訓練隨機森林,對樣本進行判段并計算其判斷的準確度。
三、 實驗儀器及平臺 計算機一臺 MATLAB 2018a 四、 實驗原理 1. 隨機森林的基本概念:
通過集成學習的思想將多棵樹集成的一種算法,它的基本單元是決策樹,而它的本質屬于機器學習的一大分支——集成學習(Ensemble Learning)方法。隨機森林的名稱中有兩個關鍵詞,一個是“隨機”,一個就是“森林”。“森林”我們很好理解,一棵叫做樹,那么成百上千棵就可以叫做森林了,這樣的比喻還是很貼切的,其實這也是隨機森林的主要思想--集成思想的體現。
2. 決策樹 2.1 信息、熵、信息增益 這三個基本概念是決策樹的根本,是決策樹利用特征來分類時,確定特征選取順序的依據。
2.2 決策樹算法 決策樹算法是一種逼近離散函數值的方法。它是一種典型的分類方法,首先對數據進行處理,利用歸納算法生成可
讀的規則和決策樹,然后使用決策對新數據進行分析。本質上決策樹是通過一系列規則對數據進行分類的過程。
3. CART 算法 Classification And Regression Tree,即分類回歸樹算法,簡稱 CART 算法,它是決策樹的一種實現。
CART 算法是一種二分遞歸分割技術,把當前樣本劃分為兩個子樣本,使得生成的每個非葉子結點都有兩個分支, 因此 CART 算法生成的決策樹是結構簡潔的二叉樹。由于 CART 算法構成的是一個二叉樹,它在每一步的決策時只能是“是”或者“否”,即使一個 feature 有多個取值,也是把數據分為兩部分。
4. 決策樹 C4.5 一種分類算法,目標是將具有 p 維特征的 n 個樣本分到 c 個類別中去。相當于做一個投影,c=f(n),將樣本經過一種變換賦予一種類別標簽。決策樹為了達到這一目的,可以把分類的過程表示成一棵樹,每次通過選擇一個特征 pi來進行分叉。
5. 隨機森林的生成規則 (1)
如果訓練集大小為 N,隨機且有放回地從訓練集中抽 取 N 個訓練樣本,構成一個新的樣本集(含重復的訓練樣本)。
(2)如果每個樣本的特征維度為 M ,指定一個常數 m,且
m< M,隨機地從 M 個特征中選取 m 個特征子集,每次樹進行分裂時,從這 m 個特征中選擇最優的,決策樹成長期間 m的大小始終不變。(注意:此處采用無放回的選擇)
(3)每棵樹都盡可能最大程度地(完全地)生長,并且沒 有剪枝過程。
(將預測結果累加起來從而得到整個隨機森林的預測果)
通過之前的三步就可以得到一棵決策樹,重復 X 次這樣的 過程那么就能得到 X 棵決策樹。來一個測試樣本就對它分類一遍,就得到 X 個分類結果。使用簡單的投票機制(或用最終分類結果)來判別該樣本的所屬類。
注意:兩類隨機性的引入對隨機森林的生成至關重要。
6. 隨機森林的簡單實例分析 根據已有的訓練集已經產生了對應的隨機森林,隨機森林如何利用某一個人的年齡(Age)、性別(Gender)、教育情況(Hinhest Educational Qualification)、工作領域(Industry)以及住宅地(Residence)共 5 個字段來預測他的收入層次。
表 1
收入層次
Band1 Below$40000 Band 2 $40000 – 150000 Band3 More
than $150000
隨機森林中每一棵樹都可以看做是一棵 CART (分類回歸樹),這里假設森林中有 5 棵 CART 樹,總特征個數 N=5, 取m=1 (m 為建立決策樹時,隨機選取的特征個數,這里假設每個 CART 樹對應一個不同的特征)。(表格中的百分數指的是在不同條件下的數據樣本占對應類別的比例)
假如要預測的某個人的信息如下:
1. Age : 35 years ; 2. Gender : Male ; 3. Highest Educational Qualification : Diploma holder; 4. Industry :Manufacturing; 5. Residence : Metro. 根據這五棵 CART 樹的分類結果,可以針對此人的信息建立收入層次的分布情況:
最后,我們得出結論:這個人的收入層次 70%是一等,24%是二等,6%是三等。所以我們得出結論:這個人的收入層次是一等(小于$40000)。
五、 實驗流程 1. 尋找數據集。從 UCI 數據集網站下載了紅葡萄酒品質的數據集。
2. 打開 MATLAB 2018a,清空工作區變量。
3. 導入數據集。把下載好的數據集導入進來。
4. 按照寫好的代碼,利用數據集訓練并生成隨機森林,計算隨機森林判斷樣本類別的準確率。
六、隨機森林實現代碼 %清空環境變量 clear all clc warning off
%導入數據
%1.隨機產生訓練集 測試集 a=randperm(1599); Train=winequalityred(a(1:1200),:);
%產生 1200 個訓練集 Test=winequalityred(a(1201:end),:);
%剩下的是測試集 399個 %2.訓練數據 P_train=Train(:,1:11); T_train=Train(:,12);
%3.測試數據 P_test=Test(:,1:11); T_test=Test(:,12);
%調用 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 轉化為 double 型的 predict_label T_test1=table2cell(T_test);
%將 table 型的 T_test 轉化為 cell 型的 T_test1 T_test2=cell2mat(T_test1);
%將 cell 型的 T_test 轉化為 double 型的 T_test2 accuray=sum(T_test2( :,1)==predict_label( :,1))/399;
%計算測試集數據的標簽預測準確率 六、 實驗結果分析
七、 心得體會 訓練隨機森林時一定要多次實驗,選取不同的參數,以求得預測的最大準確率。
將 table 型數據通過 cell 型數據才能轉換為 double 類型的數據。
推薦訪問: 算法 數據挖掘 隨機在偉大祖國73華誕之際,我參加了單位組織的“光影鑄魂”主題黨日活動,集中觀看了抗美援朝題材影片《長津湖》,再一次重溫這段悲壯歷史,再一次深刻感悟偉大抗美援朝精神。1950年10月,新中國剛剛成立一年,
根據省局黨組《關于舉辦習近平談治國理政(第四卷)讀書班的通知》要求,我中心通過專題學習、專題研討以及交流分享等形式,系統的對《習近平談治國理政》(第四卷)進行了深入的學習與交流,下面我就來談一談我個人
《習近平談治國理政》(第四卷)是在百年變局和世紀疫情相互疊加的大背景下,對以習近平同志為核心的黨中央治國理政重大戰略部署、重大理論創造、重大思想引領的系統呈現。它生動記錄了新一代黨中央領導集體統籌兩個
《真抓實干做好新發展階段“三農工作”》是《習近平談治國理政》第四卷中的文章,這是習近平總書記在2020年12月28日中央農村工作會議上的集體學習時的講話。文章指出,我常講,領導干部要胸懷黨和國家工作大
在《習近平談治國理政》第四卷中,習近平總書記強調,江山就是人民,人民就是江山,打江山、守江山,守的是人民的心。從嘉興南湖中駛出的小小紅船,到世界上最大的執政黨,在中國共產黨的字典里,“人民”一詞從來都
黨的十八大以來,習近平總書記以馬克思主義戰略家的博大胸襟和深謀遠慮,在治國理政和推動全球治理中牢固樹立戰略意識,在不同場合多次圍繞戰略策略的重要性,戰略和策略的關系,提高戰略思維、堅定戰略自信、強化戰
《習近平談治國理政》第四卷集中展示了以習近平同志為核心的黨中央在百年變局和世紀疫情相互疊加背景下,如何更好地堅持和發展中國特色社會主義而進行的生動實踐與理論探索;對于新時代堅持和發展什么樣的中國特色社
在黨組織的關懷下,我有幸參加了區委組織部組織的入黨積極分子培訓班。為期一周的學習,學習形式多樣,課程內容豐富,各位專家的講解細致精彩,對于我加深對黨的創新理論的認識、對黨的歷史的深入了解、對中共黨員的
《習近平談治國理政》第四卷《共建網上美好精神家園》一文中指出:網絡玩命是新形勢下社會文明的重要內容,是建設網絡強國的重要領域。截至2021年12月,我國網民規模達10 32億,較2020年12月增長4
剛剛召開的中國共產黨第十九屆中央委員會第七次全體會議上討論并通過了黨的十九屆中央委員會向中國共產黨第二十次全國代表大會的報告、黨的十九屆中央紀律檢查委員會向中國共產黨第二十次全國代表大會的工作報告和《