隨機森林特征個數mtry matlab,基于隨機森林的特征選擇算法

2.1 算法描述

本文提出了一種基于隨機森林的Wrapper特征選擇方法RFFS,利用隨機森林算法的變量重要性度量對特征進行排序,然后采用序列后向搜索方法,每次從特征集合中去掉一個最不重要(重要性得分最小)的特征,逐次進行迭代,并計算分類正確率,最終得到變量個數最少、分類正確率最高的特征集合作為特征選擇結果。為了保證實驗結果的穩定性,本文采用了10折交叉驗證方法,在每一次迭代中,將數據集劃分成10等份,利用其中的9份作為訓練集用于構建隨機森林分類器,剩余的1份作為驗證集數據進行驗證。在10折交叉驗證過程中,選擇測試集上分類準確率最高的一次迭代產生的變量重要性排序作為刪除特征的依據,將10次迭代的平均分類準確率作為該輪迭代的分類精度。具體過程如算法1所示。

算法1 基于隨機森林的特征選擇算法RFFS

輸入:原始數據集S

輸出:驗證集上的最大分類正確率TGMaxAcc及其對應的特征集合FGSort

步驟:

1.初始化

1.1讀入原始數據集S

1.2設置TGMaxAcc=0

2.For(ft in N-2)

2.1 將數據集S隨機劃分成10等份

2.2 設置局部最大分類準確率TLMaxAcc=0

2.3 設置局部平均分類準確率TLMeanAcc=0

2.4 初始化10折交叉驗證中每次迭代的分類準確率

TLAcc[1∶10]=0

2.5 For(i in 1∶10)

2.5.1 在S上運行randomForest創建分類器

2.5.2 在測試集上執行predict進行分類

2.5.3 比較分類結果與觀測值,計算TLAcc

2.5.4 計算TLMeanAcc=TLMeanAcc+TLAcc[i]/10

2.5.5 If(TLMaxAcc<=TLAcc[i])

2.5.6 則TLMaxAcc=TLAcc[i]

2.5.7 對特征按變量重要性排序并存為FSort

2.6 If(TGMaxAcc<=TLMeanAcc)

則TGMaxAcc=TLMeanAcc

FGSort=FSort

2.7 從FSort中去掉重要性得分最低的一個特征,得到新的數據集S

3.輸出結果

3.1輸出全局最高分類準確率TGMaxAcc

3.2輸出全局最高分類準確率對應的特征集合FGSort

注:ft代表循環變量,N代表數據集中所有特征個數。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371595.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371595.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371595.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

matlab循環讀取變量,Matlab for 多個變量循環能不能這樣啊 ,求教高手!!!!

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓for a0.003:0.0005:1; b0.002:0.0005:0.9; c0.001:0.0005:0.8;d0.0005:0.0005:0.7;E1a* E_Bone;E2b* E_Bone;E3c* E_Bone;E4d* E_Bone;G1a* G_Bone;G2b* G_Bone;G3c* G_Bone;G4d* G_Bone;%% Integration for cortical bone partsIn…

UVA - 10384 The Wall Pusher(推門游戲)(IDA*)

題意&#xff1a;從起點出發&#xff0c;可向東南西北4個方向走&#xff0c;如果前面沒有墻則可走&#xff1b;如果前面只有一堵墻&#xff0c;則可將墻向前推一格&#xff0c;其余情況不可推動&#xff0c;且不能推動游戲區域邊界上的墻。問走出迷宮的最少步數&#xff0c;輸出…

JavaOne 2012:JavaOne技術主題演講

Mark Reinhold從JavaOne 2012技術主題演講開始。 他說&#xff0c;今年的版本將有所不同&#xff0c;因為它將使用大致相同的示例來說明Java的各個方面&#xff0c;而不是對Java的每個組件進行單獨的單獨介紹。 JavaFX團隊的Richard Bair和Jasper Potts &#xff08;并與FXExpe…

C語言結構體及函數傳遞數組參數演示樣例

C語言結構體及函數傳遞數組參數演示樣例 注&#xff1a;makeSphere()函數返回Sphere結構體&#xff0c;main函數中。調用makeSphere()函數&#xff0c;傳遞的第一個參數為數組&#xff0c;傳遞的數組作為指針。posted on 2017-07-30 18:42 mthoutai 閱讀(...) 評論(...) 編輯 收…

Maven內部版本號插件–用法示例

假設我們需要向一些工件&#xff08;jar&#xff0c;war等&#xff09;添加內部版本號。 在這里&#xff0c;我想演示buildnumber-maven-plugin的用法。 這篇文章基于&#xff1a; http://mojo.codehaus.org/buildnumber-maven-plugin/usage.html http://www.site.lalitbhatt…

Python魔法方法(magic method)細解幾個常用魔法方法(下)

接上文&#xff0c;再介紹最后幾個常用的魔法方法。 關于__dict__: 先上個例子&#xff1a; class Test(object):fly Truedef __init__(self, age):self.age age __dict__魔法方法可以被稱為系統&#xff0c;他是存儲各分層屬性的魔法方法。__dict__中&#xff0c;鍵為屬性名…

AIX下RAC搭建 Oracle10G(六)dbca建庫

AIX下RAC搭建系列 AIX下RAC搭建 Oracle10G&#xff08;六&#xff09;dbca建庫 環境 節點 節點1 節點2 小機型號 IBM P-series 630 IBM P-series 630 主機名 AIX203 AIX204 交換機 SAN光纖交換機 存儲 SAN T3存儲 大綱流程例如以下&#xff1a; 第一部分&#xff1…

php string slice,substring()與str.slice()區別

當接收的參數是負數時&#xff0c;slice會將它字符串的長度與對應的負數相加&#xff0c;結果作為參數&#xff1b;substr則僅僅是將第一個參數與字符串長度相加后的結果作為第一個參數&#xff1b;substring則干脆將負參數都直接轉換為0。測試代碼如下&#xff1a;var test h…

JavaOne 2012:掌握Java部署

在吃完一次JavaClass 2012午餐會的意大利經典組合后&#xff0c;我前往希爾頓帝國宴會廳B觀看了演示“掌握Java部署”。 來自Oracle的發言人是Mark Howe和Igor Nekrestyano Howe表示&#xff0c;部署團隊的目標是幫助Java開發人員將其應用程序部署到所選平臺。 他首先討論了“功…

數組刪除奇數編號的數據求最后的元素

//abcd...s 這19個字符循環106次成一個長度2014的字符串&#xff0c;然后刪除第奇數個&#xff0c;得到小串&#xff0c;再刪&#xff0c;最后的字符是&#xff1f; #define _CRT_SECURE_NO_DEPRECATE #include<stdio.h> #include<windows.h> #include<string.…

php 提高吞吐量,如何提高網站的吞吐量

吞吐量定義百科吞吐量是指對網絡、設備、端口、虛電路或其他設施&#xff0c;單位時間內成功地傳送數據的數量(以比特、字節、分組等測量)。以上的定義比較寬泛&#xff0c;定義到網站或者接口的吞吐量是這樣的&#xff1a;吞吐量是指系統在單位時間內處理請求的數量。這里有一…

ubuntu下如何查找某個文件的路徑

1.whereis 文件名 特點:快速,但是是模糊查找,例如 找 #whereis mysql 它會把mysql,mysql.ini,mysql.*所在的目錄都找出來. 2.find / -name 文件名 特點:準確,但速度慢,消耗資源大,例如我想找到PHP.ini的準確位置,就需要用 #find / -name php.ini 3.locate 文件名 強力推薦的方…

事件的學習

1.鼠標單擊事件( onclick &#xff09;: onclick是鼠標單擊事件&#xff0c;當在網頁上單擊鼠標時&#xff0c;就會發生該事件。同時onclick事件調用的程序塊就會被執行&#xff0c;通常與按鈕一起使用。 <!DOCTYPE HTML> <html> <head> <meta http-equiv…

使用您自己的規則在Eclipse中自定義PMD

PMD是非常好的Java代碼掃描程序&#xff0c;可幫助您避免潛在的編程問題。 它可以輕松擴展以滿足您的需求&#xff0c;并且本文將為您帶來與JPA的Enumerated注釋用法相關的自定義PMD規則的簡單示例。 在繼續閱讀之前&#xff0c;您應該檢查我以前的文章之一-JPA-Enumerated def…

切換oracle用戶impdp,Oracle 12c pdb使用expdp/impdp導入導出

12c推出了可插拔數據庫&#xff0c;在一個容器cdb中以多租戶的形式同時存在多個數據庫pdb。在為pdb做數據泵導入導出時和傳統的數據庫有少許不同。1&#xff0c;需要為pdb添加tansnames2&#xff0c;導入導出時需要在userid參數內指定其tansnames的值&#xff0c;比如 useridus…

搭建mysql集群,使用Percona XtraDB Cluster搭建

Percona XtraDB Cluster提供的特性有&#xff1a;1.同步復制&#xff0c;事務要么在所有節點提交或不提交。2.多主復制&#xff0c;可以在任意節點進行寫操作。3.在從服務器上并行應用事件&#xff0c;真正意義上的并行復制。4.節點自動配置。5.數據一致性&#xff0c;不再是異…

使用NoSQL實現實體服務–第4部分:Java EE

現在&#xff0c;我已經準備好了框架式的合同優先型Web服務&#xff0c;并使用Ektorp和CouchDB創建了數據訪問層 &#xff0c;是時候將它們連接到一個可以正常工作的實體服務中了 。 為此&#xff0c;我將使用Java EE和Glassfish 3.1。 值得注意的是&#xff0c;對于他的那種R&…

yii2之DetailView小部件

DetailView小部件用于展示單條數據記錄&#xff0c;可配置屬性很少&#xff0c;使用也很簡單&#xff0c;直接貼代碼&#xff0c;一看就懂&#xff01; yii小部件數據小部件DetailView的使用示例&#xff1a; <? DetailView::widget([model > $user,//模型對象&#xff…

克隆安裝oracle,Oracle 之 Cloning $oracle_home (克隆安裝oracle軟件)

用途&#xff1a;Cloning an Oracle Home &#xff0c; 可以免去多臺機器重復安裝oracle軟件1、停止相關進程[rootnode1 bin]# ./crsctl stop cluster -all2、打包 dbhome_1 目錄[rootnode1 11.2.0]# cd /u01/app/oracle/product/11.2.0/[rootnode1 11.2.0]# tar -zcvpf db_1.b…

gitlab的安裝和基本維護

基本介紹 GitLab是一個自托管的Git項目倉庫&#xff0c;可以自己搭建個人代碼管理的倉庫&#xff0c;功能與github類似。 安裝 操作系統&#xff1a;CentOS6.5 gitlab官網下載安裝地址&#xff1a;https://about.gitlab.com/downloads/#centos6 1.安裝依賴的包 yum install cur…