此上下文中缺少1个必需的位置参数:“transformerxin”

2024-09-28 22:21:31 发布

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

我正在使用泰坦尼克号的数据集。但是当我执行管道时,它是TypeError。这是我的密码:

from sklearn.base import BaseEstimator, TransformerMixin

class DataFrameSelector(BaseEstimator, TransformerMixin):

    def __init__(self, attribute_names):
        self.attribute_names = attribute_names
    def fit(self, X, y=None):
        return self
    def transform(self, X):
        return X[self.attribute_names]

from sklearn.pipeline import Pipeline
try:
    from sklearn.impute import SimpleImputer # Scikit-Learn 0.20+
except ImportError:
    from sklearn.preprocessing import Imputer as SimpleImputer

num_pipeline = Pipeline([
    ("select_numeric", DataFrameSelector(["Age", "SibSp", "Parch", "Fare"])),
    ("imputer", SimpleImputer(strategy="median")),
    ])

但是,我得到以下错误:

TypeError: Traceback (most recent call last)
<ipython-input-22-4cae5bb1ad60> in <module>()
      7 
      8 num_pipeline = Pipeline([
----> 9     (("select_numeric", DataFrameSelector(["Age", "SibSp", "Parch", "Fare"])),
     10      ('label_binarizer', MyLabelBinarizer())
     11         ("imputer", SimpleImputer(strategy="median")),)

TypeError: DataFrameSelector() missing 1 required positional argument: 'TransformerMixin'

Tags: fromimportselfreturnpipelinenamesdefattribute