티스토리 뷰
MachineLearning
[Python][numpy] flatnonzero, dot, reshape, arange, zeros_like, max
SweetDev 2021. 7. 19. 17:001. flatnonzero
import numpy as np
a = np.array([1.2,-1.3,2.2,5.3,3.7])
print(np.flatnonzero(a>2)) # [2 3 4]
a에서 2보다 큰 애들 ( 즉 조건에 부합하는 원소들 ) 의 index를 array로 리턴해주는 함수!
2. dot
W.dot(x)
3. arange
print(np.arange(12))
-> [0, 1, ..., 11]이 결과로 나온다!
print(np.arange(1, 12))
이런식으로 쓰면 [1, ..., 11]이 된다.
4. reshape
reshape()의 ‘-1’이 의미하는 바는, 변경된 배열의 ‘-1’ 위치의 차원은 “원래 배열의 길이와 남은 차원으로 부터 추정”이 된다는 뜻이다.
x = np.arange(12)
x.reshape(-1,1)
array([[ 0],
[ 1],
[ 2],
[ 3],
[ 4],
[ 5],
[ 6],
[ 7],
[ 8],
[ 9],
[10],
[11]])
이런식으로 남은 부분은 추정된다.
x.reshape(-1,2)
array([[ 0, 1],
[ 2, 3],
[ 4, 5],
[ 6, 7],
[ 8, 9],
[10, 11]])
-1만 들어가면 1차원 배열을 반환한다. 모양상 x.reshape(1,-1)과 같으나 이는 (1,12)인 2차원 배열이다.(대괄호의 수로 확인 가능하다.)
x.reshape(-1)
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
x.reshape(1,-1)
array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]])
5. zeros_like
인자로 주어진 배열과 똑같은 형태의, 0으로 채워진 배열을 리턴해준다.
arr= [1,2,3]
print(np.zeros_like(arr))
[0, 0, 0]
6. max
array에서 제일 큰 값을 찾아서 array의 모든 값에서 빼주기에 좋다.
파이썬 기본 Max로 하면 값이 나와서 그런 계산이 안되는데ㅠㅠ
import numpy as np
arr = np.array([1.0, 1.2, 1.4, 2, 1, 3, 1.5, 1.2, 1.4, 2, 1])
arr -= arr.max()
[참고]
'MachineLearning' 카테고리의 다른 글
[MachineLearning] Lp-Norm 이해하기 (0) | 2021.07.26 |
---|---|
[MachineLearning] Multiclass SVM loss, loss function - regularization (0) | 2021.07.26 |
[MachineLearning] Activation Function - Step, Sigmoid, ReLU (0) | 2021.07.13 |
[MachineLearning] Error - mean squared error(MSE), cross entropy error(CEE) (0) | 2021.07.12 |
[MachineLearning] output layer function - identity function, softmax function (0) | 2021.07.09 |