Используйте одновременно min_df, max_df и max_features в Scikit TfidfVectorizer - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь выяснить, могу ли я использовать min_df, max_df и max_features одновременно в качестве аргументов класса TfidfVectorizer из Scikit.Sklearn.Я прекрасно понимаю, для чего предназначен каждый из них.

Я передал данные в TfidfVectorizer (), исправляя min_df = 0.05 и max_df = 0.95, что означает, что термины, встречающиеся в менее 5% моих документов, игнорируются ито же самое с теми, которые появляются в более чем 95% моих документов (как объяснено в Понимание min_df и max_df в scikit CountVectorizer ).

Как и мои данные, после выполнения TF-IDF360 колонн.Тем не менее, это слишком много, поэтому я хотел бы установить max_features = 100.Однако, когда я печатаю форму моих новых данных после преобразования, я все равно получаю 360 столбцов вместо 100, как я должен был получить.

Я также попытался исправить только max_features = 100, чтобы проверить, будет ли без других параметров возвращаться только 100 столбцов, но это не так, на самом деле 952 столбца.Я прочитал документацию и там говорится, что этот параметр должен возвращать top max_features, однако я не могу этого наблюдать.

Кто-нибудь знает, что происходит?

1 Ответ

0 голосов
/ 01 октября 2018

Я попытался повторить это с max_features=100, min_df=0.05, max_df= 0.95, и результат был <11858x100 sparse matrix of type '<class 'numpy.float64'>', поэтому он работал как задумано.Убедитесь, что вы подгоняете данные к векторизатору, который вы создали с помощью max_features.

Если бы вы могли предоставить свой код, выявить проблему было бы проще.

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