【數(shù)據(jù)挖掘算法分享】機器學(xué)習(xí)平臺——回歸算法之隨機森林
2022-08-29 14:38:45
次
隨機森林回歸算法是決策樹回歸的組合算法,將許多回歸決策樹組合到一起,以降低過擬合的風(fēng)險。隨機森林可以處理名詞型特征,不需要進行特征縮放處理。隨機森林并行訓(xùn)練許多決策樹模型,對每個決策樹的預(yù)測結(jié)果進行合并可以降低預(yù)測的變化范圍,進而改善測試集上的預(yù)測性能。
算法思想
隨機森林是決策樹的組合,將許多決策樹聯(lián)合到一起,以降低過擬合的風(fēng)險。
隨機森林在以決策樹為機器學(xué)習(xí)構(gòu)建 Bagging 集成的基礎(chǔ)上,進一步在決策樹的訓(xùn)練過程中引入了隨機屬性選擇。具體來講,傳統(tǒng)決策樹在選擇劃分屬性時, 在當(dāng)前節(jié)點的屬性集合( 假設(shè)有 d 個屬性) 中選擇一個最優(yōu)屬性;而在隨機森林中,對基決策樹的每個節(jié)點,先從該節(jié)點的屬性集合中隨機選擇一個包含 k 個屬性的子集,然后再從這個子集中選擇一個最優(yōu)屬性用于劃分。 這里的參數(shù) k 控制了隨機性的引入程度。若令 k=d ,則基決策樹的構(gòu)建與傳統(tǒng)決策樹相同;若令 k=1 ,則是隨機選擇一個屬性用于劃分。
隨機森林回歸的過程如下:
?對訓(xùn)練集進行有放回隨機抽樣以獲得p個樣本形成訓(xùn)練集的一個子集作為新的訓(xùn)練集;
?當(dāng)每個樣本有K個屬性時,在決策樹的每個節(jié)點需要分裂時,隨機從這K個屬性中選取出k個屬性,滿足條件k<K。然后從這k個屬性中采用方差來選擇一個屬性作為該節(jié)點的分裂屬性;
?決策樹形成過程中每個節(jié)點都要按照步驟2來分裂。一直到不能夠再分裂為止,利用該子集訓(xùn)練一棵決策樹,并且不對這個決策樹進行剪枝;
?按照步驟1~3建立大量的決策樹,直至訓(xùn)練出m個決策樹;
?把測試樣本給每棵決策樹進行回歸預(yù)測,統(tǒng)計所有決策樹對同一樣本的預(yù)測結(jié)果,所有的結(jié)果的平均值作為最終預(yù)測值。
隨機森林算法的很好的利用隨機性(包括隨機生成子樣本集,隨機選擇子特征),最小化了各棵樹之間的相關(guān)性,提高了整體的性能。
數(shù)據(jù)格式
?必須設(shè)置類屬性(輸出),且類屬性(輸出)必須是連續(xù)型(數(shù)值);
?非類屬性(輸入)可以是連續(xù)型(數(shù)值)也可以是離散型(名詞);
參數(shù)說明

| 參數(shù) |
類型 |
描述 |
| 決策樹個數(shù) |
文本框 |
隨機森林中投票器(決策樹)的個數(shù),整型,取值范圍:[1,∞),默認值為20 |
| 特征選擇方法 |
下拉框 |
生長樹時,選取特征列的方法,例如:onethird表示隨機選取1/3的列進行建模,文本型,取值范圍:“auto”、“all”、“sqrt”、“log2”、 “onethird”默認值為“auto” |
| 信息度量方式 |
下拉框 |
選擇信息度量方法,文本型,取值范圍:“variance”,默認值為“variance” |
| 最大深度 |
文本框 |
樹的最大深度,整型,取值范圍:[1,∞),默認值為5 |
| 隨機種子 |
文本框 |
建模中用以生成隨機數(shù)的隨機種子,整型,隨機種子的范圍為大于0小于1.0E8的正數(shù),默認值為123456 |
| 是否顯示變量重要性 |
復(fù)選框 |
用戶選擇是否分析每個變量對于回歸結(jié)果的影響程度,如果選擇是,則在洞察中顯示參與建模的每個變量對于模型的貢獻程度情況 |
結(jié)果說明
生成的決策樹。
最后一列屬性“prediction”為回歸預(yù)測列。
Tempo機器學(xué)習(xí)平臺演示實例
構(gòu)建如下流程:
【文件輸入】節(jié)點配置如下:
【設(shè)置角色】節(jié)點配置如下:
【隨機森林回歸】節(jié)點配置如下:
流程運行結(jié)果如下: