본문 바로가기

반응형

Programming

(148)
numpy.random 모듈 난수 배열의 생성 numpy.randdom 모듈 randint(low, high=None, size=None, dtype='1') normal(loc=0.0, scale=1.0, size=None) random(size=None) randint(low, high=None, size=None, dtype='1') 정수 표본을 추출하여 배열을 반환 normal(loc=0.0, scale=1.0, size=None) 정규 분포 확률 밀도에서 표본을 추출하여 배열로 반환한다. 정규 분포의 평균(loc, 표준편차(scale)을 지정할 수 있다. mean = 0 std = 1 data = np.random.normal(mean, std, 100000) plt.hist(data, bins=500) plt.show() random(si..
numpy 브로드캐스팅 브로드캐스팅 Broadcasting(브로드캐스팅) : 다른 형상 간 연산이 가능하도록 하는 것. $$\begin{align}A+B=\begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \\ 10 & 11 & 12 \end{pmatrix}+\begin{pmatrix} 1 & 0 & 1 \end{pmatrix} = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \\ 10 & 11 & 12 \end{pmatrix}+\begin{pmatrix} 1 & 0 & 1 \\ 1 & 0 & 1 \\ 1 & 0 & 1 \\ 1 & 0 & 1 \end{pmatrix}\end{align}$$ 이렇게 배열B가 A에 맞게 열을 저절로 채워서 연..
Numpy 튜토리얼 numpy 특징 Numerical Python 강력한 다차원 배열과 행렬 연산 다양한 선형 대수학 함수와 난수 간결한 코딩 for문과 numpy 비교 # 두 개의 리스트에 난수(random number)를 저장 import numpy as np n = 100000 w = [np.random.random() for _ in range(n)] x = [np.random.random() for _ in range(n)] # list의 값을 np 배열로 복사 wnum = np.array(w) # ndarray type xnum = np.array(x) %%time total = 0 for i in range(n): total += w[i]*x[i] print(total) %%time total = np.dot(..
함수와 뉴런, 인공신경망의 구현 함수란? $$F(u,v)=\left ( \frac{2}{N}\right)^{{\frac{1}{2}}}\left ( \frac{2}{M} \right )^{{\frac{1}{2}}}\sum_{i=0}^{N-1}\sum_{j=0}^{M-1}\Lambda (i).\Lambda(j).cos\begin{bmatrix} \frac{\pi .u}{2.N}(2i+1)\end{bmatrix}cos\begin{bmatrix} \frac{\pi .u}{2.M}(2j+1)\end{bmatrix}.f(i,j)$$ 이산 코사인 변환함수라는 것이다. 이 함수를 통해서 큰 이미지나 영상을 압축해서 작은 크기로 변환하고 다시 복원하는 것을 할 수가 있다. 과거에 과학자들이 만든 이 함수를 통해서 오늘날에 이르러서 잘 활용하고 있는 것..
파이썬 Numpy 다차원 배열 Numpy는 1차원~ 3차원 같은 다차원 배열(ndarray)을 생성할 수 있다. 파이썬 리스트를 사용해 다차원 배열을 생성할 수 있고, zeros, empty, random 같은 내장 함수를 이용할 수도 있다. 배열 생성 벡터 연산 다차원 배열의 비교 다차원 배열의 비교에서는 불리언 배열을 반환한다. 이 기능을 이용해 특정 데이터를 조회할 수 있다. 조회 인덱스, 슬라이싱, 조건 비교를 이용해 데이터를 조회할 수 있다. 판다스를 이용해 데이터프레임 형태로 변환해보니, b의 위치가 1, 1에 위치한 것을 알 수 있다. 0, 0 이 1이 된다. 0부터 시작되는 것을 잘 인식하도록 하자. 치환 속성
파이썬 NumPy 데이터타입 NumPy의 기본 데이터 타입1은 정수, 실수, 복소수, 불리언, 객체, 문자, 유니코드형이 있다. 기본타입 고정 사이즈 숫자형
파이썬 NumPy 라이브러리 장점 NumPy는 다차원 배열(ndarray)을 이용하여 연산이 편리하고, 파이썬 기본 자료구조에 비하여 매우 빠른 작업 속도를 제공한다. NumPy 장점 파이썬 리스트의 각 값에 곱하는 연산을 하려면 for 문을 이용해서 복잡하게 계산을 해야 하는데, 벡터화 연산을 이용해 간단하게 계산이 가능하다. 빠른 작업 속도 파이썬이 다 좋은데, 연산속도가 느리다고 한다. 그런데 NumPy는 데이터를 연속된 메모리 블록에 저장하고, C로 구현되어 있어서 타입 검사와 같은 오버헤드 없이 메모리를 직접 조작할 수 있어 빠른 속도로 계산을 처리할 수 있다. 100만개의 데이터를 저장한 파이썬 리스트와 다차원 배열을 비교하면 작업속도가 거의 10배 이상 차이가 나는 것을 확인할 수 있다.
파이썬 판다스 기능 - loop(iterrows, itertuples) iterrows : 현재 인덱스와 시리즈 정보를 반복 itertuples : 데이터를 튜플로 반환

반응형