zenn.skin 무료버전 배포중!
자세히보기

numpy 10

Python/Syntax
[Numpy] hstack

hstack은 두 numpy 배열이 주어질 때 배열들을 가로로 붙여주는 역할을 하는 함수입니다. 최대 3차원까지의 배열에 적용할 수 있으며 첫번째 인자로 받은 배열 뒤에 두번째 인자로 받은 배열을 가로로 붙여 반환합니다. # 1차원 배열에서의 hstack a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) np.hstack((a, b)) # 2차원 배열 c = np.array([[1, 2, 3], [4, 5, 6]]) d = np.array([[7, 8, 9], [10, 11, 12]]) np.hstack((c, d))

DataScience
[ML] K-NeighborsClassifier(K-최근접 이웃)

도미의 길이, 무게 데이터 도미의 길이, 무게 데이터. GitHub Gist: instantly share code, notes, and snippets. gist.github.com 빙어의 길이, 무게 데이터 빙어의 길이, 무게 데이터. GitHub Gist: instantly share code, notes, and snippets. gist.github.com 위 데이터를 이용해 K-최근접 이웃 모델에 대해 공부해보겠습니다. K-최근접 이웃 분류 모델은 지도학습 중에서도 분류 알고리즘에 해당하는 알고리즘입니다. K-최근접 이웃 모델은 별도의 규칙을 찾기보다는 전체 데이터를 메모리에 저장하는 역할만 합니다. 새로운 데이터가 주어지면 기존에 있던 데이터들 중에서 새로운 데이터와 유클리디언 거리가 가장 ..

Python/Syntax
[Numpy] ndarray 합치기 (c_, r_, column_stack)

numpy에서 제공되는 클래스인 c_와 r_은 입력받은 ndarray를 결합하여 새로운 ndarray를 빠르게 생성할 수 있도록 도와줍니다. 이 때, c_와 r_은 ()이 아닌 []을 통해 ndarray를 입력받습니다. 1. r_ c_를 이해하기 위해서는 r_ 클래스를 먼저 이해해야 합니다. class CClass(AxisConcatenator): """ Translates slice objects to concatenation along the second axis. This is short-hand for ``np.r_['-1,2,0', index expression]``, which is useful because of its common occurrence. In particular, arrays..

DataScience
[Numpy] Poly1d 그래프 plot

[Numpy] 다항식을 다룰 수 있는 polynomial class, poly1d 회귀방정식을 구하거나 수치 연산을 할 때 다항식을 다룰 일이 엄청나게 많습니다! Numpy에서는 다항식을 사용하기 쉽게 polynomial class를 제공하고 있는데 오늘은 이 polynomial class에 대해 공부해보 koosco.tistory.com 지난 번에 다항식을 다룰 수 있도록 해주는 numpy의 poly1d class에 대해 알아보았습니다. stack overflow에서 polynomial을 plot하는 내용의 질문을 보고 한 번 정리해두려 합니다. import matplotlib.pyplot as plt import numpy as np p = poly1d([1, 2, 1]) plt.plot(p) 위 다..

Python/Syntax
[Numpy] arange, linspace

numpy에 일정 간격을 가지는 ndarray를 생성할 수 있는 함수에는 numpy.arange와 numpy.linspace가 있습니다. 상황에 따라 조금씩 다르게 사용되는 두 함수에 대해 정리해 보려 합니다. 1. arange - 생성되는 ndarray의 개수는 모르고, 간격만 결정합니다. 파이썬의 리스트와 거의 동일합니다. - arange는 총 4개의 인자를 받습니다. (start, stop, step, dtype) - arange(start, stop, step, dtype=None), start부터 stop까지 step 간격을 가지는 ndarray를 생성합니다. - 파이썬에서 제공되는 range함수와 거의 동일하게 작돟하며, stop은 ndarray에 포함되지 않습니다. - numpy의 ndarr..

DataScience
[Numpy] 다항식을 다룰 수 있는 polynomial class, poly1d

회귀방정식을 구하거나 수치 연산을 할 때 다항식을 다룰 일이 엄청나게 많습니다! Numpy에서는 다항식을 사용하기 쉽게 polynomial class를 제공하고 있는데 오늘은 이 polynomial class에 대해 공부해보려 합니다. 1. poly1d 다항식이 주어질 때 poly1d는 다항식의 계수만을 이용해 다항식을 나타냅니다. 위 다항식 같은 경우 poly1d([1, 1])과 같이 나타냅니다. 연산을 통해 다항식의 값을 계산하는 것도 가능합니다. 두 개의 다항식이 주어질 때 덧셈 연산을 수행하면, 다음은 곱셈 연산을 해보겠습니다 마지막으로 나눗셈 연산도 해보면 2) 다항식의 차수 len 함수를 통해 다항식의 차수를 구할 수 있습니다. 오늘은 numpy를 통해 polynomial class를 나타내는..

DataScience
[Numpy] 뷰

ndarray의 요소를 꺼내는 방법에는 크게 두 가지가 있다. 첫번째는 인덱싱을 이용해 뷰를 생성하는 방법이고 두번째는 사본을 생성하는 방법이다. 오늘은 뷰에 대해 알아보자. 뷰는 ndarray에 접근하기 위해 만든 참조를 의미한다. Numpy에서는 메모리에서 불필요한 복사가 이뤄지는 것을 최대한 피한다. 즉, 뷰는 ndarray의 참조이며 뷰의 값을 변경하면 ndarray의 값도 변경되게 된다. import numpy as np mat = np.arange(12).reshape(-1,4) print('before: ', mat) _view = mat[1, 1:] print() print('view: ', _view) print() _view[0]=100 print('after: ', mat) 보는 것처..

DataScience
[Numpy] 배열과 행렬

Numpy에서 다차원 배열을 '배열'과 '행렬'을 이용해 나타낸다. 이 때 배열과 행렬은 일반적으로 사용하는 '배열'의 형태이다. 둘의 차이는 행렬곱 연산에 사용되는 연산자의 차이뿐이다. import numpy as np A = np.array([[1,2], [3,4]]) #배열 B = np.matrix([[1,2], [3,4]]) #행렬 위와 같이 정의했을 때 각각의 자료형은 다음과 같다 배열은 ndarray 객체이고, 행렬은 matrix 객체이다 전에는 둘의 행렬곱 연산에 차이가 있었다 ndarray는 dot 연산을 이용해 나타냈고, matrix는 * 연산을 이용해 행렬곱을 나타냈다 지금은 둘을 혼용해서 사용가능하다 배열과 행렬을 곱했을 때는 matrix 객체를 반환한다 @연산자를 사용해 행렬곱이 가..

DataScience
[Numpy] 개요

※Numpy 배열 처리에 특화된 라이브러리이다 다차원 배열을 나타내기 용이하다 파이썬이 제공하는 리스트/튜플의 느린 처리 속도를 극복하기 위한 라이브러리이다 배열 연산이 매우 빠르다 ndarray(다차원 배열 객체)를 이용해 배열 연산을 수행한다 ※주요기능 유니버셜함수 다양한 함수 기능 제공 다른 언어에 대한 인터페이스 제공 1. 유니버셜함수 - ndarray의 각 요소에 연산을 거친 후 결과를 반환한다 -> 선형대수 계산을 간결하고 가독성 높게 작성할 수 있다 2. 다양한 함수 기능 제공 배열/행렬 생성 및 조작 수학/선형대수 Random Sampling 통계함수 index조작 정렬/탐색/계수 다항식 계산 데이터 입출력 Fourier 연산 - 이외에도 논리 연산이나 문자열, 바이너리 등 매우 많은 함수..