ㅅㅇ

numpy _ 01_1 개요 본문

AI_STUDY/Numpy

numpy _ 01_1 개요

SO__OS 2022. 6. 21. 20:09
플레이데이터 빅데이터캠프 공부 내용 _ 6/21

numpy _ 01_1 개요 

1. numpy 이란?

http://www.numpy.org
- Numerical Python (숫자 다루는 파이썬)


- 벡터, 행렬 연산을 위한 수치해석용 파이썬 라이브러리
    - 강력한 다차원 배열(array)  지원
    - 빠른 수치 계산을 위한 structured array, 벡터화 연산, 브로드캐스팅 기법등을 통한 

     다차원 배열과 행렬연산에 필요한 다양한 함수를 제공한다.
    - 파이썬 List 보다 더 많은 데이터를 더 빠르게 처리


많은 과학 연산 라이브러리들이 Numpy를 기반으로 한다. - > numpy 가 중요한 이유
    - scipy, matplotlib, pandas, scikit-learn, statsmodels등
        - 처리보다는 데이터를 다루는 역할로서 많이 쓴다.

          - > 타 라이브러리에 전달해야 할 일이 많다. (머신러닝, 딥러닝 ...)


- 선형대수, 난수 생성, 푸리에 변환 기능 지원

 

 

2. 넘파이에서 데이터 구조

- 스칼라 (Scalar) - 0D 텐서
    - 하나의 숫자로 이루어진 데이터
    - 값의 방향이 없다.


- 벡터 (Vector)
    - 여러개의 숫자들을 특정한 순서대로 모아놓은 데이터 모음(데이터 레코드) 
    - 값의 방향이 1개 : 1D Array (1차원 배열) - 1D 텐서


- 행렬 (Matrix) 
    - 벡터들을 모아놓은 데이터 집합
    - 값의 방향이 2개 : 2D Array (2차원 배열) - 2D 텐서


- 텐서 (Tensor)
    - 같은 크기의 행렬들(텐서들)을 모아놓은 데이터 집합
    - ND Array (다차원 배열)
        - 3D텐서(값의 방향이 3개. 값의 구분자가 3개),  4D텐서,  5D텐서 ... 
        - N 텐서

 

차원 (dimension) 의 의미 : 
    - 프로그래밍에서의 의미: 
        - 값을 모아둔 것 (데이터의 종류) : 배열 
        - 데이터를 조회, 표현하는 방향이 여러 방향이다.
        - 방향을 표현하는 것 : 차원
            - 값을 나열하는데, 순서가 중요하다.
    - 선형대수에서쓰일때 의미 :한 공간을 구성 할 수 있는 벡터 집합인 기저에 벡터의 갯수를 차원(dimension)


- > Vector에서 차원 : 원소의 개수
- > 넘파이 배열에서 차원 : 축의 개수

 

3. 용어

- 축 (axis) 
    - 값들의 나열 방향
    - 하나의 축(axis)는 하나의 범주(분류, Category)이다.


- 랭크(rank)  
    - 데이터 집합에서 축의 개수. 
    - 차원 (dimension) 이라고도 한다.  배열 구조 에서는 차원과 Rank는 같은 말
        - cf) 차원은 다양한 곳에서 쓰인다.
            - [19,2,1] vector 에서의 차원은 원소의 갯수이다.


- 형태/형상(shape)
    - 각 축(axis) 별 데이터의 개수
       - 이를 이해하는 것이 중요.!!


- 크기(size) 
    - 배열내 원소의 총 개수

 

1Darry 2Darray는 거의 상식적으로 이러한 방향. 3Darray 축 방향은 쌓기 나름. 사람들마다. shape만 이해하자.

 

'AI_STUDY > Numpy' 카테고리의 다른 글

numpy _ 04_2 범용함수(Ufunc, Universal function)  (0) 2022.06.24
numpy _ 04_1 벡터 연산  (0) 2022.06.24
numpy _ 02_2 정렬  (0) 2022.06.24
numpy _ 02_1 배열의 원소 조회  (0) 2022.06.24
numpy _ 01_2 배열 생성  (0) 2022.06.23