반응형

머신러닝 12

[Numpy] 행렬 내적, 전치행렬 - dot(), transpose()

행렬 내적과 전치행렬이다. 포스팅은 간단하다. 소스코드와 출력으로만 따라해보자. 1. np.dot(A,B) 큰 설명이 없다. 중고등학교때 수학을 생각하면서, 행렬 내적을 보고 오면된다. 기억이 안나는 분에게는 딱 한가지만 기억하면된다. 2 x 3 의 행렬과 3 x 2 의 행렬의 내적을 구할 수 있는 조건은, 2 x 3 의 3과 3 x 2 의 3이 크기가 같은 조건이면 된다. 소스 코드 A = np.array([[1, 2, 3], [4, 5, 6]]) B = np.array([[7, 8], [9, 10], [11, 12]]) dot_product = np.dot(A, B) print('행렬 내적 결과:\n', dot_product) 결과 행렬 내적 결과: [[ 58 64] [139 154]] 2. np.t..

[Numpy] sort 기본 종류 별 사용 방법

1) np.sort(변경할ndarray) 정렬된 값을 리턴한다. 기존 ndarray는 변환하지 않는다. 기존의 값을 그대로 유지해야하면 사용한다. 소스 코드 ndarray1 = np.array([3, 2, 5, 1, 4]) print(ndarray1) sort1 = np.sort(ndarray1) print('sort1 반환값:', sort1) print('sort1 원본값:', ndarray1) 결과 [3 2 5 1 4] sort1 반환값: [1 2 3 4 5] sort1 원본값: [3 2 5 1 4] 2) 변경할ndarray.sort() 반환값이 없다. 원본 ndarray 값을 변경시킨다. 기존 값을 변경하기 때문에 기존 ndarray 값이 필요 없을 때 사용 소스 코드 ndarray1 = np.ar..

[Numpy] ndarray 인덱싱(Indexing) 종류와 사용방법(3) - 불린(Boolean) 인덱싱

ndarray의 데이터 인덱싱의 종류를 알아보고 종류별 사용 방법에 대해서 알아보자. 1. 특정 위치의 단일값 추출 - [링크 클릭] 2. 슬라이싱 - [링크 클릭] 3. 팬시 인덱싱 - [링크 클릭] 4. Boolean 인덱싱 이번 시간은 4. Boolean 인덱싱을 사용해보도록 합니다. Boolean 인덱싱은 자주 사용하게 될겁니다. 밑에 예제를 따라해 보시면, 조건을 이용해서 Boolean 값을 반환해서 True인 값만 들어있는 array를 반환할 수 있다는 큰 장점이 있는 인덱싱입니다. (알고리즘 문제에서도 쉽게 문제해결 가능합니다.) 먼저, 아래와 같이 numpy를 임포트 해서 array1d라는 ndarray 하나를 생성해 줍니다. 소스 코드 import numpy as np array1d = ..

[Numpy] 리스트 ndarray 변환 함수 - tolist(), np.array()

급한 상황에서, 별거아닌 함수도 기억 못하는 경우가 있다.(나만 있나?) 그런 사람들을 위해서 엄청 간단한 함수에 대해서 정리해봤다. 다시 말하지만, 이번 포스팅은 엄청 별거 없다. 먼저, zeros로 0으로 (3,3) shape ndarray 를 생성한다. 소스 코드 array2d = np.zeros(shape=(3, 3), dtype='int32') print('array2d:\n', array2d) 결과 array2d: [[0 0 0] [0 0 0] [0 0 0]] 1. tolist() 함수 ndarray 에서 list로 변경 소스 코드 # tolist() 는 ndarray를 list로 변환 해준다. array1 = array2d.tolist() print('array1:\n', array1) pr..

[Numpy] ndarray 인덱싱(Indexing) 종류와 사용방법(2) - 팬시 인덱싱

ndarray의 데이터 인덱싱의 종류를 알아보고 종류별 사용 방법에 대해서 알아보자. 1. 특정 위치의 단일값 추출 - [링크 클릭] 2. 슬라이싱 - [링크 클릭] 3. 팬시 인덱싱 4. Boolean 인덱싱 - [링크 클릭] 이전에는 1.단일값 추출, 2.슬라이싱을 공부했다면, 이번에는 3. 팬시 인덱싱 을 알아보도록 하자. 3. 팬시 인덱싱 팬시 인덱싱은 리스트나 ndarray로 인덱스 집합을 지정하면 해당 위치의 인덱스에 해당하는 ndarray를 반환합니다. 아래 예제를 살펴봅시다. 먼저, shape가 3,3인 ndarray를 생성합니다. 소스 코드 import numpy as np array1d = np.arange(start=1, stop=10) array2d = array1d.reshape(..

[Numpy] ndarray 인덱싱(Indexing) 종류와 사용방법(1) - 단일 값 추출, 슬라이싱

ndarray의 데이터 인덱싱의 종류를 알아보고 종류별 사용 방법에 대해서 알아보자. 1. 특정 위치의 단일값 추출 2. 슬라이싱 3. 팬시 인덱싱 - [링크 클릭] 4. Boolean 인덱싱 - [링크 클릭] 네가지 인덱싱에 대해서 알아보고 예제를 작성해 보도록 한다. 팬시 인덱싱과 Boolean 인덱싱을 바로 알아보고 싶은 분은 링크 클릭 1. 단일 값 추출 1) 1차원 단일 값 추출 ndarray는 axis를 기준으로 0부터 시작하는 위치 인덱스 값을 가지고 있다. 해당 인덱스 값을 [](대괄호) 안에 명시해서 단일 값을 추출할 수 있다. 파이썬을 사용하면 단일 값 추출 할 경우, -(마이너스)를 입력하게 되면 뒤에서 부터 위치를 지정하게 된다. (가장 오른쪽이 -1부터 시작합니다.) 소스 코드 #..

[Numpy] ndarray 크기 변경 reshape()

ndarray 크기를 변경하는 함수로 reshape를 사용한다. 1. reshape ndarray의 개수가 10개 이기 때문에, reshape 에서 (2,5) 또는 (5,2) 등 총 개수가 맞게 입력해야한다. 소스 코드 # 1. reshape # reshape는 ndarray의 갯수가 맞게 입력해야한다. array1 = np.arange(10) print('array1:\n', array1) array2 = array1.reshape(2, 5) print('array2:\n', array2) array3 = array1.reshape(5, 2) print('array3:\n', array3) # 10개 밖에 없는데, 4*1 = 4개로 reshape를 하면 에러발생 # array1.reshape(4,1) ..

[Numpy] array 생성함수 - arange, ones, zeros, empty

array를 생성하기 위한 함수들을 알아보자. 배열을 직접 입력하기에는 어려움이 있다. 다차원 배열들은 array 생성 함수로 생성하면 시간을 단축 할 수 있다. 1. arange - 인자로 배열의 크기를 입력해야한다. - 0부터 크기만큼 1씩 더하는 데이터 값들이 생성된다. 소스 코드 import numpy as np # 1.arange arange_array = np.arange(5) # 배열의 크기를 입력 print(arange_array) -결과를 보면 0부터 배열의 크기(5) 까지 +1 씩 더해서 생성하는 것을 확인 할 수 있다. print 결과 [0 1 2 3 4] 2. zeros - 인자로 shape와 dtype을 입력 할 수 있다. - 결과는 0이 들어가 있는 배열을 생성한다. 소스 코드 ..

[Numpy] ndarray 의 axis 축 개념 및 소스 코드 예제

넘파이 ndarray 의 axis 축 axis 는 쉽게 외우기 위해서는 '너의 상위 배열 몇개냐?' 라고 외우면 쉽다. 2차원 배열 같은 경우 [[1,2,3],[1,2,3]] 가장 큰 [[1,2,3],[1,2,3]] 2차 배열과 안쪽에 [1,2,3]이라는 1차 배열이 있다. 2차원 배열 안의 1차 배열 은 상위 배열이 1개 있으므로, axis =1 축이라고 보면된다. axis =1의 축이라고 했을때 1차 배열에서 add 해서 리스트를 추가하는 방향이라고 생각하면된다. 2차원 배열의 2차원 배열은 [[1,2,3],[1,2,3]] 상위 배열이 없다고 보고, axis = 0 축이라고 보면된다. (상위 배열 = axis 축) 그래서 2차원 배열에서 항목을 하나 추가하려면 1차원 배열을 추가해야한다. 그러므로, ..

[Numpy] ndarray 생성 및 사용 방법

ndarray : N 차원 배열 객체 1. ndarray 생성 방법 넘파이는 import로 numpy 를 불러와야합니다. 소스 코드 # 1. ndarray 생성 import numpy as np from numpy.core.records import array # Numpy 모듈의 array() 함수로 생성 array1 = np.array([1, 2, 3]) # 인자로 리스트를 받는 경우 array2 = np.array([[1, 2, 3], [2, 4, 5]]) array3 = np.array(array1) # 인자로 ndarray 받는 경우 print(array1, type(array1)) print(array2, type(array1)) print(array3, type(array1)) numpy모듈..

반응형