用法:
class cuml.ensemble.RandomForestRegressor(*, split_criterion=2, accuracy_metric='r2', handle=None, verbose=False, output_type=None, **kwargs)
實現一個隨機森林回歸模型,該模型適合集成中的多個決策樹。
注意
請注意,樹節點拆分的底層算法與scikit-learn 中使用的算法不同。默認情況下,cuML 隨機森林使用基於分位數的算法來確定拆分,而不是精確計數。您可以使用
n_bins
參數調整分位數的大小注意
您可以導出 cuML 隨機森林模型並在沒有 NVIDIA GPU 的機器上使用它們運行預測。看https://docs.rapids.ai/api/cuml/nightly/pickling_cuml_models.html更多細節。
- n_estimators:int(默認值 = 100)
森林中的樹數量。 (在 cuML 0.11 中默認更改為 100)
- split_criterion:int 或字符串(默認 =
2
('mse'
)) 用於分割節點的標準。
0
或'gini'
用於基尼雜質1
或'entropy'
用於信息增益(熵)2
或'mse'
表示均方誤差4
或'poisson'
用於泊鬆半偏差5
或'gamma'
用於伽馬半偏差6
或'inverse_gaussian'
用於逆高斯偏差
0
、'gini'
、1
和'entropy'
對回歸無效。- bootstrap:布爾值(默認 = True)
控製引導。
如果
True
,則森林中的每棵樹都建立在帶替換的自舉樣本之上。如果
False
,則使用整個數據集來構建每棵樹。
- max_samples:浮點數(默認 = 1.0)
擬合每棵樹時使用的數據集行的比率。
- max_depth:int(默認值 = 16)
最大樹深度。無限(即,直到葉子是純的),如果
-1
。注意
此默認值與 scikit-learn 的隨機森林不同,後者默認為無限深度。
- max_leaves:int(默認 = -1)
每棵樹的最大葉節點。軟約束。無限,如果
-1
。- max_features:int 浮點數或字符串(默認 = ‘auto’)
每個節點拆分要考慮的特征(列)數量的比率。
如果類型
int
那麽max_features
是要使用的函數的絕對計數。如果類型
float
則max_features
用作分數。如果
'auto'
那麽max_features=1.0
。如果
'sqrt'
那麽max_features=1/sqrt(n_features)
。如果
'log2'
那麽max_features=log2(n_features)/n_features
。
- n_bins:int(默認值 = 128)
拆分算法使用的 bin 數量。對於較大的問題,尤其是具有 highly-skewed 輸入數據的問題,增加 bin 的數量可能會提高準確性。
- n_streams:int(默認 = 4)
用於造林的並行流數
- min_samples_leaf:int 或浮點數(默認 = 1)
每個葉節點中的最小樣本數(行)。
如果鍵入
int
,則min_samples_leaf
表示最小數量。如果
float
,則min_samples_leaf
表示分數,而ceil(min_samples_leaf * n_rows)
是每個葉節點的最小樣本數。
- min_samples_split:int 或浮點數(默認 = 2)
拆分內部節點所需的最小樣本數。
如果鍵入
int
,則 min_samples_split 表示最小數量。如果鍵入
float
,則min_samples_split
表示一個分數,而ceil(min_samples_split * n_rows)
是每個拆分的最小樣本數。
- min_impurity_decrease:浮點數(默認 = 0.0)
分裂節點所需的最小雜質減少
- accuracy_metric:字符串(默認 = ‘r2’)
決定用於評估模型性能的指標。在 0.16 版本中,默認評分指標從均方誤差更改為 r-squared。
對於r-squared:
'r2'
對於絕對誤差的中位數:
'median_ae'
絕對誤差的平均值:
'mean_ae'
對於均方誤差”:
'mse'
- max_batch_size:int(默認值 = 4096)
給定批次中可以處理的最大節點數。
- random_state:int(默認 = 無)
隨機數生成器的種子。默認情況下未播種。目前不完全保證完全相同的結果。
- handle:cuml.Handle
指定 cuml.handle 保存用於此模型中計算的內部 CUDA 狀態。最重要的是,這指定了將用於模型計算的 CUDA 流,因此用戶可以通過在多個流中創建句柄在不同的流中同時運行不同的模型。如果為 None,則創建一個新的。
- verbose:int 或布爾值,默認=False
設置日誌記錄級別。它必須是
cuml.common.logger.level_*
之一。有關詳細信息,請參閱詳細級別。- output_type:{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’},默認=無
用於控製估計器的結果和屬性的輸出類型的變量。如果為 None,它將繼承在模塊級別設置的輸出類型
cuml.global_settings.output_type
。有關詳細信息,請參閱輸出數據類型配置。
參數:
注意:
已知限製
這是 cuML 隨機森林代碼的早期版本。它包含一些已知的限製:
僅 32 位 (float32) 數據類型支持基於 GPU 的推理。替代方法是對 64 位 (float64) 數據類型使用基於 CPU 的推理,或者在 GPU 推理期間進行默認的自動數據類型轉換。
有關其他文檔,請參閱 scikitlearn’s RandomForestRegressor 。
例子:
import numpy as np from cuml.ensemble import RandomForestRegressor as curfr X = np.asarray([[0,10],[0,20],[0,30],[0,40]], dtype=np.float32) y = np.asarray([0.0,1.0,2.0,3.0], dtype=np.float32) cuml_model = curfr(max_features=1.0, n_bins=128, min_samples_leaf=1, min_samples_split=2, n_estimators=40, accuracy_metric='r2') cuml_model.fit(X,y) cuml_score = cuml_model.score(X,y) print("MSE score of cuml : ", cuml_score)
輸出:
MSE score of cuml : 0.1123437201231765
相關用法
- Python cuml.ensemble.RandomForestClassifier用法及代碼示例
- Python cuml.experimental.preprocessing.PolynomialFeatures用法及代碼示例
- Python cuml.experimental.preprocessing.add_dummy_feature用法及代碼示例
- Python cuml.experimental.preprocessing.KBinsDiscretizer用法及代碼示例
- Python cuml.explainer.PermutationExplainer用法及代碼示例
- Python cuml.experimental.preprocessing.StandardScaler用法及代碼示例
- Python cuml.experimental.preprocessing.MinMaxScaler用法及代碼示例
- Python cuml.experimental.preprocessing.minmax_scale用法及代碼示例
- Python cuml.explainer.KernelExplainer用法及代碼示例
- Python cuml.experimental.preprocessing.RobustScaler用法及代碼示例
- Python cuml.experimental.preprocessing.Normalizer用法及代碼示例
- Python cuml.experimental.preprocessing.SimpleImputer用法及代碼示例
- Python cuml.experimental.preprocessing.MaxAbsScaler用法及代碼示例
- Python cuml.experimental.preprocessing.Binarizer用法及代碼示例
- Python cuml.metrics.pairwise_distances.pairwise_distances用法及代碼示例
- Python cuml.neighbors.KNeighborsClassifier用法及代碼示例
- Python cuml.svm.SVC用法及代碼示例
- Python cuml.svm.SVR用法及代碼示例
- Python cuml.Lasso用法及代碼示例
- Python cuml.tsa.ARIMA.predict用法及代碼示例
注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cuml.ensemble.RandomForestRegressor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。