¿Cuál sería la forma más eficiente para concatenar matrices en Python usando SciPy/Numpy?

Aquí he utilizado el siguiente:

>>> np.hstack((X, X2))
array([ <49998x70000 sparse matrix of type '<class 'numpy.float64'>'
        with 1135520 stored elements in Compressed Sparse Row format>,
        <49998x70000 sparse matrix of type '<class 'numpy.int64'>'
        with 1135520 stored elements in Compressed Sparse Row format>], 
       dtype=object)

Me gustaría usar ambos predictores en una regresión, pero el formato actual no es, obviamente, lo que yo estoy buscando. Sería posible conseguir el siguiente:

    <49998x1400000 sparse matrix of type '<class 'numpy.float64'>'
     with 2271040 stored elements in Compressed Sparse Row format>

Es demasiado grande para ser convertidos a un profundo formato.

1 Comentario

  1. 50

    Puede utilizar el scipy.sparse.hstack:

    from scipy.sparse import hstack
    hstack((X, X2))

    El uso de la numpy.hstack va a crear una matriz con dos escasa matriz de objetos.

    • Parece hstack es bastante lento, la verificación de este post en una pregunta similar, enlace
    • interesante que Scipy del dev team no ha adoptado dicha solución eficiente

Dejar respuesta

Please enter your comment!
Please enter your name here