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
scroll top