将新文档绘制成散点图

Plotting new documents to scatter plot

我希望深入了解我的数据。我正在使用 sklearn PCA 将它们转换为 VSM,并将它们绘制成 matplotlib 图。这涉及

  1. 使用管道将文档转换为数字矩阵

    test = pipeline.fit_transform(docs).todense()
    
  2. 适合我的模型

    pca = PCA().fit(test)
    
  3. 然后我用transform

    转换它
        data = pca.transform(test)
    
  4. 最后我使用 Matplotlib 绘制结果

       plt.scatter(data[:,0], data[:,1], c = categories)
    

我的问题是:我如何获取新句子并确定它们相对于绘制的其他文档的位置。使用 X 标记它们的相对位置?

谢谢

  1. 还将新文档转换为数值数组

    new = pipeline.transform(new_docs).todense()
    

    请注意,这使用了具有先前拟合参数的 pipeline,因此它是 pipeline.transform,而不是 pipeline.fit_transform

  2. 使用先前拟合的pca转换新数据。

    new_data = pca.transform(new)
    

    这会将新数据转换为与原始数据相同的 PC-space。

  3. 使用第二个 scatter.

    将新数据添加到图中
    plt.scatter(data[:,0], data[:,1], c = categories)
    plt.scatter(new_data[:,0], new_data[:,1], marker = 'x')
    plt.show()