[머신러닝] Python 선형대수학 numpy 사용
2020. 7. 4. 14:18ㆍ머신러닝
Tuple & List
: 배열 또는 벡터를 표현하는 2가지 대표적인 방법
- 리스트 선언 -> 결정되지 않은 featured 데이터에 사용
- Tuple은 수정할 수 없음
Numpy Package
: 배열 간의 계산이나 제곱근과 같은 기능을 가능하게 만드는 함수 패키지
- 인덱싱 & 슬라이싱 (시작 또는 종료값을 생략할 수 있음)
- arange()
- zeros() & ones()
- linspace() & logspace()
- r_[va, vb] & c_[va, vb]
- reshape() : 배열의 행과열을 새로 바꾸어주는 역할
- random.rand() : [0,1] 사이의 균일한 분포
- random.seed()
- random.randint() : 주어진 구간에서 랜덤한 정수값
선형대수학 Python
import numpy as np
A=[[2, 3], [4, 5]]
B=[[2, 3], [4, 5]]
ANP=np.array(A)
BNP=np.array(B)
print(ANP)
ANP_transpose=ANP.T
print(ANP_transpose)
# 1) np.dot(x, y) : 행렬의 내적
print("1) np.dot(x, y) : 행렬의 내적")
C=np.dot(ANP, BNP)
print(C)
D1=np.dot(ANP_transpose, BNP)
print(D1)
D2=ANP.T.dot(BNP)
print(D2)
print("\n")
# 2) np.diag : 대각행렬
print("2) np.diag : 대각행렬")
DiagonalA=np.diag(A)
DiagonalB=np.diag(B)
print(DiagonalA)
print(DiagonalB)
print(np.diag(ANP_transpose))
print(np.diag(C))
print(np.diag(D1))
print(np.diag(D2))
print("\n")
# 3) np.trace : 대각합
print("3) np.trace : 대각합")
traceA=np.trace(A)
traceB=np.trace(B)
print(traceA)
print(traceB)
print(np.trace(C))
print(np.trace(D1))
print(np.trace(D2))
print("\n")
# 4) np.linalg.det : 행렬식
print("4) np.linalg.det : 행렬식")
detA=np.linalg.det(A)
detB=np.linalg.det(B)
print(detA)
print(detB)
print(np.linalg.det(C))
print(np.linalg.det(D1))
print(np.linalg.det(D2))
print("\n")
# 5) np.linalg.inv : 역행렬
print("5) np.linalg.inv : 역행렬")
invA=np.linalg.inv(A)
invB=np.linalg.inv(B)
print(invA)
print(invB)
print(np.linalg.inv(C))
print(np.linalg.inv(D1))
print(np.linalg.inv(D2))
print("\n")
# 6) np.linalg.svd : 특이값 분해
print("6) np.linalg.svd : 특이값 분해")
b=[[0, 0], [0, 0]]
E=A+b
arrayE=np.array(E)
print(arrayE)
u, s, vh=np.linalg.svd(arrayE)
print(u)
print(s)
print(vh)
print("\n")
# 7) np.linalg.solve : 연립방정식 해 풀기
print("7) np.linalg.solve : 엽립방정식 해 풀기")
F=np.array([5, 7])
X=np.linalg.solve(ANP, F)
print(X)
va=np.array([1,2,3])
vb=np.array([4,5,6])
print(va)
xr=np.r_[va, vb]
xc=np.c_[va,vb]
print(xr)
print(xc)
'머신러닝' 카테고리의 다른 글
[머신러닝] Classification2 - Clustering (0) | 2020.09.20 |
---|---|
[머신러닝] Classification1 - Mixture Model & Clustering (0) | 2020.08.25 |
[머신러닝] k-NN Classification (0) | 2020.07.26 |
[머신러닝] Logistic Regression (0) | 2020.07.18 |
[머신러닝] Linear Regression (0) | 2020.07.12 |