【问题标题】:scipy.sparse.csr.csr_matrix:Matrix extensionscipy.sparse.csr.csr_matrix:矩阵扩展
【发布时间】:2018-09-05 12:08:27
【问题描述】:

我正在使用 sklearn 进行机器学习工作。这是我的两个变量:

>>> matrix
<1397x9576 sparse matrix of type '<type 'numpy.float64'>'
        with 44655 stored elements in Compressed Sparse Row format>

>>> type(density)
<type 'list'>
>>> len(density)
1397

matrixTfidfVectorizer.fit_transform() 生成。我想通过将变量density 添加为新列来扩展变量matrix。有什么方法可以实现吗?

【问题讨论】:

  • 您是否根据传递给TfidfVectorizer 的同一数据集计算density
  • @MaxU 是的。密度和矩阵都是从同一个数据集生成的。

标签: python machine-learning scipy scikit-learn


【解决方案1】:

使用scipy hstack将列密度与矩阵叠加

from scipy.sparse import hstack
new_matrix = hstack([matrix, density])

【讨论】:

    【解决方案2】:

    这是向矩阵添加另一列的正确方法

     from scipy.sparse import hstack
     import numpy as np     
     from scipy.sparse import csr_matrix
     density_2 = np.array(density)
     density_3 = csr_matrix(density_2)
     density_4 = density_3.transpose()
     new_matrix = hstack([matrix, density_4])
    

    【讨论】:

    • @Vivek Kumar 添加列时需要转置方​​法
    猜你喜欢
    • 2014-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    相关资源
    最近更新 更多