CountVectorizer для подсчета частоты каждого слова в каждом предложении. В третьей строке создается объект CountVectorizer, и он не имеет никакой функции (он пуст). Объект обучает, какие слова есть в предложениях, кроме stop_words (my_list), методом fit, и преобразует предложение в матрицу word-document методом transform. Метод Fit_transform представляет собой комбинацию метода соответствия и преобразования.
Вот пример.
from sklearn.feature_extraction.text import CountVectorizer
my_list = ['to', 'is']
X = ['NLP is hard to understand', 'I study NLP']
cv = CountVectorizer(stop_words = my_list)
X = cv.fit_transform(X)
pd.DataFrame(X.toarray(), columns = cv.get_feature_names())
Поскольку большинство предложений содержат несколько слов, преобразование предложения в качестве типа массива неэффективно , Таким образом, используя X.toarray()
, X можно преобразовать в массив.
cv содержит информацию о словах (методом подгонки), но X является просто результатом, и поэтому get_feature_names () не определена для X.