代码之家  ›  专栏  ›  技术社区  ›  sds Niraj Rajbhandari

哪个sklearn mixin声明了fit和transform方法?

  •  0
  • sds Niraj Rajbhandari  · 技术社区  · 6 年前

    sklearn mixin类声明 fit transform 方法。

    TransformerMixin fit_transform ,及 BaseEstimator 不申报 适合 (我认为应该如此)。

    我怀疑这可能是故意的,而不是疏忽,所以我希望能解释一下原因。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Matthieu Brucher    6 年前

    基类就是这样, 基类。

    在Python中,我们不需要声明所有不同的公共接口,但我们可以将公共代码考虑在内:

    • TransformerMixin fit_transform https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/base.py ). 我们不需要在任何转换器中对其进行编码,它将始终调用 fit 然后 transform .

    • BaseEstimator 不申报 ,因为除了一个空方法之外,没有任何东西可以放入其中。对于duck类型,确实没有理由添加空方法。但是获取参数的功能在整个软件包中都使用,这对于所有估计器来说都是通用的,所以将其考虑在内是有意义的。

    我们可以对所有问题进行同样的讨论 sklearn.base ,答案永远是:我们考虑了公共位,即我们不需要在公共接口的其他地方重写的位,然后使用它们。我们没有给出接口的定义,因为Python不是这样工作的。