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

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