【问题标题】:Plotting new documents to scatter plot绘制新文档以散点图
【发布时间】:2018-01-20 01:09:48
【问题描述】:

我希望深入了解我的数据。我正在使用 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 标记它们的相对位置 ?

谢谢

【问题讨论】:

    标签: python matplotlib scikit-learn pca


    【解决方案1】:
    1. 还将新文档转换为数值数组

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

      请注意,这将 pipeline 与先前拟合的参数一起使用,因此它是 pipeline.transform,而不是 pipeline.fit_transform

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

      new_data = pca.transform(new)
      

      这会将新数据转换到与原始数据相同的 PC 空间。

    3. 使用第二个scatter 将新数据添加到绘图中。

      plt.scatter(data[:,0], data[:,1], c = categories)
      plt.scatter(new_data[:,0], new_data[:,1], marker = 'x')
      plt.show()
      

    【讨论】:

      猜你喜欢
      • 2014-08-15
      • 1970-01-01
      • 2021-10-29
      • 2021-07-03
      • 2021-04-28
      • 2017-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多