SciPy 자주 사용하는 서브 패키지

6365 단어 파이썬scipy
SciPy는 많은 수학적 알고리즘과 편리한 함수 집합으로 NumPy를 기반으로 그 연장선에 만들어집니다. 오늘은 그 방대한 SciPy 서브 패키지 중 일부이지만 자주 사용하는 편리한 함수에 대해 탐색해 나갑니다.

서브 패키지에는 다음과 같은 것이 있습니다. 이들은 각각 from scipy import PACKAGE_NAME 같은 방법으로 호출할 수 있습니다. (그 밖에도 방법이 있습니다)


패키지
내용


cluster
클러스터링 알고리즘

constants
물리 상수와 수학 상수

fftpack
고속 푸리에 변환 루틴

integrate
통합과 상미분 방정식

interpolate
보간 및 스무딩 스플라인

io
입력 및 출력

linalg
선형 대수

ndimage
N 차원 처리

odr
직교 거리 회귀

optimize
최적화 및 뿌리 감지 루틴

signal
신호 처리

sparse
희소 행렬과 관련된 루틴

spatial
공간 데이터 구조 및 알고리즘

special
특수 기능

stats
통계 분포 및 기능

weave
C/C++ 통합


필자의 독단과 편견에서 이 중 특히 자주 사용하는 서브 패키지를 선택한다고 하면 scipy.statsscipy.linalg 입니다.

통계 함수 (scipy.stats)



scipy.stats는 통계를 위한 하위 패키지입니다. 우선, 연속 확률 변수와 이산 확률 변수를 캡슐화한 2 개의 일반적인 클래스가 있습니다. SciPy에는 80개 이상의 연속 확률 변수와 10개 이상의 이산 확률 변수에 대한 클래스가 있습니다. 이러한 주로 통계에 관한 클래스는 scipy.stats 아래에 정리되어 있습니다.

연속 확률 변수에 관한 공통의 메소드에는 다음과 같은 것이 있습니다.


방법
내용


rvs
랜덤 변량

PDF
확률 밀도 함수

cdf
누적 분포 함수

sf
생존 함수(1-CDF)

ppf
백분율 포인트 함수 (CDF의 역)

isf
역생존 함수(SF의 역)

stats
평균, 분산, 피셔의 첨도, 우도

moment
비중앙화 적률


F 분포



친숙한 F 분포입니다.
from scipy.stats import f # stats から F 分布を呼ぶ
def draw_graph(dfn, dfd):
    rv = f(dfn, dfd) # 与えられた 2 つの引数で F 分布を描く
    x = np.linspace(0, np.minimum(rv.dist.b, 3))
    plt.plot(x, rv.pdf(x))

draw_graph(1, 1)
draw_graph(2, 1)
draw_graph(5, 2)



z 점수



다음과 같이 구합니다.
x = np.array([61, 74, 55, 85, 68, 72, 64, 80, 82, 59])
print(stats.zscore(x))
#=> [-0.92047832  0.40910147 -1.53413053  1.53413053 -0.20455074  0.20455074
#    -0.61365221  1.02275369  1.22730442 -1.12502906]

선형 대수 (scipy.linalg)



BLASLAPACK 을 이용한 매우 빠른 선형 대수 계산을 할 수 있습니다.

선형 대수 루틴은 모두 2차원 배열로 변환할 수 있는 객체를 전제로 합니다. 이러한 루틴의 출력은 기본적으로 2차원 배열입니다.
x = np.array([[1,2],[3,4]])
linalg.inv(x)
#=>
# array([[-2. ,  1. ],
#        [ 1.5, -0.5]])

요약



SciPy 의 서브 패키지는 방대한 함수를 가지고 있어 매우 설명할 수 있는 것은 아닙니다. 흥미가 나온 분은, 꼭 온라인 문서 를 읽어 보세요.

또 온라인 문서만으로 부족한 사람은, 이전에 소개한 무료 서적 도 아울러 참고로 하면 좋을 것입니다.

좋은 웹페이지 즐겨찾기