반응형
1. 머신러닝이란?
애플리케이션을 수정하지 않고, 데이터를 기반으로 패턴을 학습하고 결과를 예측하는 알고리즘 기법을 통칭
다양한 분야에서 머신러닝의 응용이 두드러지고 있으며, 데이터 마이닝, 영상인식 등 급격하게 발전함.
2. 관련 SW 설치 (사용자의 맞게 설치하기)
- anaconda
- python
- R
- visual studio
3. 넘파이
- ndarray: N 차원(Dimension) 배열(Array) 객체
- 넘파이의 데이터 타입은 ndarray
- 넘파이는 다차원의 배열을 쉽게 생성하고 다양한 연산을 할 수 있다
1 ndarray 기본
- 데이터 타입
: ndarray 데이터 값: 숫자 값, 문자열 값, bool 값 등 모두 가능
: ndarray내의 데이터 타입은 연산의 특성상 같은 데이터타입만 가능
ex) int + float 같은 ndarray 객체에 있을 수 없음
: 만약 다른 데이터 타입을 갖고 있을 경우, 데이터 크기가 더 큰 타입으로 형변환을 일괄적용
list=[1,2,'test']
array =np.array(list)
print(array,array.dtype)
#결과
['1' '2' 'test'] <U11
- ndarray : arange, zeros, ones
: arrange 파이썬 표준 함수인 range( )와 유사한 기능을 함
: zeros 튜플 형태의 shape 값을 입력하면 모든 값을 0으로 채운다.
: ones 튜플 형태의 shape 값을 입력하면 모든 값을 1로 채운다(zeros 와 반대)
- ndarray : reshape
: ndarray 를 특정 차원 및 형태로 변환
(1) 변환 형태를 함수 인자로 부여함
(2) 인자에 -1 부여시, axis의 크기는 가변적으로 변동
(3) 1차원, 2차원의 ndarray 변환
2 ndarray 인덱싱
ndarray 내의 일부 데이터 세트, 특정 데이터만을 선택할 수 있도록 하는 인덱싱
(1) 단일 값 추출
: ndarray는 axis 를 기준으로 0부터 인덱스 값을 갖고 있음
: 2차원 단일값은 아래의 이미지 참고
(2) 슬라이싱
' : ' 구분자를 이용해 연속된 값을 선택
: 2차원 ndarray
(3) 팬시 인덱싱
: 리스트, ndarray로 인덱스 집합을 지정하면 해당 위치의 인덱스에 해당하는 ndarray를 반환하는 방식
슬라이싱은 연속된 값, 팬시 인덱싱은 아님
: 2차원 팬시 인덱싱
(4) 불린 인덱싱
: 조건 필터링과 검색을 동시에 할 수 있음(자주 사용함)
array1d = np.arange(start=1, stop=10)
array3 = array1d[array1d > 5]
print('array1d > 5 불린 인덱싱 값:', array3)
#결과
array1d > 5 불린 인덱싱 값: [6 7 8 9]
3.3.3 행렬의 정렬 - sort(), argsort()
np.sort ( ) : 원 행렬은 그대로 유지한 상태로 원 행렬의 정렬된 행렬을 반환
ndarray.sort ( ) : 원 행렬 자체를 정렬한 형태로 변환함, 반환 값 None
-> 둘다 기본적으로 오름차순 적용
(1) argsort( )
: 원본 행렬 정렬 시 정렬된 행렬의 원래 인덱스를 필요로 할 때 np.argsort( ) 를 이용
: np.argsort( )는 정렬 행렬의 원본 행렬 인덱스를 ndarray형으로 반환
(2) 선형대수 연산 - 행렬 내적
행렬의 곱, A 와 B의 내적은 왼쪽 행렬의 행과 오른쪽 행렬의 열의 원소들을 순차적으로 곱한 후,
그 결과를 모두 더한 값
A = np.array([[1, 2, 3],[4, 5, 6]])
B = np.array([[7, 8],[9, 10],[11, 12]])
dot_product = np.dot(A,B)
print('행렬 내적 결과:\n', dot_product)
#결과
행렬 내적 결과:
[[ 58 64]
[139 154]]
(3) 선형대수 연산 -전치 행렬
원 행렬에서 행과 열 위치를 교환한 원소로 구성한 행렬
A = np.array([[1, 2],[3, 4]])
transpose_mat = np.transpose(A)
print('A의 전치 행렬:\n', transpose_mat)
#결과
A의 전치 행렬:
[[1 3]
[2 4]]
이미지 출처:출처:https://url.kr/
728x90
반응형
'Data > 머신러닝' 카테고리의 다른 글
[파이썬머신러닝완벽가이드]03.평가(2) (0) | 2023.05.13 |
---|---|
[파이썬머신러닝완벽가이드]03.평가(1) (0) | 2023.05.06 |
[파이썬머신러닝완벽가이드]02.사이킷런으로 시작하는 머신러닝(2) (0) | 2023.04.28 |
[파이썬머신러닝완벽가이드]02.사이킷런으로 시작하는 머신러닝(1) (0) | 2023.04.20 |
[파이썬머신러닝완벽가이드]01.파이썬 기반의 머신러닝과 생태계 이해: 판다스 (1) | 2023.04.15 |