【问题标题】:TypeError: unhashable type: 'CatBoostClassifier'TypeError:无法散列的类型:\'CatBoostClassifier\'
【发布时间】:2022-12-05 05:18:33
【问题描述】:

上下文:我正在尝试使用带有如下参数的字典来使用 catboost 分类器:

from catboost import CatBoostClassifier
model_params_grid_search = {
    naive_bayes.MultinomialNB(): {
        'param_grid': {
            'alpha': [0.01, 0.1, 0.5, 1.0, 10.0], }
    },
    linear_model.LogisticRegression(): {
        'param_grid': {
            'C': [0.01, 0.1, 0.5, 1.0],
            'penalty': ['l1', 'l2'],
            'solver': ['liblinear', 'lbfgs', 'saga'],
        }
    },
    CatBoostClassifier(): {
         'param_grid':{...}
    },
    svm.SVC(): {
        'param_grid': {
            'C': [0.01, 0.1, 0.5, 1.0],
            'kernel': ['linear', 'rbf'],
            'gamma': ['auto']
        }
    },...

然后应用模型类并进行一些超参数网格搜索。但是,在为 CatBoostClassifier() 运行它时,我不断收到错误 TypeError: unhashable type: 'CatBoostClassifier'。所有其他模型都可以通过这种方式正常工作,不确定为什么 CatBoost 会出现此错误。我只是想遍历所有模型以找到最好的模型。

谢谢!

【问题讨论】:

    标签: python catboost


    【解决方案1】:

    我有同样的问题。你找到解决办法了吗?

    【讨论】:

    • joe.somewhere,请不要添加我也是作为答案。它实际上并没有提供问题的答案。如果您有不同但相关的问题,请ask它(如果它有助于提供上下文,请参考此问题)。如果你对这个具体问题感兴趣,你可以upvote它,留下comment,或者一旦你有足够的reputation就开始bounty
    猜你喜欢
    • 2016-03-16
    • 1970-01-01
    • 2012-10-27
    • 2019-01-29
    • 2012-02-19
    • 1970-01-01
    • 2022-12-03
    • 2018-12-26
    相关资源
    最近更新 更多