Ho studiato e praticato la libreria sklearn da solo. Quando ho partecipato alle competizioni di Kaggle, ho notato che il codice di esempio fornito è BaseEstimator
da sklearn.base
. Non capisco come/perché sia usato lo BaseEstimator
.BaseEstimator in 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].
...
Questo è quello che di solito vedere a pagina tutorial di 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)
non riuscivo a trovare un buon esempio o qualsiasi documentazione sulla pagina ufficiale di sklearn. Anche se ho trovato il codice sklearn.base
su github, ma vorrei alcuni esempi e spiegazioni su come viene utilizzato.
UPDATE
ecco il link per il codice di esempio: https://github.com/benhamner/JobSalaryPrediction/blob/master/features.py Correzione: Ho appena realizzato BaseEstimator
viene utilizzato per la classe SimpleTransform
. Credo che la mia prima domanda sia: perché è necessario? (poiché non è utilizzato in nessuna parte del calcolo), l'altra domanda è quando definisci la forma, cos'è X e come viene assegnato? Perché di solito vedo:
def mymethod(self, X, y=None):
X=self.features
# then do something to X[Column_name]
Potrebbe collegarsi a tale codice di esempio? 'BaseEstimator' è importato nello snippet che pubblichi, ma non è effettivamente usato. –