本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。