类型错误:__init__() 在另一个类中启动类时获得了意外的关键字参数

乔纳森·贝克特尔

我有以下类的工作方式如下:

class DecisionTreeRegressor():
    def __init__(self, min_leaf=5, impurity_threshold=1e-5,
                 root=None, leaf_value=None, impurity=None):
        self.min_leaf = min_leaf
        self.impurity_threshold = impurity_threshold
        self.root = root
        self._leaf_calculation = leaf_value
        self._impurity_calculation = impurity

我想DecisionTreeRegressor在另一个名为类中启动该类,该类RandomForestRegressor目前具有以下结构,用于自身及其父类RandomForest

class RandomForest():
    def __init__(self, n_estimators=10, min_leaf=5, 
                 sample_size = 2/3, min_impurity=1e-5):
        self.n_estimators = n_estimators
        self.min_leaf = min_leaf
        self.sample_size = sample_size
        self.min_impurity = min_impurity

class RandomForestRegressor(RandomForest):
    def __init__(self):
        super().__init__() 
        self.tree = DecisionTreeRegressor
        self.trees = [self.tree(min_leaf=self.min_leaf) 
                      for i in range(self.n_estimators)]

这将返回以下错误消息:

TypeError: __init__() got an unexpected keyword argument 'min_leaf' 

我觉得这很令人费解,原因如下:

DecisionTreeRegressor(min_leaf=5)

工作得很好。

另外,如果我RandomForestRegressor改为:

class RandomForestRegressor(RandomForest):
    def __init__(self):
        super().__init__() 
        self.tree = DecisionTreeRegressor
        self.trees = [self.tree() for i in range(self.n_estimators)]

这也可以正常工作,因为self.trees它是一个填充了DecisionTreeRegressor类的n 个不同实例的列表

为什么传入min_leaf参数会像这样调用错误消息?

杰夫·梅尔卡多

我假设你是这样称呼的:

RandomForestRegressor(min_leaf=5)

RandomForestRegressor的初始值设定项没有声明的关键字参数,它根本不需要。

您需要明确地将它们添加到签名中或将 kwargs 添加到签名中。

class RandomForestRegressor(RandomForest):
    def __init__(self, **kwargs):
        super().__init__(**kwargs) 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TypeError:__init __()获得了意外的关键字参数'categorical_features'一个热编码器

来自分类Dev

TypeError:__init __()获得了意外的关键字参数'categorical_features'一个热编码器

来自分类Dev

类型错误:__init__() 得到了一个意外的关键字参数“形状”

来自分类Dev

类型错误:__init__() 为关键字参数“add_config_file_help”获得了多个值

来自分类Dev

__init __()获得了意外的关键字参数'mimetype'

来自分类Dev

__init __()获得了意外的关键字参数'required'

来自分类Dev

__init __()获得了意外的关键字参数

来自分类Dev

__init __()获得了意外的关键字参数'_job'

来自分类Dev

__init __()获得了意外的关键字参数“ y”

来自分类Dev

__init __()获得了意外的关键字参数“健康”

来自分类Dev

__init __()获得了意外的关键字参数'pk'

来自分类Dev

__init __()获得了意外的关键字参数'required'

来自分类Dev

__init __()获得了意外的关键字参数

来自分类Dev

__init __()获得了意外的关键字参数“ y”

来自分类Dev

TypeError:__init __()使用SMOTE时获得了意外的关键字参数'ratio'

来自分类Dev

__init __()在python子进程中获得了意外的关键字参数'timeout'

来自分类Dev

__init __()在Django中获得了意外的关键字参数'user_id'

来自分类Dev

__init __()在Python 2中使用argparse获得了意外的关键字参数'required'

来自分类Dev

错误-TypeError在Django中获得了意外的关键字参数'name'

来自分类Dev

django - 类型错误 __init__ 位置参数

来自分类Dev

Django rest framework / simplejson错误__init __()获得了意外的关键字参数

来自分类Dev

表单错误-__init __()获得了意外的关键字参数'prefix'

来自分类Dev

TypeError:__init __()在Python中为CatBoost获得了意外的关键字参数'early_stopping_rounds'

来自分类Dev

TypeError:__init __()获得了意外的关键字参数'shuffle'

来自分类Dev

Python 3.5:TypeError:__init __()获得了意外的关键字参数'nosigint'

来自分类Dev

Django:__init __()获得了意外的关键字参数'instance'

来自分类Dev

Haystack Faceted:__init __()获得了意外的关键字参数'facet_fields'

来自分类Dev

TypeError:__init __()获得了意外的关键字参数“ choices”

来自分类Dev

获取以下TypeError:__init __()获得了意外的关键字参数'iam_apikey'

Related 相关文章

  1. 1

    TypeError:__init __()获得了意外的关键字参数'categorical_features'一个热编码器

  2. 2

    TypeError:__init __()获得了意外的关键字参数'categorical_features'一个热编码器

  3. 3

    类型错误:__init__() 得到了一个意外的关键字参数“形状”

  4. 4

    类型错误:__init__() 为关键字参数“add_config_file_help”获得了多个值

  5. 5

    __init __()获得了意外的关键字参数'mimetype'

  6. 6

    __init __()获得了意外的关键字参数'required'

  7. 7

    __init __()获得了意外的关键字参数

  8. 8

    __init __()获得了意外的关键字参数'_job'

  9. 9

    __init __()获得了意外的关键字参数“ y”

  10. 10

    __init __()获得了意外的关键字参数“健康”

  11. 11

    __init __()获得了意外的关键字参数'pk'

  12. 12

    __init __()获得了意外的关键字参数'required'

  13. 13

    __init __()获得了意外的关键字参数

  14. 14

    __init __()获得了意外的关键字参数“ y”

  15. 15

    TypeError:__init __()使用SMOTE时获得了意外的关键字参数'ratio'

  16. 16

    __init __()在python子进程中获得了意外的关键字参数'timeout'

  17. 17

    __init __()在Django中获得了意外的关键字参数'user_id'

  18. 18

    __init __()在Python 2中使用argparse获得了意外的关键字参数'required'

  19. 19

    错误-TypeError在Django中获得了意外的关键字参数'name'

  20. 20

    django - 类型错误 __init__ 位置参数

  21. 21

    Django rest framework / simplejson错误__init __()获得了意外的关键字参数

  22. 22

    表单错误-__init __()获得了意外的关键字参数'prefix'

  23. 23

    TypeError:__init __()在Python中为CatBoost获得了意外的关键字参数'early_stopping_rounds'

  24. 24

    TypeError:__init __()获得了意外的关键字参数'shuffle'

  25. 25

    Python 3.5:TypeError:__init __()获得了意外的关键字参数'nosigint'

  26. 26

    Django:__init __()获得了意外的关键字参数'instance'

  27. 27

    Haystack Faceted:__init __()获得了意外的关键字参数'facet_fields'

  28. 28

    TypeError:__init __()获得了意外的关键字参数“ choices”

  29. 29

    获取以下TypeError:__init __()获得了意外的关键字参数'iam_apikey'

热门标签

归档