본문 바로가기

Codestates AI 부트캠프/1. Introduction to Data Sceince

(10)
[기초 수학] 3-4 Gradient Descent(경사하강법) 1. 미분 함수를 작게 나누는 것. 함수를 대체 어떻게 나눈다는 말인가? x의 값을 아주아주아주 미세하게 변화시켰을 때, f(x) 값이 어떻게 변하는지 본다는 것이다. 사실상 x의 변화값이 너무너무너무너무 작기 때문에 '점의 기울기'라고 볼 수도 있다. 아래는 미분의 큰 원칙 네가지. 2. 경사하강법 예측값과 실제값 사이의 차이를 나타내는 오차함수를 그래프로 그려본다면, 이 차이가 가장 적은 지점을 찾아 해당하는 독립변수를 찾고싶을 것이다. 그래서 그 지점을 찾기위해 미분을 이용한다. 이후 교육과정에서 자세히 다뤄질 예정이니, 어떤 것인지만 알고 넘어가도록 한다.
[DS 기초] 3-3 clustering clustering 수많은 데이터들을 군집화하는 일. 예를 들어, 온라인 쇼핑몰 고객을 한달동안 방문 빈도와 총 구매건수를 통해 적극적 유저와 비적극적 유저, 유령회원 등을 나눌 수 있다. 또, 머신러닝 중 데이터가 분류가 되어있지 않은 경우에 클러스터링을 통해 자동으로 라벨을 붙여줄 수도 있다. K-Means Clustering 클러스터링도 여러 방법이 있지만 오늘 배울 방법은 K-Means Clustering이다. 만약 데이터를 4개의 집단으로 나누고 싶다면, 먼저 4개의 임의의 점을 찍는다. 그리고 가까운 데이터들을 해당 클러스터로 할당한다. 클러스터별로 평균을 구해 다시 4개의 점을 찍고, 또 가까운 점들을 배정한다. 연속적으로 위 행위를 반복하다보면 평균으로 찍힌 점의 위치가 변하지 않고, 특정..
[기초 수학] 3-2 PCA 1. 공분산과 상관계수 공분산 - 변수 간의 연관성을 보여주는 지표 - 두 변수에 대하여 한 변수가 변화할 때, 다른 변수가 어떠한 연관성을 갖고 변하는 지를 나타낸 값 - 공분산이 음수라면 두 변수가 반대 방향으로 움직이는 경향성, 양수라면 같은 방향으로 움직이는 경향성을 가진다고 볼 수 있다 - 공분산의 절댓값이 클수록 두 변수의 연관성도 크다고 볼 수 있다 - 다만 연관성이 같더라도 변수 자체의 값(스케일)이 크면 공분산이 크게 나온다 #공분산 구하기 df.cov() #dataframe 형태로 출력 np.cov(df.T) #array 형태로 출력 상관계수 - 공분산을 두 변수의 표준편차로 나눈 값 - 위에서 변수의 스케일에 따라 공분산이 달라진다고 했는데, 그 부작용을 제거할 수 있는 지표 - 1에..
[기초 수학] 3-1 기본 선형대수 1. list와 array 그리고 set list - 파이썬 기본 배열 - 하나의 list 안에 서로 다른 자료형을 담을 수 있다 - 수치적 연산 불가 array - numpy 배열 - 하나의 array 안에는 동일한 자료형들만 담을 수 있다 - 수치적 연산 가능 (array 내 평균 구하기, 다른 array와의 덧셈-뺄셈 등) a = [1,2,3] array_a = np.array(a) set - 순서가 없다 - 자료간 중복을 허용하지 않는다 2. 선형대수 선형대수를 이용해 컴퓨터에 데이터를 이해시키고 그 속의 패턴을 설명한다. a. 스칼라 : 상수 b. 벡터 : 1차원 형태의 배열 벡터의 크기(norm, length, magnitude) - 벡터의 길이를 나타내므로 음수가 될 수 없음 벡터의 내적(D..
[통계학] 2-4 AB test AB 테스트 사용자 경험 연구 방법론. 예를 들어, 인터넷 쇼핑몰에서 '제품 구매하기' 버튼의 자리를 왼쪽에서 오른쪽으로 옮기려고 한다. 실험기간 동안 쇼핑몰에 접속한 50%에게는 '원래 버전'을, 또 다른 50%에게는 '새 버전'을 보여주며 전환율을 비교해보는 것이다. 앞에서 배운 귀무가설과 대립가설을 세워 비교하는 방식과 거의 비슷하다. z-test sm.stats.proportions_ztest 함수를 이용하면 p-value를 바로 구할 수 있다 # H0 : μ old >= μ new import statsmodels.api as sm # 버튼을 클릭한 방문자수 구하기 old_convert = df.query('Page == "old"').전환율.sum() new_convert = df.query(..
[통계학] 2-3 Hypothesis Test / p-value 활용 참고 https://hello5555.tistory.com/21 1. 가설 검정 알고자하는 질문을 두개의 대립되는 가설로 세우고, 데이터를 통해 검증하는 과정. 2. 1종 오류와 2종 오류 1종 오류(False Positive, alpha) : 귀무 가설이 참인데 기각한 경우 2종 오류(False Negatie, beta) : 귀무 가설이 거짓인데 기각하지 않은 경우 3. 단측 검정과 양측 검정 단측 검정 : 범위를 지정하여 A집단 평균이 해당 범위에 속할 확률을 검정한다 # 예시 # H0 : A 100 양측 검정 : A집단과 B집단이 같은 효과를 보였는지, 다른 효과를 보였는지 검정한다. # 예시 # H0 : A == B # H1 : A != B **주의** 가설을 세울 때, A와 B는 샘플의 통계량이..
[통계학] 2-2 Central Limit Theorem 참고 https://hello5555.tistory.com/19 1. 기술 통계와 추리 통계 기술 통계 : 우리가 수집한 데이터를 요약, 묘샤 그리고 설명하는 통계 기법 추리 통계: 수집한 데이터를 바탕으로 모집단에 대해 추론하는 통계 기법 2. numpy.random을 통해 모집단 만들어보기 import numpy as np import random import matplotlib.pyplot as plt np.random.seed(10) #여기서 seed는 '코드' 같은 것이다. 랜덤으로 값을 불러오지만, seed값을 똑같이 입력하면 같은 값이 출력된다 zero_or_one = np.random.choice([0, 1], size=5000, p=[.22, .78]) #0과 1 둘 중에 하나를 랜덤으로..
[통계학] 2-1 Bayes' Theorem 1. 이항 분포 정의 독립적으로 반복되어지는 행위에 의해서, 결과값이 2개 옵션을 가지는 사건의 확률을 결정하는 함수. 이항 분포의 조건 ① n번의 독립시행 ② 관심 사건 A가 일어날 확률 p / A가 일어나지 않을 확률 (1-p) ③ n번 중 A가 일어난 횟수 k 확률 질량 함수 독립시행 n번 중 사건 A가 k번 일어날 확률 함수는 아래와 같다 코드로도 구현해볼 수 있다 from scipy.stats import binom k=35 n=100 p=0.75 rv = binom.pmf(k, n, p) rv 2. 조건부 확률 주어진 사건이 일어났을 때 다른 한 사건이 일어날 확률을 뜻한다. 사건 B가 일어났을 때, 사건 A가 일어날 조건부 확률은 P(A|B)로 표기한다. 아래 유튜브에는 조건부 확률과 베이즈..