本文簡要介紹python語言中 sklearn.ensemble.RandomTreesEmbedding
的用法。
用法:
class sklearn.ensemble.RandomTreesEmbedding(n_estimators=100, *, max_depth=5, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_leaf_nodes=None, min_impurity_decrease=0.0, sparse_output=True, n_jobs=None, random_state=None, verbose=0, warm_start=False)
完全隨機的樹的集合。
數據集到高維稀疏表示的無監督轉換。數據點根據它被分類到每棵樹的哪個葉子進行編碼。使用葉子的one-hot 編碼,這導致二進製編碼與森林中的樹一樣多。
結果表示的維度是
n_out <= n_estimators * max_leaf_nodes
。如果max_leaf_nodes == None
,葉子節點的數量最多為n_estimators * 2 ** max_depth
。在用戶指南中閱讀更多信息。
- n_estimators:整數,默認=100
森林中的樹數量。
- max_depth:整數,默認=5
每棵樹的最大深度。如果沒有,則擴展節點直到所有葉子都是純的或直到所有葉子包含少於min_samples_split 個樣本。
- min_samples_split:int 或浮點數,默認=2
拆分內部節點所需的最小樣本數:
- 如果是 int,則將
min_samples_split
視為最小數字。 - 如果是浮點數,那麽
min_samples_split
是一個分數,而ceil(min_samples_split * n_samples)
是每個拆分的最小樣本數。
- 如果是 int,則將
- min_samples_leaf:int 或浮點數,默認=1
葉節點所需的最小樣本數。隻有在左右分支中的每個分支中至少留下
min_samples_leaf
訓練樣本時,才會考慮任何深度的分割點。這可能具有平滑模型的效果,尤其是在回歸中。- 如果是 int,則將
min_samples_leaf
視為最小數字。 - 如果是浮點數,那麽
min_samples_leaf
是一個分數,而ceil(min_samples_leaf * n_samples)
是每個節點的最小樣本數。
- 如果是 int,則將
- min_weight_fraction_leaf:浮點數,默認=0.0
需要在葉節點處的權重總和(所有輸入樣本的)的最小加權分數。當未提供sample_weight 時,樣本具有相同的權重。
- max_leaf_nodes:整數,默認=無
以best-first 方式用
max_leaf_nodes
種植樹。最佳節點定義為雜質的相對減少。如果 None 則無限數量的葉節點。- min_impurity_decrease:浮點數,默認=0.0
如果該分裂導致雜質減少大於或等於該值,則該節點將被分裂。
加權雜質減少方程如下:
N_t / N * (impurity - N_t_R / N_t * right_impurity - N_t_L / N_t * left_impurity)
其中
N
是樣本總數,N_t
是當前節點的樣本數,N_t_L
是左孩子的樣本數,N_t_R
是右孩子的樣本數.N
,N_t
,N_t_R
和N_t_L
都是指加權和,如果通過了sample_weight
。- sparse_output:布爾,默認=真
是否返回稀疏 CSR 矩陣作為默認行為,或者返回與密集管道運算符兼容的密集數組。
- n_jobs:整數,默認=無
並行運行的作業數量。
fit
、transform
、decision_path
和apply
都在樹上並行化。None
表示 1,除非在joblib.parallel_backend
上下文中。-1
表示使用所有處理器。有關更多詳細信息,請參閱術語表。- random_state:int、RandomState 實例或無,默認=無
控製用於擬合樹的隨機
y
的生成以及樹節點處每個特征的分割繪製。有關詳細信息,請參閱詞匯表。- verbose:整數,默認=0
控製擬合和預測時的詳細程度。
- warm_start:布爾,默認=假
當設置為
True
時,重用上一次調用的解決方案以適應並向集成添加更多估計器,否則,隻需適應一個全新的森林。請參閱詞匯表。
- base_estimator_:
ExtraTreeClassifier
實例 用於創建擬合sub-estimators 集合的子估計器模板。
- estimators_:
ExtraTreeClassifier
實例列表 擬合sub-estimators 的集合。
feature_importances_
ndarray 形狀 (n_features,)基於雜質的特征重要性。
n_features_
int已棄用:屬性
n_features_
在版本 1.0 中已棄用,並將在 1.2 中刪除。- n_features_in_:int
擬合期間看到的特征數。
- feature_names_in_:ndarray 形狀(
n_features_in_
,) 擬合期間看到的特征名稱。僅當
X
具有全為字符串的函數名稱時才定義。- n_outputs_:int
執行
fit
時的輸出數。- one_hot_encoder_:OneHotEncoder 實例
One-hot 編碼器用於創建稀疏嵌入。
- base_estimator_:
參數:
屬性:
參考:
- 1
P. Geurts、D. Ernst. 和 L. Wehenkel,“Extremely randomized trees”,機器學習,63(1),3-42,2006。
- 2
Moosmann, F. 和 Triggs, B. 和 Jurie, F. “使用隨機聚類森林的快速判別視覺碼本” NIPS 2007
例子:
>>> from sklearn.ensemble import RandomTreesEmbedding >>> X = [[0,0], [1,0], [0,1], [-1,0], [0,-1]] >>> random_trees = RandomTreesEmbedding( ... n_estimators=5, random_state=0, max_depth=1).fit(X) >>> X_sparse_embedding = random_trees.transform(X) >>> X_sparse_embedding.toarray() array([[0., 1., 1., 0., 1., 0., 0., 1., 1., 0.], [0., 1., 1., 0., 1., 0., 0., 1., 1., 0.], [0., 1., 0., 1., 0., 1., 0., 1., 0., 1.], [1., 0., 1., 0., 1., 0., 1., 0., 1., 0.], [0., 1., 1., 0., 1., 0., 0., 1., 1., 0.]])
相關用法
- Python sklearn RandomizedSearchCV用法及代碼示例
- Python sklearn RandomForestClassifier用法及代碼示例
- Python sklearn RandomForestRegressor用法及代碼示例
- Python sklearn RadiusNeighborsTransformer用法及代碼示例
- Python sklearn RadiusNeighborsRegressor.radius_neighbors_graph用法及代碼示例
- Python sklearn RadiusNeighborsClassifier用法及代碼示例
- Python sklearn RadiusNeighborsTransformer.radius_neighbors_graph用法及代碼示例
- Python sklearn RadiusNeighborsRegressor用法及代碼示例
- Python sklearn RadiusNeighborsTransformer.radius_neighbors用法及代碼示例
- Python sklearn RadiusNeighborsRegressor.radius_neighbors用法及代碼示例
- Python sklearn RadiusNeighborsClassifier.radius_neighbors_graph用法及代碼示例
- Python sklearn RadiusNeighborsClassifier.radius_neighbors用法及代碼示例
- Python sklearn RationalQuadratic用法及代碼示例
- Python sklearn RocCurveDisplay用法及代碼示例
- Python sklearn RFE用法及代碼示例
- Python sklearn RidgeCV用法及代碼示例
- Python sklearn RegressorChain用法及代碼示例
- Python sklearn RANSACRegressor用法及代碼示例
- Python sklearn RobustScaler用法及代碼示例
- Python sklearn RepeatedStratifiedKFold用法及代碼示例
- Python sklearn RocCurveDisplay.from_estimator用法及代碼示例
- Python sklearn RBF用法及代碼示例
- Python sklearn Ridge用法及代碼示例
- Python sklearn RocCurveDisplay.from_predictions用法及代碼示例
- Python sklearn RidgeClassifierCV用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.ensemble.RandomTreesEmbedding。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。