gpt4 book ai didi

python - 如何使用 Scikit Learn 调整随机森林中的参数?

转载 作者:IT老高 更新时间:2023-10-28 21:53:04 26 4
gpt4 key购买 nike

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

  • 标准

n_estimators 真的不值得优化。你给它的估算器越多,它就会做得越好。 500 或 1000 通常就足够了。

max_features 值得探索许多不同的值。它可能对 RF 的行为有很大的影响,因为它决定了 RF 中的每棵树在每次拆分时考虑多少特征。

criterion 可能会产生很小的影响,但通常默认值就可以了。如果你有时间,试试看。

请务必使用 sklearn 的 GridSearch (最好是GridSearchCV,但是你的数据集太小了)在尝试这些参数时。

如果我正确理解您的问题,那么您只有 9 个样本和 3 个类吗?大概每类3个样本?除非它们是良好的、有代表性的记录,否则您的 RF 很可能会过度拟合这么少的数据。

关于python - 如何使用 Scikit Learn 调整随机森林中的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36107820/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com