Scikit learn sklearn.base(Python)中的BaseEstimator

Scikit learn sklearn.base(Python)中的BaseEstimator,scikit-learn,classification,Scikit Learn,Classification,我一直在自学和实践sklearn library。当我参加Kaggle竞赛时,我注意到提供的示例代码使用了sklearn.base中的BaseEstimator。 我不太明白如何/为什么使用BaseEstimator from sklearn.base import BaseEstimator class FeatureMapper: def __init__(self, features): self.features = features #featur

我一直在自学和实践sklearn library。当我参加Kaggle竞赛时,我注意到提供的示例代码使用了
sklearn.base
中的
BaseEstimator
。 我不太明白如何/为什么使用
BaseEstimator

from sklearn.base import BaseEstimator
class FeatureMapper:
    def __init__(self, features):
        self.features = features        #features contains feature_name, column_name, and extractor( which is CountVectorizer) 

    def fit(self, X, y=None):
        for feature_name, column_name, extractor in self.features:
            extractor.fit(X[column_name], y) #my question is: is X features? if yes, where is it assigned? or else how can X call column_name by X[column_name]. 

...
这是我通常在sklearn的教程页面上看到的内容:

from sklearn import SomeClassifier
X = [[0, 0], [1, 1],[2, 2],[3, 3]]
Y = [0, 1, 2, 3]
clf = SomeClassifier()
clf = clf.fit(X, Y)
我在sklearn的官方页面上找不到好的例子或任何文档。虽然我在github上找到了
sklearn.base
代码,但我想了解一些示例和如何使用它的解释

更新

以下是示例代码的链接: 更正:我刚刚意识到
BaseEstimator
用于类
SimpleTransform
。我想我的第一个问题是为什么需要它?(因为它没有在计算中的任何地方使用),另一个问题是何时定义拟合,什么是X,以及如何分配?因为我通常看到:

def mymethod(self, X, y=None):
     X=self.features
     # then do something to X[Column_name]

BaseEstimator
get_-params
set_-params
方法提供了默认实现,请参阅。这有助于使模型网格搜索能够与
GridSearchCV
一起自动调整参数,并在
管道中与其他模型网格搜索结合时表现良好

您可以链接到该示例代码吗
BaseEstimator
已导入到您发布的代码段中,但实际上并未使用它。