Summary
머신러닝 데이터를 다루기 위한 기본 도구인 벡터, 행렬, 배열을 알아봅니다.
* 벡터
- 1차원 배열로 만듭니다. (1.1)
* 행렬
- numpy의 empty 함수는 초기값 대신 크기만 지정하여 임의의 값이 채워진 배열을 만듭니다. (1.2)
- numpy의 zeros 함수는 0으로 채운 배열을 만듭니다. (1.2)
- numpy의 ones 함수는 1로 채운 배열을 만듭니다. (1.2)
- numpy의 full 함수는 특정 값으로 채운 배열을 만듭니다. (1.2)
- 행렬의 크기, 원소 개수, 차원을 알고 싶을 때 → shape, size, ndim 속성 사용 (1.5)
* 배열
- vectorize로 벡터화 연산 적용하기 (1.6)
- numpy의 broadcasting (1.6)
- 배열 크기만 변경하고 싶을 때 → numpy의 reshape 함수 사용 (1.9)
* 벡터나 행렬 전치하기
- T 메서드나 transpose 메서드를 사용 (1.10)
* 행렬의 랭크 구하기 (1.12)
- 행렬의 랭크는 행이나 열이 만든 벡터 공간의 차원으로 선형 독립적인 행 또는 열 개수입니다.
- numpy 선형대수 메서드인 matrix_rank를 사용
- linalg 모듈의 svd 함수로 특잇값을 구한 다음 0이 아닌 값 수를 헤아리는 방법으로 구할 수 있음
* 행렬식, 대각원소, 대각합, 고윳값과 고유벡터, 역행렬
- 행렬식: numpy 선형대수 메서드인 det를 사용 (1.13)
- 대각원소: numpy 선형대수 메서드인 diagonal 사용 (1.14)
- 대각합: numpy 선형대수 메서드인 trace 사용 (1.15)
- 고윳값과 고유벡터: numpy 선형대수 모듈의 eig 함수 사용 (1.16)
- 역행렬: numpy 선형대수 모듈의 inv 함수 사용 (1.20)