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

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