@ivodopyanov
NLP, python, numpy, tensorflow

Как можно использовать одни и те же параметры для разных шагов Pipeline в scikit-learn при grid search?

Решаю задачу классификации текста при помощи сверточных сетей.
Pipeline состоит из двух шагов:
1) препроцессор MyPreprocessor, который разбивает текст на слова, определяет словарь и заменяет слова в тексте на порядковые индексы в словаре
2) классификатор MyClassifier, который собственно обучает сеть.
Однако у этих двух шагов есть общий набор параметров (размер словаря max_features и макс. допустимая длина фразы max_len). Что надо сделать, чтобы они менялись синхронно?

Условный код:
clf = Pipeline([('vect', MyPreprocessor()), 
                ('clf', MyClassifier())])}
params = {'vect__max_features': [5000, 10000], 
               'vect__max_len': [64, 96, 128],
               'clf__max_features': [5000, 10000],
               'clf__max_len': [64, 96, 128]}
gs_clf = GridSearchCV(clf, params, n_jobs=-1)
gs_clf = gs_clf.fit(X_train, Y_train)
  • Вопрос задан
  • 183 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы