本文介紹了隨機森林迴歸演算法(Random Forest Regression)相關內容。
簡介
隨機森林迴歸演算法(Random Forest Regression)是隨機森林(Random Forest)的重要套用分支。隨機森林迴歸模型通過隨機抽取樣本和特徵,建立多棵相互不關聯的決策樹,通過並行的方式獲得預測結果。每棵決策樹都能通過抽取的樣本和特徵得出一個預測結果,通過綜合所有樹的結果取平均值,得到整個森林的迴歸預測結果。
使用情境
隨機森林迴歸演算法在對資料維度要求相對較低(幾十維),同時對準確性要求較高的情境下使用。
例如,預測Twitter的某一話題的熱度,可以使用隨機森林迴歸模型來處理。模型的輸入可以是話題的特徵,比如話題在某時刻產生的討論群組數量、參與該話題討論的人數和話題關注度等。模型的輸出是平均每小時的活躍討論群組的數量,是一個正的浮點數,值越大熱度越高。
參數說明
下表中的參數為建立模型CREATE MODEL
文法中model_parameter
參數的取值,您可以根據當前需求選擇對應的參數。
參數 | 說明 |
n_estimators | 迭代次數。次數越多擬合越好,通常為正整數,預設值為100。 |
objective | 學習任務及相應的學習目標。取值如下:
|
max_features | 決定劃分時考慮的最大特徵數量。取值如下:
|
random_state | 隨機狀態。通常為正整數,預設值為1。 |
n_jobs | 並行線程數。數量越多訓練速度越快,通常為正整數,預設值為4。 |
max_depth | 每棵樹的最大深度。通常為正整數,預設值為None。 說明 當設定為None時,表示對樹的深度沒有限制。 |
樣本
建立模型與模型離線訓練
/*polar4ai*/CREATE MODEL randomforestreg1 WITH
( model_class = 'randomforestreg', x_cols = 'dx1,dx2', y_cols='y',
model_parameter=(objective='mse')) AS (SELECT * FROM db4ai.testdata1);
模型評估
/*polar4ai*/SELECT dx1,dx2 FROM EVALUATE(MODEL randomforestreg1,
SELECT * FROM db4ai.testdata1 LIMIT 10) WITH
(x_cols = 'dx1,dx2',y_cols='y',metrics='r2_score');
模型預測
/*polar4ai*/SELECT dx1,dx2 FROM
PREDICT(MODEL randomforestreg1, SELECT * FROM db4ai.testdata1 LIMIT 10)
WITH (x_cols = 'dx1,dx2');
其中,x_cols
和y_cols
中的列資料類型必須是浮點型或整型。