vector - 如何对 20newsgroups_vectorized 数据集进行向量运算?
问题描述
当我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'
)并对那些稀疏行向量使用向量运算(例如,计算平均向量或距离)?
解决方案
不幸的是,按目标名称对数据进行子集化选项在 中不可用,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)
在这里阅读更多
推荐阅读
- android - android array adapter.notifyDataSetChanged() 正在改变项目的位置
- c# - 状态码 403 禁止无法在 wsdl webservice 上使用 postAsync 方法对多部分数据进行编码?
- rest - 使用联合安全性授权 REST API 的最佳实践是什么?
- java - Keycloak - 如何用 Java 客户端刷新令牌?
- unity3d - 直接在文本编辑器中双击打开所有类型的文件
- jquery - 为什么 Bootstrap 自动完成选择无法正常工作?
- scala - JSON4S 与 spark 2.4.0 和 EMR 5.26.0 兼容
- r - 用“NA”值替换列表栅格
- python - 在数据框上使用 .apply() 将我的列重新排序为字母顺序?奇怪的行为
- java - Head First Java书战舰游戏