1. 머신러닝이란?
애플리케이션을 수정하지 않고, 데이터를 기반으로 패턴을 학습하고 결과를 예측하는 알고리즘 기법을 통칭
다양한 분야에서 머신러닝의 응용이 두드러지고 있으며, 데이터 마이닝, 영상인식 등 급격하게 발전함.
2. 관련 SW 설치 (사용자의 맞게 설치하기)
- anaconda
- python
- R
https://cran.r-project.org/bin/windows/base/
Download R-4.2.3 for Windows. The R-project for statistical computing.
This build requires UCRT, which is part of Windows since Windows 10 and Windows Server 2016. On older systems, UCRT has to be installed manually from here. If you want to double-check that the package you have downloaded matches the package distributed by
cran.r-project.org
- visual studio
https://code.visualstudio.com/
Visual Studio Code - Code Editing. Redefined
Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.
code.visualstudio.com
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/
'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 |