class sklearn.ensemble.RandomForestClassifier(n_estimators=10,
criterion='gini',
max_depth=None,
min_samples_split=2,
min_samples_leaf=1,
min_weight_fraction_leaf=0.0,
max_features='auto',
max_leaf_nodes=None,
bootstrap=True,
oob_score=False,
n_jobs=1,
random_state=None,
verbose=0,
warm_start=False,
class_weight=None)
我正在使用带有9个样本和大约7000个属性的随机森林模型。在这些样本中,我的分类器可以识别3个类别。
我知道这远非理想条件,但我正在尝试找出哪些属性在特征预测中最重要。哪些参数最适合优化功能重要性?
我尝试了不同的方法n_estimators
,发现“重要特征”(即feature_importances_
数组中的非零值)的数量急剧增加。
我已经阅读了文档,但是如果有任何经验,我想知道最适合调整哪些参数,并简要说明原因。
根据我的经验,sklearn RandomForestClassifier具有三个值得探讨的功能,按重要性排序:
n_estimators
max_features
criterion
n_estimators
确实不值得优化。您给它的估算器越多,它将做得越好。通常500或1000就足够了。
max_features
值得探索许多不同的价值。这可能会对RF的行为产生很大影响,因为它决定了RF中每棵树在每个分割处考虑多少个特征。
criterion
可能会产生很小的影响,但通常默认设置是可以的。如果您有时间,请尝试一下。
尝试这些参数时,请确保使用sklearn的GridSearch(最好是GridSearchCV,但您的数据集大小太小)。
但是,如果我正确理解您的问题,那么您只有9个样本和3个类?大概每个课有3个样本?除非它们是好的,有代表性的记录,否则您的RF很可能会过少地容纳少量数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句