继承类型错误:transform()缺少1个必需的位置参数:“y”

2024-09-28 22:24:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图理解继承是如何工作的,所以我尝试了一些非常简单的方法:

import numpy as np
import pandas as pd
from sklearn.base import BaseEstimator, TransformerMixin

class addition(object):
    def __init__(self):
        pass

    def fit(self, X,y=None):
        return self
    
    def transform(self, X, y):
        return X+y

class additionChild(addition, BaseEstimator, TransformerMixin):
    def __init__(self, name):
        self.name = name

test = additionChild(name='c\'est un text')
test.fit_transform(2,2)

但我得到了以下错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Untitled-3 in 
----> 181 test.fit_transform(X=2,y=2)

~\AppData\Local\Programs\Python\Python38-32\lib\site-packages\sklearn\base.py in fit_transform(self, X, y, **fit_params)
    691         else:
    692             # fit method of arity 2 (supervised transformation)
--> 693             return self.fit(X, y, **fit_params).transform(X)
    694 
    695 

TypeError: transform() missing 1 required positional argument: 'y'

我不明白,因为我指定了y参数

也许这很愚蠢,但我不知道问题出在哪里


Tags: nametestimportselfbasereturndefas