Uczę się i ćwiczę bibliotekę sklearn na własną rękę. Kiedy brałem udział w zawodach Kaggle, zauważyłem dostarczony przykładowy kod używany BaseEstimator
z sklearn.base
. Nie bardzo rozumiem, jak/dlaczego jest używany BaseEstimator
.BaseEstimator w sklearn.base (Python)
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].
...
To, co zwykle zobaczyć na stronie samouczka sklearn za:
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)
nie mogłem znaleźć dobrego przykładu ani żadnych dokumentacji na oficjalnej stronie sklearn użytkownika. Chociaż znalazłem kodna githubie, ale chciałbym podać kilka przykładów i wyjaśnienie, w jaki sposób jest on używany.
UPDATE
Oto link do przykładowego kodu: https://github.com/benhamner/JobSalaryPrediction/blob/master/features.py Korekta: Właśnie sobie sprawę BaseEstimator
służy do klasy SimpleTransform
. Domyślam się, że moje pierwsze pytanie brzmi: dlaczego jest potrzebne? (ponieważ nie jest ona nigdzie używana w obliczeniach), drugim pytaniem jest, kiedy zdefiniować dopasowanie, co to jest X i jak jest przypisany? Ponieważ zwykle widzę:
def mymethod(self, X, y=None):
X=self.features
# then do something to X[Column_name]
Czy możesz utworzyć link do tego przykładowego kodu? 'BaseEstimator' jest importowany we fragmencie, który publikujesz, ale w rzeczywistości nie jest używany. –