绘制新文档以散点图
Posted
技术标签:
【中文标题】绘制新文档以散点图【英文标题】:Plotting new documents to scatter plot 【发布时间】:2018-01-20 01:09:48 【问题描述】:我希望深入了解我的数据。我正在使用 sklearn PCA 将它们转换为 VSM 并将它们绘制到 matplotlib 图。这涉及到
使用管道将文档转换为数字矩阵
test = pipeline.fit_transform(docs).todense()
适合我的模型
pca = PCA().fit(test)
然后我使用 transform 转换它
data = pca.transform(test)
最后我使用 Matplotlib 绘制结果
plt.scatter(data[:,0], data[:,1], c = categories)
我的问题是:我如何获取新句子并确定它们相对于绘制的其他文档的位置。使用 X 标记它们的相对位置 ?
谢谢
【问题讨论】:
【参考方案1】:还将新文档转换为数值数组
new = pipeline.transform(new_docs).todense()
请注意,这将 pipeline
与先前拟合的参数一起使用,因此它是 pipeline.transform
,而不是 pipeline.fit_transform
。
使用之前拟合的pca
转换新数据。
new_data = pca.transform(new)
这会将新数据转换到与原始数据相同的 PC 空间。
使用第二个scatter
将新数据添加到绘图中。
plt.scatter(data[:,0], data[:,1], c = categories)
plt.scatter(new_data[:,0], new_data[:,1], marker = 'x')
plt.show()
【讨论】:
以上是关于绘制新文档以散点图的主要内容,如果未能解决你的问题,请参考以下文章