- sql 의 group by 와 같다! df.groupby("Team")["Points"].sum() 위의 결과는 Team들의 Points들의 합을 반환한다. df.groupby(["Tema","Year"])["Points"].sum() 여러 Column들을 groupby 할 수도 있다. Groupby 한 결과물은 multilevel index를 가진다. >>> sum_wegiht = grouped["Weight"].sum() >>> sum_wegiht Animal Age Cat 2 10 4 15 6 12 Dog 1 30 3 25 5 20 Name: Weight, dtype: int64 >>> sum_wegiht.index MultiIndex([('Cat', 2), ('Cat', 4), ('Cat', ..
분류 전체보기
Series에 map 적용 Pandas에서 map() 함수는 Series에서 각 요소에 함수를 적용하여 결과를 반환하는 함수입니다. 이 함수는 일반적으로 Series의 각 요소에 대해 변환 함수를 적용하여 새로운 값을 생성하거나, 기존 값에 적용된 변환 함수를 수정하는 데 사용됩니다. 예를 들어, 다음과 같은 Series가 있다고 가정해 봅시다. import pandas as pd s = pd.Series(['apple', 'banana', 'cherry']) s = s.map(len) print(s) """ 0 5 1 6 2 6 dtype: int64""" 위의 코드는 Series의 모든 요소에 대해 len() 함수를 적용하여 문자열 길이를 계산하고, 그 결과를 반환합니다. 이를 실행한 결과는 다음과 ..
Pandas가 도대체 뭡니까?? - panel data -> pandas Pandas는 파이썬에서 데이터 분석과 조작을 위한 라이브러리로, 데이터를 효율적으로 처리하고 다양한 형태로 변환할 수 있는 기능을 제공합니다. Pandas는 2개의 기본적인 데이터 구조인 시리즈(Series)와 데이터프레임(DataFrame)을 제공합니다. 시리즈는 1차원 배열 구조를 갖고 있으며, 데이터프레임은 행과 열로 구성된 2차원 테이블 구조를 갖고 있습니다. 데이터프레임은 CSV, Excel, SQL 데이터베이스 등 다양한 데이터 소스에서 데이터를 로드하고, 병합, 정렬, 필터링, 그룹화, 집계, 결측치 처리 등 다양한 데이터 조작 작업을 수행할 수 있습니다. - 구조화된 데이터 처리를 지원하는 Python 라이브러리이다..
Camparisons x = np.array([1,2,3,77,34,-1,34]) x > 30 #array([False, False, False, True, True, False, True]) 위처럼 x >30 연산을 하게 되면 numpy에서는 각각의 값을 비교해 boolean array로 반환해준다. numpy 배열의 크기가 같을 때는 element간 비교결과를 Boolean array로 반환한다. import numpy as np a = np.array([1, 2, 3]) b = np.array([2, 2, 2]) print(a == b) # 출력: [False True False] print(a != b) # 출력: [ True False True] print(a < b) # 출력: [ True F..

NumPy(Numerical Python)는 파이썬에서 과학 계산과 데이터 분석을 위한 핵심 라이브러리 중 하나입니다. NumPy는 다차원 배열 객체와 배열 연산을 제공하며, 이를 활용하여 고성능의 수치 계산을 수행할 수 있습니다. NumPy의 핵심 기능은 다차원 배열인 NumPy 배열입니다. NumPy 배열은 파이썬의 기본 리스트보다 더 빠르고, 메모리를 효율적으로 사용합니다. NumPy 배열을 사용하면 벡터화된 연산을 수행할 수 있으므로, 반복문 없이도 효율적인 연산을 수행할 수 있습니다. NumPy 배열은 대규모 데이터 처리와 과학 계산에서 매우 유용합니다. 예를 들어, 이미지나 오디오 데이터 등 다양한 형태의 데이터를 NumPy 배열로 변환하여 처리할 수 있습니다. 또한, NumPy는 선형 대수,..

시퀀스 데이터란?? Sequence data는 일반적으로 순서가 중요한 데이터 형태를 말합니다. 예를 들어, 주식, DNA 서열, 음악 및 음성 신호, 자연어 문장 등이 sequence data의 예시입니다. RNN은 multi layer perceptron과 식이 비슷하지만 현재 입력외에도 그전 상태를 기억하는 변수가 하나더 있음을 알 수 있다. 그리고 이런 변수에 W가중치를 곱해 정보를 추출한다. RNN의 역전파 RNN의 역전파는 그림과 같이 퍼져 나가게 된다. 이를 BPTT라고 한다.역전파 계산은 위에 보았던 RNN의 식을 chain rule을 적용해 구해주면 된다. BPTT란? BPTT(Backpropagation Through Time)는 순환 신경망(Recurrent Neural Network..

본 포스팅은 AI 네이버 부스트캠프 강의의 복습용도로 쓰여졌습니다. 다층신경망(MLP) 구조는 Ax = b 의 행렬에 벡터를 곱한 선형결합식에 활성화 함수를 씌워 연결된 fully connected 구조이다. 반면 Convolution 연산의 경우 커널을 입력벡터 상에서 움직이며 벡터를 도출해낸다.(Convolution 연산도 선형변환에 해당한다.) Convolution 연산의 수학적 의미 함수와 함수 사이의 상호 작용을 나타내는 것입니다. Convolution은 두 함수 f와 g를 입력받아 새로운 함수 h를 출력하는 방법으로, 함수 f와 g의 곱을 적분한 것입니다. 수식으로 표현하면 다음과 같습니다. Convolution 연산은 입력 함수 f와 필터 g가 신호를 국소적으로 증가 시키거나 감소시켜 정보를..

조건부 확률이 뭡니까?? 조건부 확률(Conditional probability)은 어떤 사건이 발생하였을 때, 다른 사건이 발생할 확률을 의미합니다. 즉, 한 사건이 일어난 조건에서 다른 사건이 일어날 확률을 계산하는 것입니다. 조건부 확률은 P(A|B) 또는 P(B|A)와 같이 표기하며, 이는 B가 주어졌을 때 A가 일어날 확률 또는 A가 주어졌을 때 B가 일어날 확률을 나타냅니다. 이를 수식으로 나타내면 다음과 같습니다. P(A|B) = P(A∩B) / P(B) 여기서 A∩B는 A와 B가 동시에 일어날 확률을 나타냅니다. 즉, 조건부 확률은 B가 일어난 경우에 한정하여 A가 일어날 확률을 계산하는 것입니다. 베이즈 정리가 뭡니까?? P(A|B) = P(B|A)P(A) / P(B) 여기서 P(A)는 ..

모수가 뭡니까?? 통계학에서 모수는 모집단의 특성을 나타내는 수치적인 값입니다. 모집단(population)이란 조사 대상이 되는 전체 집단을 의미하며, 모수는 이 모집단에서 추출한 표본으로부터 계산된 통계량(statistic)의 분포를 결정하는 값입니다. 예를 들어, 어떤 특성에 대해 전체 인구를 조사하고 그 결과를 사용하여 평균값, 분산, 표준편차 등의 통계량을 계산할 수 있습니다. 이때 이 통계량을 계산하는 데 사용된 전체 모집단의 특성을 나타내는 값이 바로 모수입니다. 일반적으로 모수는 대문자로 표기하며, 평균을 나타내는 μ, 분산을 나타내는 σ², 표준편차를 나타내는 σ 등이 대표적인 모수입니다. 그러나 모집단의 평균 분산을 아는 것은 쉬운일이 아니다. 알려고 전수조사를 하면 비용이나 시간 측면..

몬테 카를로 샘플링(Monte Carlo Sampling)은 통계학에서 사용되는 확률적인 샘플링 방법 중 하나입니다. 몬테 카를로 샘플링은 분포 함수의 특정 부분에 대한 적분 값을 추정하는 데에 유용하게 사용됩니다. 몬테 카를로 샘플링은 다음과 같은 과정으로 이루어집니다. 적분하고자 하는 함수 f(x)를 정의합니다. 함수 f(x)가 정의된 영역에서 무작위로 점들을 추출합니다. 추출한 점들이 함수 f(x) 내부에 있는지 검사합니다. 이때, 점이 함수 f(x) 내부에 있을 확률은 함수 값이 정의된 영역 내에서의 총 면적 대비 함수 f(x)의 면적입니다. 함수 f(x)의 값과 추출한 점들이 내부에 있는지 여부를 이용하여 적분 값을 추정합니다. 적분 값은 함수 f(x)의 평균값과 추출한 점들이 함수 내부에 있는..

머신 러닝에서 비선형 함수를 다루는 방법은 여러 가지가 있습니다. 비선형 함수는 일반적으로 데이터 분포에서의 패턴을 잡아내기 위해 사용됩니다. 선형 함수로는 잘 설명할 수 없는 데이터 분포를 설명하기 위해서는 비선형 함수를 사용해야 합니다. 여기서는 주로 신경망을 활용하는 방법을 설명하겠습니다. 신경망을 사용하는 방법 신경망은 여러 개의 비선형 함수를 사용하여 복잡한 함수를 근사하는 모델입니다. 각 층은 비선형 함수(활성화 함수)를 적용하여 입력 데이터를 변환합니다. 이를 통해 신경망은 다양한 함수를 근사할 수 있습니다. 따라서, 신경망을 이용하여 비선형 함수를 근사할 수 있습니다. 소프트맥스 함수 소프트맥스 함수(Softmax function)는 입력된 벡터를 각 원소의 확률값으로 변환해주는 함수입니다..
경사 하강법(Gradient Descent)은 기계 학습과 최적화 문제에서 매우 중요한 알고리즘 중 하나입니다. 경사 하강법은 함수의 기울기(gradient)를 이용하여 함수의 최솟값을 찾는 최적화 기법입니다. 경사 하강법은 다음과 같은 단계로 이루어집니다. 임의의 시작점을 선택합니다. 함수의 기울기를 계산합니다. 기울기가 감소하는 방향으로 이동합니다. 반복합니다. 즉, 새로운 위치에서 다시 기울기를 계산하고, 이동합니다. 이를 반복하여 함수의 최솟값에 가까워집니다 이 알고리즘은 반복을 할수록 함수의 값이 점점 작아지므로, 어느 정도 반복을 하면 최적화된 값을 찾을 수 있습니다. 경사 하강법의 속도는 학습률(learning rate)에 따라 결정됩니다. 학습률이 너무 작으면 최적점에 도달하는데 시간이 오..