Я хочу использовать TFIDFVectorizer (или CountVectorizer , за которым следует TFIDFTransformer ), чтобы получить векторное представление моих терминов. Это означает, что я хочу вектор для термина, где документы являются функциями. Это просто транспонирование матрицы TF-IDF, созданной TFIDFVectorizer.
>>> vectorizer = TfidfVectorizer()
>>> model = vectorizer.fit_transform(corpus)
>>> model.transpose()
Тем не менее, у меня есть документы на 800 тыс., Что означает, что мои термины-векторы очень редки и очень велики (измерения на 800 тыс.). Флаг max_features
в CountVectorizer сделает именно то, что я ищу. Я могу указать измерение, и CountVectorizer пытается поместить всю информацию в это измерение. К сожалению, эта опция предназначена для векторов документа, а не для терминов в словаре. Следовательно, это уменьшает размер моего словаря, потому что термины - это особенности.
Есть ли способ сделать обратное? Например, выполнить транспонирование объекта TFIDFVectorizer, прежде чем он начнет все вырезать и нормализовать? И если такой подход существует, как я могу это сделать? Примерно так:
>>> countVectorizer = CountVectorizer(input='filename', max_features=300, transpose=True)
Некоторое время назад я искал такой подход, но каждое руководство, пример кода, что бы ни говорили о векторах TF-IDF документа, а не о терминах векторов. Заранее большое спасибо!