복붙노트

[PYTHON] SciPy / Numpy를 사용하여 Python에서 희소 행렬 연결

PYTHON

SciPy / Numpy를 사용하여 Python에서 희소 행렬 연결

SciPy / Numpy를 사용하여 Python에서 희소 행렬을 연결하는 가장 효율적인 방법은 무엇입니까?

여기에서는 다음을 사용했습니다.

>>> 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)

회귀 분석에서 두 예측자를 모두 사용하고 싶지만, 현재 형식은 분명 내가 찾고있는 형식이 아닙니다. 다음과 같은 정보를 얻을 수 있습니까?

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

그것은 너무 커서 깊은 포맷으로 변환 할 수 없습니다.

해결법

  1. ==============================

    1.scipy.sparse.hstack을 사용할 수 있습니다.

    scipy.sparse.hstack을 사용할 수 있습니다.

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

    numpy.hstack을 사용하면 두 개의 희소 행렬 객체가있는 배열이 만들어집니다.

  2. from https://stackoverflow.com/questions/19710602/concatenate-sparse-matrices-in-python-using-scipy-numpy by cc-by-sa and MIT license