Python 缺少1个必需的位置参数:';TransformerMixin';关于这点

Python 缺少1个必需的位置参数:';TransformerMixin';关于这点,python,scikit-learn,Python,Scikit Learn,我正在使用关于泰坦尼克号的数据集。但是当我执行管道时,它是一个TypeError。这是我的密码: from sklearn.base import BaseEstimator, TransformerMixin class DataFrameSelector(BaseEstimator, TransformerMixin): def __init__(self, attribute_names): self.attribute_names = attribute_na

我正在使用关于泰坦尼克号的数据集。但是当我执行管道时,它是一个
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'
TypeError:回溯(最近一次调用)
在()
7.
8 num_管道=管道([
---->9((“选择数字”,DataFrameSelector([“年龄”,“SibSp”,“Parch”,“票价])),
10('label_binarizer',MyLabelBinarizer())
11(“输入者”,simplemputer(strategy=“median”),)
TypeError:DataFrameSelector()缺少1个必需的位置参数:“TransformerMixin”

你确定这是你的实际代码吗?看起来你有一个
def DataFrameSelector
而不是
类DataFrameSelector
。非常感谢你发现了我难以置信的错误。你确定这是你的实际代码吗?看起来你有一个
def DataFrameSelector
而不是
类DataFrameSelector或者
某个地方。非常感谢你发现了我难以置信的错误。