티스토리 뷰
Python reshape(-1)
reshape 함수는 Python을 통해 머신러닝 혹은 딥러닝 코딩을 하다보면 꼭 나오는 numpy 내장 함수입니다.
다음과 같이 N-Dim tensor의 shape를 재설정해주고 싶은 상황에서 사용됩니다.
for feature in X_train.columns:
trainInputFeature = X_train[feature].values.reshape(-1,1)
validInputFeature = X_valid[feature].values.reshape(-1,1)
verySimpleLearner.fit(trainInputFeature, y_train)
함수의 파라미터에 -1이 들어가면 특별한 의미를 갖는데, 다른 나머지 차원 크기를 맞추고 남은 크기를 해당 차원에 할당해 준다는 의미입니다. 다음의 함수 사용 예시를 보고 감을 익혀보시기 바랍니다.
예시
>> arr = np.zeros(64,64,3) # 64 * 64 size image with RGB channels
>> arr = getImage() # Image loaded
>> arr.shape
>> [64,64,3]
>> b = arr.reshape(64*64,3)
>> b.shape
>> [4096,3]
>> c = arr.reshape(16,16,-1) # -1은 1차와 2차의 크기를 16과 16으로 맞추고 남은 나머지라는 뜻입니다.
>> c.shape
>> [16,16,48] # (64*64*3) / (16 * 16) = 48이므로 배열의 세 번째 차원의 크기는 48이 됩니다.
참고
'Programming > Python' 카테고리의 다른 글
애플 공홈에서 픽업 주문 가능 여부 메일로 받기 for 아이패드 프로 3세대 (2) | 2018.12.09 |
---|---|
[Tip] Python Array[::] 사용법 (4) | 2016.04.15 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday