티스토리 뷰
반응형
이번 포스팅은 numpy의 Shape 다루기를 정리해보겠습니다.
머신러닝에서 행렬의 차원을 shape라는 개념으로 표현합니다.
numpy에서도 차원을 다루기 위한 방법으로 shape을 제공하는데 어떻게 사용하는지 알아보겠습니다.
1. Shape
머신러닝에서 행렬의 차원을 shape라는 개념으로 표현합니다.
위와 같은 행렬이 있다고 한다면 1차원에 4, 2차원에 2로 (4,2)로 표현합니다.
그래서 앞으로 나오는 reshape에서 변수로 받는 부분은 차원을 의미합니다.
2. numpy Shape 다뤄보기.
2-1 reshape
reshape 기능은 배열의 차원의 크기를 변경하는 방법입니다.
배열의 요소의 개수는 동일하며 차원만 조정합니다.
예를 들면 (2,4) 차원의 배열을 reshape 기능을 통해 (8,) 차원으로 변경이 가능합니다.
배열의 사이즈만 같다면 다차원으로 자유롭게 변형이 가능합니다.
import numpy as np;
test_array = [[1,2,3,4],[1,2,3,4]];
가장 먼저 numpy를 import 하고 테스트 배열을 만들어 줍니다.
test_matrix = np.array(test_array);
test_matrix.shape;
-- 출력 --
(2,4)
- np.array를 생성 한 뒤 shape 하면 해당 차원이 몇 차원인지 표시해줍니다.
test_matrix = np.array(test_array).reshape(8,);
test_matrix
-- 출력 --
array([1, 2, 3, 4, 1, 2, 3, 4])
- 만들어진 행렬을 reshape을 하면 차원을 변경할 수 있습니다.
test_matrix = np.array(test_array).reshape(2,2,2);
test_matrix
(adsbygoogle = window.adsbygoogle || []).push({});
-- 출력 -- array([[[1, 2], [3, 4]], [[1, 2], [3, 4]]])
위와 같이 3차원으로도 변경이 가능합니다.
test_matrix = np.array(test_array).reshape(-1,2);
test_matrix
-- 출력 --
array([[1, 2],
[3, 4],
[1, 2],
[3, 4]])
-1은 size를 기반으로 row 개수를 선정하는 옵션입니다.
2-2 flatten
flatten은 배열을 1차원 형태의 배열로 변환해주는 명령어입니다.
1차원 형태의 배열이 필요하다면 reshape 보다 간편하게 flatten만 사용하여 배열을 만들어 줄 수 있습니다.
test_matrix = np.array(test_array).flatten()
test_matrix
-- 출력 --
array([1, 2, 3, 4, 1, 2, 3, 4])
참고
반응형
'python' 카테고리의 다른 글
파이썬 numpy - array 사칙연산, 행렬 곱, Broadcasting (1) | 2020.02.11 |
---|---|
파이썬 numpy 단위행렬, 대각행렬 생성 및 추출 방법. (0) | 2020.02.08 |
파이썬 numpy - array 생성 함수 ones, zeros,empty (0) | 2020.02.07 |
[python] numpy array 특징과 사용법 (0) | 2020.02.05 |
[python] numpy 란? numpy 특징 및 사용법 (0) | 2020.02.04 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 파이썬 numpy
- Java
- Java leetcode
- 파이썬
- k8s metrics-server
- GPTGOT
- 머신러닝
- 넘파이
- LeetCode 5월 챌린지
- 리엑트
- 30 Day LeetCode Challenge
- React 프로젝트 생성
- 에라토스테네스
- vscode
- 노드
- Python
- CHATGOT
- k8s metrics-server running
- LeetCode 알고리즘 공부
- 버츄얼스튜디오코드
- LeetCode 풀이
- Component
- LeetCode 30일 챌린지
- git
- numpy
- Node
- 지도학습
- react
- 퍼셉트론
- GPT서비스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함