10 분 이해 Scipy.cscmatrix 와 coomatrix
공식 문 서 는 사실 이미 비교적 상세 하 게 말 했 는데,나 는 여기에 좀 더 보충 하여 문 제 를 더욱 간단명료 하 게 이야기 하 겠 다.
csc_matrix:
Example
>>> import numpy as np
>>> from scipy.sparse import csc_matrix
>>> csc_matrix((3, 4), dtype=np.int8).toarray()
array([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]], dtype=int8)
>>>
>>> row = np.array([0, 2, 2, 0, 1, 2])
>>> col = np.array([0, 0, 1, 2, 2, 2])
>>> data = np.array([1, 2, 3, 4, 5, 6])
>>> csc_matrix((data, (row, col)), shape=(3, 3)).toarray()
array([[1, 0, 4],
[0, 0, 5],
[2, 3, 6]])
data 는 저 장 된 데이터 로 행렬 은 열 로 저장 되 고 많은 사람들 이 선형 대 수 를 배 웠 으 며 행렬 이 보통 열 로 저장 되 는 지 줄 로 저장 되 는 지 조차 몰 랐 다.벡터 벡터 의 측면 에서 볼 때 행렬 은 모두 열 방식 으로 저장 되 어야 한다.열 로 이해 하고 저장 하 는 것 이 실제 수요 에 더욱 부합된다.우리 가 자주 사용 하 는 x=[1,2,3,5]는 연산 할 때 모두 x^T 를 옮 겨 야 한다.실제로 Numpy 에서 행렬 도 csc 를 사용 합 니 다.matrix 메모리.
row,col data 의 뜻 은 분명 합 니 다.row[i],col[i]에 저 장 된 데 이 터 는 data[i],0 줄,0 열 에 1 을 저 장 했 습 니 다.2 줄,0 열 에 2 저장 하기;2 줄,2 열 저장 6.
4.567913.이것 은 약간 복잡 하지만 쉽게 이해 할 수 있 습 니 다.indptr 는 indices 매트릭스 의 시작 과 끝 에 있 는 index 를 나타 내 고 indptr[0,2]는 indices[0:2]가 첫 번 째 열 에 있 는 데이터 의 위치 0 줄 과 2 줄 을 저 장 했 습 니 다.indices[2:3]는 두 번 째 열 에 있 는 데이터 위 치 를 저 장 했 습 니 다.즉,2,두 번 째 줄(0 줄 에서 시작 하 는 것 을 주의 하 세 요)은 각각 indices[2]가 하나의 data[i]에 대응 합 니 다.Python list[0:i]의 수치 가 list[0...i-1]인 것 을 주의 하 십시오.실제 indeces[0:2]는 indices 의 첫 번 째 와 두 번 째 수치 0 과 2 만 취 했 습 니 다.대표 데 이 터 는 0 과 2 줄 이 고 나머지 위 치 는 0 입 니 다.inices[2:3]는 indices[2]의 수치 2 를 취 했 고 대표 데 이 터 는 두 번 째 줄 에 있 으 며 나머지 위 치 는 모두 0 이다.
coo_matrix
이게 더 쉬 워 요.1 분만 주세요.직접 위의 예 는 다음 과 같다.즉,n 줄,m 열 에 data[i]가 저장 되 어 있 고 나머지 위 치 는 모두 0 이다.
>>> indptr = np.array([0, 2, 3, 6])
>>> indices = np.array([0, 2, 2, 0, 1, 2])
>>> data = np.array([1, 2, 3, 4, 5, 6])
>>> csc_matrix((data, indices, indptr), shape=(3, 3)).toarray()
array([[1, 0, 4],
[0, 0, 5],
[2, 3, 6]])
>>>
>>> from scipy.sparse import coo_matrix
>>> coo_matrix((3, 4), dtype=np.int8).toarray()
array([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]], dtype=int8)
참고 문서
https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csc_matrix.html#scipy.sparse.csc_matrix
https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.coo_matrix.html#scipy.sparse.coo_matrix
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.