Numpy: 선형대수

불러들이기

Numpy에서 선형대수에 관련된 하위 모듈은 linalg이다. 예를 들어 역행렬을 구하는 함수 inv를 사용하려면 다음과 같이 함수 이름 앞에 linalg를 붙여주거나

>>> from numpy import *
>>> A = mat("[1 2; 3 4]")
>>> linalg.inv(A)
matrix([[-2. ,  1. ],
        [ 1.5, -0.5]])

또는 linalg 라이브러리를 모두 불러들인다.

>>> from numpy import *
>>> from numpy.linalg import *
>>> A = mat("[1 2; 3 4]")
>>> inv(A)
matrix([[-2. ,  1. ],
        [ 1.5, -0.5]])

행렬식과 대각성분


NumPy 기초: 리스트, 배열, 행렬

NumPy 불러들이기

NumPy 라이브러리를 사용하려면 파이썬에서 불러들여야 합니다. 아래 명령을 사용합니다.

from NumPy import *

리스트

리스트는 파이썬의 기본 기능입니다. 여러 개의 값을 하나로 묶어서 다룰 수 있습니다.

[code]
>>> a = [1,2,3]
>>> a
[1,2,3]
>>> b = range(1,10) # 1이상 10미만의 값을 가지는 리스트
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> len(a) # a의 길이
3
>>> len(b) # b의 길이
9
>>> b[0] # b의 첫째 원소
1
>>> b[1] # b의 2번째 원소
2

Python 기초

시작

Python을 설치한 다음 시작 -> Python 2.5 -> IDLE (Python GUI) 순으로 선택을 하여 Python을 시작합니다. 그러면 다음과 같은 화면이 뜹니다.

[code]
Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.

****************************************************************
Personal firewall software may warn about the connection IDLE
makes to its subprocess using this computer's internal loopback
interface. This connection is not visible on any external

Python

소개

Python은 배우고 쓰기 쉬운 범용 프로그래밍 언어입니다. 다른 프로그래밍 언어에 비해 간단하게 쓸 수 있기 때문에 과학 컴퓨팅에서도 널리 사용되고 있습니다. 여기서는 파이썬 라이브러리인 SciPy를 이용하여 통계분석과 수치해석을 하는 방법에 대해 다룹니다.

설치 방법

사이트 소개

목적

레만투의 목적은 과학 컴퓨팅(scientific computing)을 위한 여러 소프트웨어들의 레퍼런스, 매뉴얼, 튜토리얼을 만드는 것입니다. 현재는 통계 소프트웨어인 R의 튜토리얼을 만드는 데 주력하고 있습니다.

연락

운영자에게 연락을 하려면 다음 주소로 메일을 보내십시오.

euphoris@gmail.com

R 커맨더: R을 SPSS처럼 사용하기

소개와 설치

R의 가장 큰 단점은 불편한 사용법이다. 명령어를 일일이 입력해서 자료를 분석하는 방법은 익숙해지면 메뉴 방식보다 편리하지만 익숙해지는 데 제법 시간이 걸린다.

'R 커맨더'라는 패키지를 설치하면 R을 SPSS에서처럼 메뉴만 클릭해서 사용할 수 있다. R의 명령창에 아래와 같이 입력하면 설치된다.

install.packages("Rcmdr",dependencies=T)

실행

R 커맨더는 불러들이기만하면 자동으로 실행된다.

[code]
library(Rcmdr)

R: 상관 분석(correlation)

피어슨 상관계수

R에서 상관분석은 cor.test 함수를 사용한다. 사용법은 대단히 간단하다. 두 변수 x와 y의 피어슨 상관계수를 구하려면 단순히 다음과 같이 하면 된다.

cor.test(x,y)

결과는 다음과 같다.

        Pearson's product-moment correlation

data:  x and y 
t = 12.3142, df = 48, p-value = 2.220e-16
alternative hypothesis: true correlation is not equal to 0 
95 percent confidence interval:
 0.7831722 0.9253898 
sample estimates:
      cor 
0.8715312 

R: 수신자 조작특성 곡선(ROC 곡선)

설치

ROC 곡선을 그리려면 ROCR 패키지가 필요하다. CRAN에서 다운로드 받자.

install.packages("ROCR")

불러들이기

require(ROCR)

비교

먼저 경보(alarm)와 신호(signal)를 비교한다. 아래는 ROCR 패키지에 샘플로 포함된 ROCR.simple 자료를 가지고 경보와 신호를 비교한 예제다.

pred = prediction(ROCR.simple$predictions,ROCR.simple$labels)

신호는 이항 자료(binary data)여야 한다. 예제에서 ROCR.simple$labels는 신호에 대한 자료이며 0과 1을 값으로 가진다. 경보는 신호와 똑같은 값을 가지는 이항 자료거나 연속된 실수여야 한다. 예제에서 ROCR.simple$prediction은 경보에 대한 자료이며 0에서 1까지 연속된 실수이다. 이 둘을 비교한 pred 객체를 가지고 여러 가지 분석을 수행한다.

R: 관계식

R에서 모형을 정의하기 위해 사용하는 표현을 관계식(formular)이라고 부른다. 예컨대 Y = b0 + b1*x1 + b2*x2 + e 형태의 중다 회귀 분석은 R의 관계식으로 y ~ x1 + x2라고 표기한다.

기본

관계식은 ~ 기호를 기준으로 왼쪽에는 종속변수, 오른쪽에는 독립변수를 쓴다. 회귀계수는 독립변수가 있으면 당연히 있어야 하기 때문에 표시해주지 않는다. 따라서 단순 회귀 분석의 경우 다음 (1)과 같은 관계식을 사용한다.

y ~ x # (1)

여러 개의 독립변수


R: 기초

계산기로 사용하기


R을 시작하면 >라는 표시가 뜬다. 이 표시를 프롬프트(prompt)라고 한다. 프롬프트는 R이 사용자의 입력을 기다린다는 표시이다. 간단한 명령을 몇 가지 내려보자.

> 1+1
[1] 2
> 3-2
[1] 1
> 4*3
[1] 12
> 5/2
[1] 2.5
> 3^2
[1] 9

내용묶음