假设我创建了这样一个RandomizedSearchCV
:
searcher = model_selection.RandomizedSearchCV(estimator = RandomForestClassifier(),
param_distributions = random_grid,
n_iter = 20, # Number of parameter combinations to try
cv = 3, # Number of folds for k-fold validation
n_jobs = -1) # Use all processors to compute in parallel
search = searcher.fit(x_train, y_train)
search.best_params_
n_iter
告诉我们搜索将测试多少个组合。对我来说,知道作为20种组合的一部分或除了20种组合之外,还包括默认模型参数是非常重要的。有人知道这是真是假吗
他们是而不是(可以说,如果是这样的话,那会很奇怪)
尝试的参数组合的详细值将在拟合的
RandomizedSearchCV
对象的属性cv_results_
中返回。根据docs(使用默认的n_iter = 10
)调整示例,我们得到:您可以直接检查
search.cv_results_
返回的字典,也可以将其导入pandas数据帧以获得更紧凑的表示形式:从这里可以清楚地看出
LogisticRegression
的C=1.0
的default值未包含在搜索网格中如果您有任何理由使用默认参数来评估模型的性能,那么您应该单独进行评估——可以说这非常简单(只需两行代码)
相关问题 更多 >
编程相关推荐