【问题标题】:scikit - GridSearchCV on CalibratedCV with RandomForrestClassifier as base estimatorscikit - CalibratedCV 上的 GridSearchCV,使用 RandomForrestClassifier 作为基本估计器
【发布时间】:2015-11-22 23:44:39
【问题描述】:

我想知道是否有办法在 CalibratedCV 中嵌入的 RandomForrestClassifier 上执行 GridSearchCV,我想优化日志丢失,所以我需要在 CalibratedCV 上进行评估,但我想更改 RandomForrest 的参数。

提前致谢

【问题讨论】:

  • 从文档中我看不到将基本估计器传递给管道内的 CalibratedCV 的方法,因此我必须实现一个自定义分类器,这不是微不足道的,因为它必须与克隆一起工作( ) GridSearchCV 中使用的方法。

标签: python scikit-learn classification grid-search hyperparameters


【解决方案1】:

由于我需要 RandomSearchCV 和 RandomForrestClassifier 可以愉快地使用所有可用的内核,我最终得到了自己的解决方案,该解决方案使用:

from numpy import random
def random_params(model_parameters):
    model_params = {}
    for k, v in model_parameters.iteritems():
        if type(v) is list:
            model_params[k] = random.choice(v)
        elif 'scipy' in str(type(v)):
            try:
                from scipy.stats import distributions
            except ValueError:
                raise ValueError('random_search requires scipy.stats')

            model_params[k] = v.rvs(1)[0]
        elif isinstance(v, int) or isinstance(v, float) or isinstance(v, str):
            model_params[k] = v
        else:
            raise ValueError('Unrecognized search value for parameter %s' % k)
    return model_params

随机绘制参数集。其余的都是微不足道的。

【讨论】:

    猜你喜欢
    • 2020-04-25
    • 2019-08-18
    • 2020-04-07
    • 2019-12-04
    • 2017-06-02
    • 2016-12-07
    • 1970-01-01
    • 2019-01-08
    • 2020-03-02
    相关资源
    最近更新 更多