Come passare i parametri sulle fasi della pipeline di Sklearn?
-
02-11-2019 - |
Domanda
Sto lavorando a un modello neurale profondo per la classificazione del testo usando Keras. Per mettere a punto alcuni iperparametri sto usando involucri di Keras per l'API Scikit-Learn. Quindi ho costruito una pipeline Sklearn per questo:
def create_model(optimizer="adam", nbr_features=100):
model = Sequential()
model.add(Dense(512, activation='relu', input_shape=(nbr_features,)))
...
model.compile(loss='binary_crossentropy', optimizer=optimizer,metrics=["accuracy"])
return model
estimator = Pipeline([("tfidf", TfidfVectorizer()),
('norm', StandardScaler(with_mean=False)),
("km", KerasClassifier(build_fn=create_model, verbose=1))])
grid_params = {
'tfidf__max_df': (0.1, 0.25, 0.5, 0.75, 1.0),
'tfidf__max_features': (100, 500, 1000, 5000,),
... }
gs = GridSearchCV(estimator,
param_grid,
...)
Voglio passare max_features parametri da tfidf fase a km stadio come nbr_features. Qualche hack/soluzione alternativa per farlo?
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a datascience.stackexchange