Machine Learning/numpy & pandas & maplotlib
-
[NumPy] type()과 dtype, np.sum()과 np.multiply()Machine Learning/numpy & pandas & maplotlib 2023. 10. 3. 17:41
* type() vs dtype type() 함수는 데이터타입을 알려주고, dtype은 ndarray의 attribute이다. * np.sum()과 np.multiply() np.multiply()는 두 개의 인자를 받아서 두 인자를 곱해준다.(np.float64, np.int 등, np.ndarray의 타입을 받을 수 있다.) 인자가 array이면 product-wise를 수행하고, return값의 type으로 np.ndarray를 반환한다. np.sum()는 np.ndarray의 타입인 하나의 배열을 받아서, 내부 합을 계산한다. axis값을 주어서 return값이 np.ndarray이면 return의 type()은 당연히, np.ndarray가 되고, axis값을 따로 주지 않으면, 전체 내부 합을..
-
[NumPy] np.pad에 대한 이해Machine Learning/numpy & pandas & maplotlib 2023. 10. 3. 01:15
* np.pad numpy에 padding을 적용하는 메서드이다. z축, y축, x축 axis에 대한 이해가 필요하다. (axis에 대한 이해) numpy.pad(array, pad_width, mode='constant', **kwargs) 1. array array는 padding을 적용할 배열 2. pad_width pad_width는 ((before_1, after_1), ... (before_N, after_N))의 형태이다. (before,after)는 해당 배열의 해당 축에 패딩을 (앞,뒤)로 덧붙이는 패딩의 갯수를 의미한다. 예를들면, pad_width가 ((0,0), (3,3), (3,3),(0,0))라고 할 때 각각, m(샘플 수)축, z축, y축, x축의 (앞, 뒤)를 의미한다. m축..
-
[numpy] axis, rank 이해. (n,)와(n,1)의 차이. keepdimsMachine Learning/numpy & pandas & maplotlib 2023. 9. 5. 19:35
이전 글에서 선형대수 관련 강의 영상을 정리했었는데, 기본 용어들이 헷갈려서 정리해봤다. * Rank (=basis의 개수) 더보기 "랭크(Rank)"는 행렬의 중요한 개념 중 하나입니다. 랭크는 주어진 행렬의 열 벡터(또는 행 벡터)들 중 독립적인 벡터의 최대 개수를 나타내며, 이 개수는 해당 행렬의 열(또는 행) 공간의 차원을 나타냅니다. 독립적인 벡터의 최대 개수: 랭크는 행렬 내의 열 벡터(또는 행 벡터) 중 서로 독립적인 벡터의 최대 개수를 나타냅니다. 벡터가 서로 독립적이라는 것은 어떤 한 벡터를 다른 벡터들의 선형 조합으로 나타낼 수 없다는 것을 의미합니다. 열 공간의 차원: 랭크는 해당 행렬의 열 벡터가 구성하는 열 공간(column space)의 차원을 나타냅니다. 열 공간은 벡터들이 생..
-
[Pandas#1] Pandas 기초Machine Learning/numpy & pandas & maplotlib 2023. 8. 5. 20:35
* pandas 표 형식의 데이터나 다양한 형태의 데이터를 다루는 데 초점을 맞춰 설계된 라이브러리. pandas는 배열 기반의 함수를 제공하는 등 numpy의 배열 기반 계산 스타일을 많이 차용했다.(numpy는 단일 산술 배열 데이터를 다루는 데 특화되어 있다.) pandas는 Series와 DataFrame 크게 두 가지 자료구조를 갖는다. * import pandas as pd 라이브러리 호출. 관례적으로 pd로 이름을 지음. # 데이터 불러오기 예시 data_url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data' #Data URL # data_url = './housing.data' #Data U..
-
[NumPy] np.where()Machine Learning/numpy & pandas & maplotlib 2023. 8. 4. 23:34
* np.where() NumPy 라이브러리에서 제공되는 조건에 따라 배열의 요소를 선택적으로 변경하거나 조건을 만족하는 요소의 인덱스를 반환하는 함수. 이 함수는 특정 조건을 검사하고, 해당 조건을 만족하는 요소를 선택적으로 처리하는데 유용. import numpy as np # np.where() 함수의 예시 arr = np.array([1, 5, 2, 7, 4, 9]) # 조건을 만족하는 요소의 인덱스를 반환 indices = np.where(arr > 4) print(indices) # 출력: (array([1, 3, 5]),) # 조건을 만족하는 요소를 다른 값으로 변경 new_arr = np.where(arr > 4, 0, arr)# 4보다 크면 0으로 변경하고 아닌 값은 그대로. print(..
-
[NumPy] np.random.rand(), RandomState(), randn(), randint(), random(), normal()정리Machine Learning/numpy & pandas & maplotlib 2023. 8. 4. 23:13
1. np.random.rand() [0,1) 사이의 (uniform distribution)값을 램덤하게 반환 import numpy as np np.random.rand()# 하나의 값 생성 np.random.rand(4)# 4행의 랜덤 값 생성 np.random.rand(5,2)# 5행 2열의 랜덤 값 생성 ------------------------- 0.5026802324958345 array([0.58979257, 0.72740942, 0.58333496, 0.74748877]) array([[0.9106447 , 0.68091985], [0.29337807, 0.01162554], [0.18417443, 0.40650219], [0.52841246, 0.78908411], [0.5049810..
-
[NumPy#1] 넘파이란? dtype, astype(), itemsize, size, shapeMachine Learning/numpy & pandas & maplotlib 2023. 8. 4. 01:39
* 넘파이(NumPy)란? 넘파이(NumPy)는 파이썬의 다차원 배열을 다루기 위한 라이브러리이다. 2005년 Travis Oliphant이 Numarray을 Numeric에 합쳐 만들었다. 넘파이 배열 데이터 구조를 ndarray라고도 부른다. n-dimensional array의 준말이다. 넘파이는 C언어로 작성되었고, 넘파이의 속도가 빠른 이유는 연속된 메모리 블럭을 갖기 때문에 CPU가 빠르게 읽을 수 있다. 반면에, Python의 리스트는 랜덤한 메모리 블럭의 객체를 지정하는 포인터 개념이기 때문에 CPU가 빠르게 캐치하지 못해서 속도가 느린 것이다. 넘파이 배열은 고정된 사이즈를 갖고, homogenous하다. 원소들이 반드시 같은 타입이어야 한다. 파이썬 리스트에서 원소를 추가하거나 삭제하는..