arange
: array 범위를 지정해 값의 리스트를 생성하는 명령어
- step point 0.5씩 추가로 출력하는 것이 가능
- shape을 먼저 지정해주고, 타입에 맞춰 0 or 1로 가득한 ndarrary 생성
empty
를 사용하면 shape만 주어지고 비어있는 ndarray 생성 (빈공간만 잡아줌)
- 중간 값만 생성하는 것으로, 대각행렬이 1인 것
- 3 by 5의 메트랙트가 만들어지고, K=2는 2에서 시작해서 대각행렬 1을 출력 한다는 의미
- 중간 값만 추출하는 것으로 대각행렬의 값만 뽑는 것
- 분포의 모수 값을 넣어주고, 사이즈를 넣어주면 됨
- 연산을 어떻게 지원해줄까? 의 개념
- 기준이 되는 축을 정하는 것, axis=1을 기준으로 작동되면 우측, axis=0은 위에서 아래 등
- 4d까지도 만들긴하지만 3d는 이미지 처리 시 만나기 때문에 이해해야 함
- 어떻게 생성되는지 그림과 함계 기억해야함!
- 새롭게 생성된 축이 항상 axis=0가 된다는 것을 기억
- 루트 씌우는 연산
- 파이토치에도 매우 많이 쓰이는 함수
- axis 축을 기준으로 붙이게 됨
- 붙였을 때 생성되는 결과값을 axis라고 생각하면 편하다.
- new axis는 하나의 축을 생성할 때 쓰는 함수로 중요함
shape이 같을 때
Element wise oerations
기억할 것!
dot product
: 행렬간 곱셈연산 (곱해주고 더해주고)
전치행렬
: T를 붙여주면 (transpose가 됨), 로우와 칼럼이 변함
- shape의 크기가 달라도 연산을 해주며, 퍼져나가는 형태의 연산
- 첫줄은 쉐입이 같음
- 둘째줄은 있다고 가정을 해주고 연산을 해줌
- 셋째줄은 알아서 퍼지면서 연산해줌
timeit
: 속도를 측정 가능
- 일반적으로 속도 순서 (for loop < list comprehension < numpy
- 100,000,000번 loop가 돌 때, 약 4배이상의 성능 차이를 보임
- numpy는 C로 구현 돼 있어, 성능을 확보하는 대신 파이썬의 가장 큰 특징인 dynamic typing을 포기
- 대용량 계산에서는 가장 흔히 사용됨
- Concatenate처럼 계산이 아닌, 할당에서는 연산속도의 이점이 없음
all
과any
에 대해 숙지
any
: 1개라도 True 면 Trueall
: 모두 True 이어야 True, 하나라도 false 면 false
- 출력 값 :
Boolean array
- 1 < 5 , 3 > 2, 0 > 1와 같이 비교
- 첫번째는 안에 불린인덱스가 들어가 데이터 개수만큼 True or False가 나오는데 , True 영역엔 True값이 False 영역에는 False 값이 출력
- 두번째는 a>5에 만족하는 True의 값의
인덱스 반환
isnan
: not a number라고 해서 메모리 값이 존재하지 않는 경우isfinite
: 한정되지 않는 값으로 학습하게 되면 수렴하게되지 않는 경우, in infinite number를 찾는 것
- 가장 큰 값, 가장 작은 값의 인덱스를 반환
- 불린 리스트의 값을 커리해오는 것( 뽑아오는 것)
인덱스 값
을 넣어주는 것에서 차이가 있음- 0의 값은 2, 1의 값은 4, 3의 값은 8, 2의 값은 6
- take 함수를 써도 동일하기는 함
- 0,0 → 1 | 1,1, → 16 등과 같이 출력
delimiter
는 저장하는 기준값
- npy파일