25

私は自分でsklearnライブラリを学び、実践してきました。Kaggleのコンテストに参加したとき、BaseEstimatorから使用されているサンプルコードに気づきましたsklearn.base。使用方法/使用理由がよくわかりません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いくつかの例とその使用方法の説明が必要です。

アップデート

サンプルコードへのリンクは次のとおりです 。https ://github.com/benhamner/JobSalaryPrediction/blob/master/features.py 訂正:BaseEstimatorクラスに使用されていることに気づきましたSimpleTransform。私の最初の質問は、なぜそれが必要なのかということだと思います。(計算のどこでも使用されていないため)、もう1つの質問は、フィットを定義するとき、Xとは何か、およびどのように割り当てられるかです。通常私が見るので:

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

1 に答える 1

31

BaseEstimatorとりわけ、get_paramsおよびset_paramsメソッドのデフォルトの実装を提供します。 [ソースコード]を参照してください。これは、モデルグリッドを検索可能にしてGridSearchCV、パラメータの自動調整を可能にし、で組み合わせたときに他のグリッドと適切に動作するようにするのに役立ちますPipeline

于 2013-03-06T08:15:11.377 に答える