Машинное обучение - Как извлечь особенности из конвейера - PullRequest
0 голосов
/ 10 апреля 2020

Я совершенно новичок в этой области, и в настоящее время я застрял. Вот что я хочу и что я сделал:

У меня есть Dataframe, который является солитным в наборе данных Train и Test. Обучающие функции - это сообщения в Твиттере, ярлыкам назначены категории. Я настроил токенизатор (называемый clean_text), который хранит только релевантные слова и разбирает сообщения до основной информации. Модель, включающая поиск по сетке, выглядит следующим образом:

def build_model():
   pipeline = Pipeline([
        ('vectorizer', CountVectorizer(tokenizer=clean_text)),
        ('tfidf', TfidfTransformer()),
        ('clf', MultiOutputClassifier(
                RandomForestClassifier()
                ))      
        ])

    # parameters to grid search
    parameters = { 'vectorizer__max_features' : [50],#, 72, 144, 288, 576, 1152],
            'clf__estimator__n_estimators' : [100]}#, 100] }

    # initiating GridSearchCV method
    model = GridSearchCV(pipeline, param_grid=parameters, cv = 5)

    return model

Подгонка отлично работает, как и оценка. Не я не уверен, правильно ли настроена модель и являются ли функции наиболее часто используемыми токенами в сообщениях (в приведенном выше случае 50) или есть ошибка.

Теперь вопрос: Есть ли способ напечатать 50 функций и посмотреть, выглядят ли они правильно?

Лучший Феликс

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

это должно сработать, или поделитесь примером кадра данных

model.estimator.named_steps['vectorizer'].get_feature_names()
0 голосов
/ 13 апреля 2020

Без информации об образцах, это лучшее предположение. Пожалуйста, проверьте, работает ли следующее. Если у вас есть образцы данных, мы можем помочь вам лучше.

print(vectorizer.vocabulary_)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...