Как выполняются векторные операции над набором данных 20newsgroups_vectorized? - PullRequest
1 голос
/ 25 февраля 2020

Когда я выбираю 20newsgroups_vectorized данные по

newsgroups = fetch_20newsgroups_vectorized(subset='all')
labels = newsgroups.target_names
target = newsgroups.target
target = pd.DataFrame([labels[i] for i in target], columns=['label'])
data = newsgroups.data

data, это <class 'scipy.sparse.csr.csr_matrix'> с формой (18846, 130107)

Как я могу поднастроить данные по именам целей ( например, извлечь только 'rec.sport.baseball') и использовать векторные операции с этими разреженными векторами строк (например, вычислить средний вектор или расстояния)?

1 Ответ

1 голос
/ 26 февраля 2020

К сожалению, опция подстановки данных по целевым именам недоступна в fetch_20newsgroups_vectorized, но доступна в fetch_20newsgroups, просто вы должны сами векторизовать данные.

Вот как вы можете это сделать.

from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.text import TfidfVectorizer
newsgroups_train = fetch_20newsgroups(subset='all',
                                      categories=['rec.sport.baseball'])
vectorizer = TfidfVectorizer()
vectors = vectorizer.fit_transform(newsgroups_train.data)
print(vectors.shape)
# (994, 13986)

Подробнее здесь

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