반응형
Scipy 기초사용법 (최적화/optimize, 통계/stats, 신호처리/sigmal ,선형대수/linalg)
0.설명
# SciPy는 과학, 수학, 엔지니어링 등에 사용되는 고급 계산 기능을 제공하는 Python 라이브러리입니다.
# 선형 대수, 통계, 신호 처리, 최적화 등 다양한 분야의 기능을 제공합니다.
1. 라이브러리 임포트
import numpy as np
import scipy
2. 선형대수(scipy.linalg)
- 역행렬 계산
import numpy as np
from scipy import linalg
A = np.array([[1, 2],
[3, 4]])
B = np.array([5, 6])
# 역행렬 계산
A_inv = linalg.inv(A)
print(A_inv)
# out : array([[-2. , 1. ], [ 1.5, -0.5]])
- 행렬식 계산
from scipy import linalg
A = np.array([[1, 2], [3, 4]])
B = np.array([5, 6])
# 행렬식 계산
det_A = linalg.det(A)
print(det_A)
# out : -2.0
- 선형 연립방정식 풀기
# 아래와 같은 선형 방정식 시스템이 있다고 가정하고 예시 코드를 작성합니다.
# x + 2y = 5
# 3x + 4y = 6
import numpy as np
from scipy import linalg
# 계수 행렬 (A) 생성
A = np.array([[1, 2],
[3, 4]])
# 상수 벡터 (B) 생성
B = np.array([5, 6])
# 선형 방정식 풀기
x = linalg.solve(A, B)
print(x)
# out : [-4. 4.5]
3. 최적화(scipy.optimize)
# 다음과 같은 목적 함수를 최소화하는 문제를 생각해 봅시다.
# f(x) = x^2 + 6x + 9
import numpy as np
from scipy import optimize
# 목적 함수 정의
def func(x):
return x**2 + 6*x + 9
# 초기 추측값 설정 (x0)
x0 = 0
# 최적화 수행
result = optimize.minimize(func, x0)
# 최적화 결과 출력
optimal_x = result.x
# optimal_value = result.fun
# x 가 -3 일때 최소값 0 도출
print(optimal_x)
# out : [-3.]
print(optimal_value)
# out : 0.0
4. 통계(scipy.stats)
- 평균
from scipy import stats
data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# 평균
mean = np.mean(data)
- 중앙값
from scipy import stats
data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# 중앙값
median = np.median(data)
- 표준편차
from scipy import stats
data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
#표준편차
std = np.std(data)
- 정규성검정
from scipy import stats
data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# 정규성 검정 (Shapiro-Wilk 검정)
statistic, pvalue = stats.shapiro(data)
5. 신호 처리 (scipy.signal)
from scipy import signal
x = np.linspace(0, 10, 100)
y = np.sin(x)
# Savitzky-Golay 필터를 사용한 스무딩
smoothed_y = signal.savgol_filter(y, window_length=5, polyorder=3)
반응형
'python' 카테고리의 다른 글
넘파이 영벡터(zeros-vector), 일벡터(ones-vector) 생성 np.zeros(), np.ones() (0) | 2023.04.17 |
---|---|
파이썬 띄어쓰기, 특수문자 확인 python isalnum (0) | 2023.04.16 |
pillow image rotate 검정색 공백 없이 파이썬 이미지 회전 (0) | 2023.04.15 |
pytorch 기초 사용법(텐서 생성, 텐서 연산, 데이터셋 및 데이터 로더) (0) | 2023.04.15 |
파이썬 딕셔너리 json으로 저장하기, dict to json (0) | 2023.04.13 |
댓글