이론/ML 기초

이론/ML 기초

이상치(Outlier)

이상치(Outlier) 아웃라이어란 데이터 상의 다른 값들의 분포와 비교했을때 비정상적으로 떨어져있는 관측치를 말한다. 이상치 찾는 간단한 방법 1. 사분위수 2. 정규분포 3. 도메인(이건 간단한건 아님) 4. 시각화 시각화를 이용한 방법 boxplot, scatterplot을 사용해 시각화를 하고, 나온 그림 상 이상한 부분을 눈으로 찾는 방법을 말한다. 보통 시각화단계에서 나타난 이상치들은 정규분포, 사분위수 관련 공식으로도 찾아지기는 한다. # boxplot(단변수), sactterplot(이변수) 정규분포를 이용한 방법 mean +- 3std 정규분포 공식을 이용한 것으로 양 끝쪽 부분인 2.5%, 97.5% 외를 이상치로 판별하는 방법을 말한다. 사분위수를 이용한 방법 3Q or 1Q +- 1..

이론/ML 기초

결측치 처리 방법

결측치 처리 방법 예전에 정리해 뒀던 결측치 처리 방법을 저장할 겸 올려보고자 한다. 결측 데이터의 종류 1. 완전 무작위 결측(MCAR : Missing completely at random) : 다른 변수들과 아예 상관이 없는 경우 2. 무작위 결측(MAR : Missing at random) : 결측 데이터가 다른 변수와 연관은 있지만 그 변수의 결과와는 관계 없는 경우 3. 비 무작위 결측(MNAR : Missing at not random) : 결측 데이터가 다른 변수와 연관이 있는 경우 결측치 확인, 시각화 방법 간단한 방법 df.isna().sum().plot() # 귀찮을 때 가장 많이 쓰는 방법 isna() or isnull() 도 가능하다. missingno 패키지 pandas 데이터프..

이론/ML 기초

변수 선택 기법(Feature Selection Method)

변수 선택 기법(Feature Selection Method) 모델을 돌릴 때 쓸모 없는 변수들을 제거함으로써 모델의 속도 개선, 오버피팅 방지 등의 효과를 얻기 위해 사용하는 방법. Feature Selection의 3가지 방법 1. Wrapper method : 모델링 돌리면서 변수 채택 2. Filter Method : 전처리단에서 통계기법 사용하여 변수 채택 3. Embedded method : 라쏘, 릿지, 엘라스틱넷 등 내장함수 사용하여 변수 채택 내 방식대로 정리해보고자 한다 정리 Filter Method 전처리단에서 주로 사용할 만 하며 통계기법등을 사용하여 상관관계가 높은 변수나, 성능이 높은 변수를 추출하는 방법 분산 피쳐가 종속변에 따라 그다지 변하지 않는다면 예측에도 도움이 되지 않..

이론/ML 기초

랜덤포레스트(RamdomForest, RF), 배깅

랜덤포레스트(RamdomForest, RF) 의사결정나무에 배깅 + alpha을 적용시킨 트리 기반 모델 alpha? 의사결정나무는 모든 변수를 가지고 정보 이득이 가장 높은 분할 지점을 결정하지만, 랜덤포레스트는 알고리즘의 각 단계마다 모든 변수가 아닌 랜덤하게 결정된 부분집합의 변수들에서 선택하게 된다. 이 분할을 위해 부트스트랩 샘플링, 배깅이 추가된다. 이론 랜덤포레스트 알고리즘 1. 데이터를 복원추출을 사용하여 부트스트랩 샘플링한다. 2. 모든 변수에 대해 비복원 랜덤추출로 p(p

이론/ML 기초

트리 모델, 재귀 분할, 불순도 지표

트리 모델 간단하게 설명하면 회귀분석을 연속형이 아닌 범주형 변수를 예측하기 위해 사용하는 방법이다. 보통 의사결정나무(Decision tree)로 불린다. 트리 모델은 if else 문들을 모아놓은 집합체라고 할 수 있는데, 처음부터 하나의 질문에 if else, 이후에 가지를 뻗어나가며 마치 나무를 거꾸로 그린것과 같이 보여지게 된다. 이론 재귀 분할(recursive partitioning) 트리 모델을 만들 때에 사용하는 알고리즘은 재귀 분할(recursive partitioning)이다. 재귀 분할을 간단하게 설명하면 어떤 데이터의 예측변수 X(1,2,...,n)에 대해 1. 각 예측변수 Xj에 대해 어떤 질문(s)을 넣어 모든 데이터에 대해 >= s ,

이론/ML 기초

K 최근접 이웃(K nearest neighbors : KNN)

K 최근접 이웃(K nearest neighbors : KNN) 거리를 기반으로 가장 가까운 최근접 이웃의 클래스를 또는 그 평균을 할당하는 기법으로 간단하다는 장점이 존재한다. 거리를 사용해야하기 때문에 예측변수들은 모두 수치형 변수여야만 한다. 주로 K 최근접 이웃 보다는 KNN으로 불린다. 설명 알고리즘 원리 1. 예측변수들이 유사한 K개의 레코드를 찾는다. 2(분류). 유사한 레코드들 중 다수가 속한 클래스틀 찾은 후 새 레코드를 해당 클래스에 할당한다. 또는 그 확률값을 할당한다.(유사 레코드가 1인 경우가 23/25라면 이 확률을 할당) 2(예측, KNN regression 이라고도 한다). 유사한 레코드들의 평균을 찾아 새로운 레코드의 예측값으로 사용한다. 용어 이웃(neighbors) : ..

이론/ML 기초

분류 모델 평가지표

분류 모델 평가지표 분류모델에서 사용하는 평가지표들을 정리해보고자 한다. 보통 어떤 평가지표를 사용할 지는 고객이 있는 경우에는 사이트에 따라 고객이 원하는 것이 무엇인지, 아니면 주제의 특성에 따라 정해지게 된다. 예를 들어 현재 진행중인 FDS 프로젝트에서는 Precision을 중요하게 보는 것 처럼 각각의 주제에 맞춰 알맞은 지표를 사용해야 한다. 용어 혼동행렬 분류에서 사용하는 테이블로 간단하게 유형별 예측, 오류의 수를 보여주는 행렬 yhat = 1 yhat = 0 y = 1 True Positive(TP) False Negative(FN) y = 0 False Positive(FP) True Negative(TN) 참고 : yhat = y라고 예측한 값 정확도(Accuracy) : (TP + ..

이론/ML 기초

로지스틱회귀(Logistic Regression)

로지스틱회귀(Logistic Regression) 간단하게 설명하면 회귀분석을 연속형이 아닌 범주형 변수를 예측하기 위해 사용하는 방법이다. 이론 다중회귀분석은 Y = B0 + B1X1 + ... + BnXn으로 표현된다. 여기서 목표하고자 하는 종속변수가 1일 때의 조건부 확률을 종속변수로 두면 P(Y=1|X) = B0 + B1X1 + ... + BnXn 으로 표현할 수 있다. 여기서 좌측의 조건부 확률은 범위가 0~1, 우측의 회귀식은 -inf ~ inf로 두 식을 같게 하기 위해 좌측을 변경해주어야 한다. 오즈비(Odds ratio)는 한 확률에 대해서 P / 1-P로 표현한 식인데 여기다 로그를 씌우면 로짓함수가 된다. 시그모이드 함수(로짓함수)는 ln(P / 1-P)로 이를 종속변수로 두면 좌,..

이론/ML 기초

선형판별분석(LDA)

선형판별분석(Linear Discriminant Analysis, LDA) 잘 쓰이는 방법은 아니다. 판별분석에는 보통 예측변수가 정규분포를 따른다는 가정이 있지만, 실제로는 정규분포가 아니더라도, 연속형이 아닌 바이너리라도 어느정도 잘 동작한다고 한다. 이론 두 개의 연속형 변수를 가지고 종속변수를 예측한다고 할 때, LDA는 클래스 간 분산 / 클래스 내부 분산의 비율을 최대화하는 것을 목표로 한다. 이 비율을 최대화하는 Wx*X + Wz*Z를 찾는다. 원리를 조금 더 설명하면, 클래스 간 분산(사이 제곱합)이 커진다면 두 개의 클래스 간의 간격이 커진다는 뜻으로 보면 되고, 클래스 내부 분산(내부 제곱합)이 작아진다면 한 클래스에서 값들이 뭉쳐있다는 뜻으로 보면 된다. 사이 제곱합을 최대로, 내부 ..

이론/ML 기초

나이브 베이즈(Naive Bayes)

나이브 베이즈(Naive Bayes) 조건부 확률을 사용하는 분류 모델 파라미터 추정은 최대우도추정법(MLE)을 사용한다. 장점1. 적은 수의 데이터로도 훈련 가능하다.2. 간단하지만 꽤 높은 성능을 보인다. 이론나이브 베이즈의 나이브(Naive) 뜻은 크게 생각하지 않고 작성했다로, 별 고려 없이 무언가를 했다로 보면 비슷하다. 보통 일을 할 때 나이브하게 ~를 했다라고 하는 그 나이브와 같다.그럼 왜 나이브 베이즈에 Naive가 있을까?그 이유는 나이브 베이즈는 모든 변수가 서로 독립이라는 가정을 하기 때문이다.(실제로 독립이 아니더라도)나이브 베이즈에 Bayes가 들어가는 이유는 베이즈 정리를 기초로 하기 때문이다.* P(A|B) = P(AUB)/P(B) = P(B|A)P(A)/P(B) 데이터에는 ..

새우까앙
'이론/ML 기초' 카테고리의 글 목록