본문 바로가기

데이터 분석75

나이브 베이즈(Naive Bayes) - 베이즈 정리 이번 포스팅에서는 베이즈 정리, 나이브 베이즈 가정 및 이슈, 그리고 나이브 베이즈 분류에 대해 설명하도록 하겠습니다. 저번 포스팅에서 나이브 베이즈의 기본 지식인 확률 분포와 Likelyhood에 대해 알아봤다면 이번에는 나이브 베이즈가 태동된 역사적 배경과 이슈 등에 대해 살펴보겠습니다. 확률에서 베이즈 정리(Bayes Theorem) 통계학에서 역사적으로 확률에 대한 관점은 베이지안 주의와 빈도 주의 두 가지가 있었습니다. 인식적 불확실성 : 비가 올 확률 → 베이지안 우연적 불할실성 : 주사위 확률 → 빈도, 베이지안 여기서 주간적으로 느끼는 확률을 인식적 확률이라고 하고 통계적으로 사전 확률이라고 말합니다. 그래서 사전 분포를 만드는 과정이 중요하다고 할 수 있습니다. 사전 분포를 만드는 과정이.. 2023. 10. 24.
나이브 베이즈(Naive Bayes) - 확률적 생성 모델, Likelihood 이번 포스팅 부터 나이브 베이즈(Naive Bayes) 분류에 대해 하려고 합니다. 우선 나이브 베이즈를 들어가기 전에 확률적 생성 모형이라는 기본 지식부터 알아야 합니다. 분류(Classification) 모형의 종류 분류 모형의 종류를 이야기 하려면 우선 조건부 확률에 대한 개념을 알아야 합니다. 조건부 확률은 어떤 사건이 일어나는 경우에 다른 사건이 일어날 확률을 말합니다. 즉 어떤 조건일때 일어날 확률입니다. 이 조건부 확률을 이용하는지 아니면 경계면을 이용하는지에 따라 확률적 모형과 판별함수 모형으로 분류할 수 있습니다. 1. 확률적 모형 주어진 데이터에 대해 각 Class가 정답일 조건부 확률(Conditional Probability)을 계산하는 모형 확률적 판별 모형 : 직접 조건부 확률 .. 2023. 10. 23.
불균형 데이터(Data Imbalance) 처리 - 모델 조정 방법(Cost-Sensitive,Focal loss,Novelty Detection 이번 포스팅은 불균형 데이터 해소 기법 중 마지막인 알고리즘 수준의 방법입니다. 알고리즘 즉, 모델을 조절해서 불균형을 보완하는 방법을 다루도록 하겠습니다. Under Sampling과 Over Sampling은 데이터를 조정하는 방법이라고 하면 이번 방법은 모델을 이용해 불균형을 해소하는 기법입니다. 비용 기반 학습(Cost-Sensitive Learning) 특정한 데이터는 분류 경계선으로부터 매우 근접해 새로운 데이터가 들어왔을 때 분류경계선이 조금이라도 움직인다면 오분류될 가능성이 높은 클래스 데이터가 존재합니다. 이럴 경우 이상 환자를 정상으로 분류한 오류는 치명적이라고 할 수 있습니다. 이 때, 오분류할 가능성 즉, Cost값에 기반해 Cost값이 높은 클래스 데이터일수록 그 데이터를 분류하는.. 2023. 10. 23.
불균형 데이터(Data Imbalance) 처리 - 오버 샘플링(Over Sampling), Resampling,SMOTE,Borderline- 이번 포스팅은 불균형 데이터 처리 방법 중에 오버 샘플링에 대해 살펴보겠습니다. Over Sampling은 Imbalance 데이터를 처리할 때 가장 많이 사용하는 방법입니다. 오버 샘플링(Over sampling) 소스 클래스의 샘플을 증가시켜 소수 클래스와 다수 클래스 크기를 동일하게 만드는 기법입니다. 일반적으로 오버 샘플링을 했을 때 대체적으로 효과가 있습니다. 하지만 램던 오버샘플링(소수 샘플 복제)은 동일한 정보를 복사하기 때문에 오버피팅을 유발할 수 있으니 주위해야 합니다. Resampling Resampling은 소수 범주의 데이터를 단순히 복제하여 데이터의 수를 늘리는 방법입니다. 아래 그림에서 확인 할 수 있듯이 부정(-) 클래스에 동일한 위치에 건수만 증가하는 방식입니다. 보시다시피 .. 2023. 10. 21.
불균형 데이터(Data Imbalance) 처리 - 언더 샘플링(Under Sampling),Tomek Links,CNN,OSS 이번 포스팅에서는 불균형 데이터 처리 기법 중에 Under Sampling에 대해 살펴보도록 하겠습니다. 언더 샘플링은 다수 클래스의 데이터 수를 줄여서 클래스 분포의 균형을 맞추려는 방법입니다. 언더 샘플링(Under Sampling) 언더 샘플링은 다수 클래스의 샘플을 소수 클래스의 분포 비율과 일치하도록 무작위로 제거하는 방법입니다. 두개의 클래스를 맞추기 위해 한쪽 데이터를 제거하기 때문에 가진 정보를 잃어버리게 됩니다. 이것은 데이터가 편향될 수 있기 때문에 작은 데이터에서 선호하지 않는 방법입니다. 단순히 데이터를 제거하기 때문에 오버 샘플링보다 언더 샘플링이 상대적으로 비용이 더 적게 듬 부정 클래스가 다수일 경우는 일부를 줄이는 것이 허용됨, 되도록 하지 않는 경우임 주로 긍정 클래스의 정.. 2023. 10. 21.
불균형 데이터(Data Imbalance) 처리 및 해결 방법(2가지 측면) 이번 포스팅에서는 불균형 데이터는 어떤 데이터를 말하는 것이고, 그 해결 방법은 어떤 기법이 있는지 다루겠습니다. 불균형 데이터는 'Data Imbalance'라고 하고 업무적으로 발생할 수 밖에 없는 경우들이 있습니다. 단순히 많은 데이터 수집으로 해결될 문제가 아니라는 뜻이죠. 데이터 불균형이란? 불균형 데이터는 보통 타겟변수(Y)가 어느 한쪽이 너무 클 경우 불균형 데이터라고 합니다. 정상 범주의 관측치 수와 이상 범주의 관측치 수가 현저히 차이나는 Data를 Imbalance하다고 합니다. 예를 들어, 아래 3개의 업무에서 불균형 현상은 현실속에서 발생할 수 밖에 없죠. 이 부분을 데이터를 가공해 좀 더 정확도를 높이는 작업이 필요합니다. 불균형 현상 (의료 서비스) 낙상 환자가 낙상이 발생하지 .. 2023. 10. 20.
분류 모델 성능 평가 - Confusion Matrix 쉬운 설명, threshold, cut-off 이번 포스팅에서는 앞에서 배운 Confusion Matrix에 대해 정리하는 차원에서 Case Study를 해보겠습니다. 우선 생각해 볼 문제가 있습니다. 95%가 정상이고 5%만이 병에 걸린다고 할때 모델이 무조건 정상이라고 예측하면 95% 정확도가 나옵니다. 과연 제대로된 평가일까요? 우리는 실제 병이 걸릴 확률을 예측하는것이 더 중요합니다. 단지 Accuracy 만으로 평가 할 업무라는 것을 알 수 있습니다. 문제 10명의 환자중 심근경색을 예측하였습니다. Recall, Precision, Accuracy은 어떻게 구할까요? 정답과 설명 Recall은 실제 신근경색에 걸린 사람을 맞다고 예측한 비율이니까 실제로 걸린사람 4명 중 예측까지 맞은 경우는 빨간색 점선으로 표시한 1명입니다. 1/4 = R.. 2023. 10. 20.
분류 모델 성능 평가 - Confusion Matrix(정확도,정밀도,재현율,F1-score,민감도,특이도,ROC,AUC) 이번 포스팅에서는 분류 모델에 대한 대표적인 성능 평가 지표인 confusion matrix에 대해 살펴보도록 하겠습니다. 이 지표는 혼동행렬이라고도 하는데, 정확도 정밀도, 재현율, 민감도, 특이도 등 여러가지 지표를 같이 볼 수 있습니다. 왜 이렇게 다양한 지표를 사용하는 것일까요? 이유는 여러 측면에서 예측 정확도를 확인하고 해당 case에 맞는 평가방법을 적용하기 위해서입니다. 업무에 따라 recall은 좀 낮아도 되는데, precision이 높아야 한다던지, 아니면 반대의 경우라던지 각각 다를 수 있습니다. 우리는 이 지표들을 조절해 가며 알고리즘을 업무에 맞게 적용할 수 있습니다. 혼동행렬(Confusion Matrix) 행렬의 각 행은 실제 클래스의 인스턴스를 나타냅니다. 중요한 것은 아래 .. 2023. 10. 19.
회귀 모델 성능 평가 - 결정계수(R-squared), Adjusted R-Squared 이번 포스팅에서는 회귀 모델 성능 평가 두번째인 결정계수(R-squared)에 대해 알아보도록 하겠습니다. R-squared의 경우 통계학적으로 추정한 선형 모형이 주어진 자료에 적합도를 재는 척도입니다. 그래서 많은 영역에서 기본적으로 확인 하는 지표이기도 합니다. 결정계수(R-Squared, Coefficient of Determination) 회귀 모델에서 독립변수(x)가 종속변수(y)를 얼마만큼 설명해 주는지 가리키는 지표로 설명력이라고 불리기도 합니다. 사용하고 있는 x 변수의 품질를 나타냅니다. 높을수록 독립변수(x)가 종속변수(y)를 많이 설명한다는 의미입니다. 예를 들어, 0.3이라면 독립변수가 종속변수의 30%를 설명한다고 생각하면 됩니다. 표현되는 값의 범위는 0~1사이이며, 일반적으로.. 2023. 10. 19.