随机森林提高准确性



我使用RandomForestClassifier方法进行对象检测。问题是,即使我知道我的随机状态默认为零,我的精度也很差,所以有没有办法知道我的n_evaluations,random_state参数的最佳值?

from sklearn.ensemble import RandomForestClassifier
RF_model = RandomForestClassifier(n_estimators = 250, random_state = 120)

要确定模型的最佳参数,可以使用一个称为网格搜索的过程。Sklearn提供了一个用于执行此操作的类GridSearchCV。我提供了一个如何将其用于随机森林分类器的代码示例。

from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GridSearchCV
# provide iterables of values to be tested each parameter
parameters = {'n_estimators': [100, 250, 500, 750]}
clf = GridSearchCV(RandomForestClassifier(), parameters)
clf.fit(X, y)  # X and y are your training data and targets

值得注意的是,在您的问题中,您特别提到了为n_estimatorsrandom_state参数寻找最佳值。我没有将random_state作为GridSearch的一部分,因为该参数通常用于结果的再现性。以下是Sklearns词汇表中关于该参数的一些补充阅读。

最新更新