ML in Python/Knowledge(19)
-
[Data Analysis 개념] k-Fold Cross Validation
머신러닝을 실행시키다 보면 크게 나타나는 문제 중 1. 과적합 문제 해결 2. Sample loss 문제 해결 을 위해서 존재하는 검증법이 바로 Cross Validation(교차검증법)이다. 먼저, Sample Loss 문제는 Train-(Validation)-Test 으로 데이터 셋을 나눌 때, 데이터를 나누면서 학습데이터가 적어지는 데이터 소실 문제가 발생한다. 그렇다고 온전히 갖고 있는 데이터셋을 모두 Train Set으로 돌리고 학습을 시키자니, Train(학습)데이터에만 성능이 좋은 Overfitting(과적합)이 발생한다. 이러한 상황속에서, 학습이 발생시키는 Error를 과소추정하지 않으면서 데이터의 소실을 최소화하는 방법이 바로 Cross Validation(교차검증법)이다. k-Fold..
2020.07.03 -
[Data Analysis 개념] KNN(K-Nearest-Neighbors)알고리즘
※ 이 게시글은 KNN분류에 대한 이론만 게시된 게시글입니다. KNN이란, K-Nearest-Neighbors의 약자로, 간단하게 말해서 K개의 이웃한 데이터를 기반으로 대상을 분류/회귀하는 것이다. KNN은 직관적으로 이해하기 쉽고, 수학적으로 풀어도 충분히 이해하기 쉬운 머신러닝 모델이다. 이번 게시글에서는 KNN의 원리에 대해 알아보자. 직관적 방법론 만약 아래와 같은 그림이 있다고 하자. 우리가 보고있는 녹색 점을 빨간색 또는 파란색으로 분류하려면 어떤 방식을 통해서 분류를 해야할까? 여러 방법이 있겠지만, 이 위의 데이터를 산점도의 샘플이라고 생각한다면, 녹색점이 녹색점 주변의 다른 점들과 유사한 특징을 지닌다고 생각하고, 이를 기반으로 주변 샘플들의 정보를 이용해서 녹색점을 어떤 색으로 분류할..
2020.07.03 -
[Data Analysis 개념] NaiveBayes(나이브 베이즈) 모델 - 조건부 확률 / 베이즈 정리 / Multinomial, Gaussian, Bernoulli NaiveBayes
※ 이 게시글은 나이브 베이즈 분류에 대한 이론만 게시된 게시글입니다. 만약 파이썬을 통한 구현에서만 알아보고 싶다면 아래 링크를 통해 실습과정을 확인해주시면 됩니다. https://todayisbetterthanyesterday.tistory.com/18?category=821465 [Python] Gaussian/Multinomial Naive Bayes Classification(가우시안/다항 나이브 베이즈 분류) 실습 *아래 학습은 Fastcampus의 "머신러닝 A-Z까지"라는 인터넷 강의에서 실습한 내용을 복습하며 학습과정을 공유하고자 복기한 내용입니다. 나이브 베이즈 모델은 데이터가 적을 때, 간단한 학습으�� todayisbetterthanyesterday.tistory.com 나이브 베이..
2020.07.02 -
[Data Analysis 개념] 차원의 저주
차원의 저주? " 차원이 커질수록 데이터가 Sparse하게 존재하는 문제로 인해, 학습 데이터의 대표성을 잃고 모델 학습의 성능을 저하시키는 현상 "이라고 생각한다. 그림을 통해 알아보자. 선을 보면 선의 50%가 해당되는 영역이나 2차원 평면으로 차원이 확대되었을 때, 기존의 선이 나타낼 수던 영역이 넓이로 표현되었을 때 25%로 줄어든다. 이는 3차원 공간으로 이동하면 12.5%만 해당되는 부분으로 축소된다. 이처럼 차원이 높아질 수록 분포하는 데이터의 대표성이 줄어드는 현상이 발생한다. 이는 곧 학습/예측 성능의 저하를 불러일으킨다. 더 쉽게 알아보자. 첫 번째 선에서 별(데이터)이 5개 분포하고 있다. 이는 10개 중 5개로 50%에 해당한다. 하지만, 2차원에서 이 데이터가 분포한다면, 같은 범..
2020.06.25 -
회귀계수 축소법 - Lasso, Ridge, Elastic-Net 개념
변수선택법 ※ 변수선택법으로 Forward / Backward / Stepwise 방법을 통해 유의미한 변수를 선택하여 변수의 개수를 줄이고 모델을 단순화 시키는 작업에 대해서 알아보았다. 회귀계수 축소법은 비슷해보이지만 목표가 약간다르다. 변수선택법에서는 다중회귀 분석을 진행할 때, 다중공선성과 같은 문제를 해결하기 위해 SSE를 최소화하며 변수선택을 해나가거나 또는 제거해나아가는 방식을 택했다. https://todayisbetterthanyesterday.tistory.com/10 [Python]변수선택법 실습(2) - 전진선택법/후진소거법/단계적선택법/MAPE 모델 성능 평가 (변수선택�� *아래 학습은 Fastcampus의 "머신러닝 A-Z까지"라는 인터넷 강의에서 실습한 내용을 복습하며 학습과..
2020.06.23 -
헷갈리는 통계기본 - 정확도, 정밀도, 재현율, 특이도, G-mean, F1 measure, ROC curve&AUC, Gain Chart & Lift curve 정리
추출한 훈련용 자료를 사용하여 분류 모형을 적합후 검증용 데이터를 사용하여 정확도를 평가할 때, 범주형 변수에 대해 사용되는 confusion matrix, ROC curve, gain chart, lift curve에 대해서 알아보자. 모델 성능 평가 방법 1. Confusion matrix(오분류표) 오분류표는 아래의 형태와 같다. TP(True Positive) : 실제값과 예측치 모두 True TN(True Negative) : 실제값과 예측치 모두 False FP(False Positive) : 실제값은 False, 예측은 True FN(False Negative) : 실제값은 True, 예측은 False 로 이루어진 표이다. 이 때 정분류율(accuracy) = TP + TN / TP + FN..
2020.06.09