넘파이(NumPy)란?
: 파이썬에서 선형대수 기반의 프로그램을 쉽게 만들 수 있도록 지원하는 대표적인 패키지
- 빠른 배열 연산
- 다양한 데이터 핸들링 기능 제공
넘파이 ndarray 개요
넘파이 기반 데이터 타입 - ndarray
-> 이를 이용해서 넘파이에서 다차원(Multi-dimension) 배열을 쉽게 생성 가능
array() 함수
- 파이썬의 리스트와 같은 다양한 인자를 입력받아서 ndarray로 변환하는 기능 수행
ndarray.shape : ndarray의 차원과 크기를 튜플(tuple) 형태로 반환해줌
import numpy as np
array1 = np.array([1,2,3])
print('array1 type:', type(array1))
print('array1 array 형태: ', array1.shape)
array2 = np.array([[1,2,3],
[2,3,4]])
print('array2 type:', type(array2))
print('array2 array 형태: ', array2.shape)
array3 = np.array([[1,2,3]])
print('array3 type:', type(array3))
print('array3 array 형태: ', array3.shape)
[Output]
array1 type: <class 'numpy.ndarray'>
array1 array 형태: (3,) //1차원 array로 3개의 데이터를 가지고 있음
array2 type: <class 'numpy.ndarray'>
array2 array 형태: (2, 3) //2차원 array로, 2개의 행과 3개의 열로 구성
array3 type: <class 'numpy.ndarray'>
array3 array 형태: (1, 3) //1개의 행과 3개의 열로 구성된 2차원 데이터를 의미
ndarray.ndim : 각 array의 차원을 확인하는 함수
ndarray의 데이터 타입
- ndarray내의 데이터값은 숫자, 문자열, bool 모두 가능
- 같은 데이터 타입만 연산 가능 (ex. 한 개의 ndarray 객체에 int와 float이 존재 X)
- dtype 속성으로 확인
- if, 다른 데이터 유형이 섞여 있는 리스트를 ndarray로 변경 시, 데이터 크기가 더 큰 데이터 타입으로 형 변환을 일괄 적용
astype() 매서드
- ndarray 내 데이터값의 타입 변경
- astype() 인자에 원하는 타입을 문자열로 지정
- 메모리 절약에 유용
ndarray를 편리하게 생성하기 - arange, zeros, ones
- 특정 크기와 차원을 가진 ndarray를 연속값이나 0 또는 1로 초기화하여 쉽게 생성해야 하는 경우
- 주로 테스트용으로 데이터 생성하거나 대규모의 데이터를 일괄적으로 초기화하는 경우
arange() 함수
: 0부터 함수 인자 값 -1까지의 값을 순차적으로 ndarray의 데이터값으로 변환
default 함수
: 인자 - stop 값
range와 유사하게 start 값도 부여 가능 -> 0이 아닌 다른 값부터 시작한 연속 값을 부여
zeros() 함수
: 튜플 형태의 shape 값을 입력하면 모든 값을 0으로 채워줌
ones() gkatn
: 튜플 형태의 shape 값을 입력하면 모든 값을 1로 채운 ndarray 반환
* dtype 미지정 시, default로 float64형의 데이터로 채움
ndarray의 차원과 크기를 변경하는 reshape()
reshape() 매서드는 ndarray를 특정 차원 및 크기로 변환
지정된 사이즈로 변경이 불가능하면 오류 발생
'-1'을 인자로 적용하는 경우
: 원래 ndarray와 호환되는 새로운 shape로 변환
* reshape(-1,1) : 원본 ndarray가 어떤 형태라도, 반드시 1개의 열을 가진 ndarray로 변환시킴
선형대수 연산 - 행렬 내적과 전치 행렬 구하기
행렬 내적(행렬 곱)
- np.dot() 이용
- 왼쪽 행렬의 행과 오른쪽 행렬의 열 원소들을 순차적으로 곱한 뒤 그 결과를 모두 더한 값
전치 행렬
: 원 행렬에서 행과 열의 위치를 교환한 원소로 구성된 행렬
transpose() 함수 이용
'머신러닝 > 파이썬 머신러닝 완벽 가이드' 카테고리의 다른 글
Chapter 4.3 앙상블 학습 Ensemble Learning (0) | 2024.05.27 |
---|---|
Chapter 3.4 F1 스코어 (0) | 2024.05.16 |
Chapter 03. 평가 (0) | 2024.05.09 |
Chapter 2. 사이킷런으로 시작하는 머신러닝 (1) | 2024.05.01 |
Chapter 1.4 데이터 핸들링 - 판다스 (0) | 2024.04.10 |