본문 바로가기

AI/Machine-Learning43

모델별 적합한 상황과 장단점 각 모델의 적합한 상황과 장단점에 대해 설명해드리겠습니다. 선형 모델 (Linear Models) 적합한 상황 데이터가 선형적인 관계를 가질 때. 고차원 데이터셋에서 잘 작동함. 장점 계산 효율적이고 간단한 모델. 해석이 쉽고 설명력이 좋음. 단점 비선형 데이터에 대해 잘 작동하지 않음. 고차원 데이터에서 과적합 가능성이 있음. 로지스틱 회귀 (Logistic Regression) 적합한 상황 이진 분류 문제에서 효과적. 확률 기반 예측이 필요한 경우. 장점 간단하고 해석이 쉽다. 과적합을 제어할 수 있는 정규화 파라미터 사용 가능. 단점 비선형 관계를 모델링하기 어렵다. 고차원 피처 공간에서 성능이 낮을 수 있다. 의사결정트리 (Decision Trees) 적합한 상황 비선형 관계를 모델링할 때. 데이.. 2023. 9. 4.
불균형 데이터 처리 - 샘플링 불균형 데이터를 다루는 것은 기계 학습 모델을 훈련시킬 때 중요한 과제 중 하나입니다. scikit-learn의 imbalanced-learn 라이브러리는 불균형 데이터셋에 대한 다양한 샘플링, 가중치 조정 및 리샘플링 기술을 제공하여 이러한 문제를 해결하는 데 도움을 줍니다. 아래에서는 imbalanced-learn 모듈을 사용하여 불균형 데이터를 다루는 주요 기술과 함수들에 대해 간단히 설명하겠습니다. 오버샘플링 (Over-sampling) 오버샘플링은 소수 클래스의 샘플 수를 증가시켜 데이터셋의 클래스 균형을 조정하는 기술입니다. RandomOverSampler, SMOTE, ADASYN 등 다양한 오버샘플링 방법을 imbalanced-learn에서 제공합니다. RandomOverSampler Ra.. 2023. 9. 3.
시계열 데이터 분석 - ARIMA 정상성(Stationarity) 정상성(Stationarity)은 시계열 데이터에서 중요한 개념으로, 시간에 따라 평균과 분산이 일정하며 시계열 데이터의 자기상관이 시간에 독립적으로 유지되는 특성을 의미합니다. 정상성을 가진 시계열 데이터는 이전 시간과 미래 시간 사이의 관계가 변하지 않기 때문에 통계 분석이나 예측 모델링이 더 간단하고 신뢰성 있게 수행될 수 있습니다. 정상성을 만족하는 시계열 데이터는 다음의 세 가지 조건을 충족해야 합니다: 시간에 대한 평균이 일정: 시계열 데이터의 평균값은 시간에 따라 크게 변하지 않아야 합니다. 추세나 계절성과 같은 패턴이 없어야 합니다. 시간에 대한 분산이 일정: 시계열 데이터의 분산은 시간에 따라 일정해야 합니다. 데이터의 변동성이 일정하게 유지되어야 합니다... 2023. 9. 2.
[sklearn] KMeans KMeans는 데이터를 비지도 학습 방법으로 클러스터링하기 위해 사용되는 머신러닝 알고리즘 중 하나입니다. 클러스터링은 비슷한 특성을 가진 데이터 포인트들을 그룹화하는 작업을 의미합니다. 각 그룹은 "클러스터"라고 불립니다. KMeans 알고리즘은 데이터를 K개의 클러스터로 분류하며, 각 클러스터는 데이터 포인트들의 유사도를 기반으로 형성됩니다. KMeans 알고리즘의 작동 방식 선택한 클러스터 개수 K를 설정합니다: KMeans 알고리즘을 사용하려면 먼저 클러스터의 개수를 결정해야 합니다. 이는 사용자가 사전에 결정해야 하는 하이퍼파라미터입니다. 중심 초기화: 알고리즘은 초기에 각 클러스터의 중심을 임의의 데이터 포인트로 설정합니다. 할당 단계 (Assignement Step): 각 데이터 포인트는 가.. 2023. 8. 31.
[sklearn] KFold와 cross_val_score sklearn.model_selection 모듈은 Scikit-learn 라이브러리에서 제공하는 기능 중 하나로, 모델의 성능을 평가하거나 모델을 훈련 및 테스트하기 위한 데이터를 분할하는 데 사용됩니다. 여기서는 KFold와 cross_val_score에 대해 설명하겠습니다. KFold (K-Fold Cross Validation) K-Fold 교차 검증은 모델의 성능을 평가하거나 파라미터를 튜닝할 때 사용되는 일반적인 기법 중 하나입니다. 데이터를 K개의 서브셋으로 나누고, 각각의 서브셋을 차례로 검증 데이터로 사용하고 나머지를 훈련 데이터로 사용하여 모델을 K번 훈련하고 평가하는 과정을 반복합니다. 이렇게 하면 모든 데이터가 검증에 한 번씩 사용되므로 모델의 성능을 더 정확하게 평가할 수 있습니다... 2023. 8. 31.
앙상블(Ensemble) 앙상블(Ensemble)은 머신러닝에서 여러 개의 모델을 조합하여 하나의 예측 모델을 생성하는 기법을 말합니다. 이는 단일 모델보다 더 나은 예측 성능을 달성하기 위해 사용됩니다. 앙상블은 다양한 모델의 다양한 예측을 결합하여 모델의 강점을 취하고 약점을 보완하여 더 정확하고 안정적인 예측을 할 수 있도록 도와줍니다. 앙상블은 크게 두 가지 유형으로 나뉩니다: 동일 모델의 다양한 버전을 결합하는 방법과 다양한 유형의 모델을 결합하는 방법입니다. 동일 모델의 다양한 버전 결합 이 방법은 하나의 머신러닝 알고리즘을 사용하여 다양한 버전의 모델을 생성하고, 이를 결합하여 예측을 수행하는 방식입니다. 이러한 방법은 모델을 다양하게 조정함으로써 과대적합을 줄이고 안정적인 예측을 도출할 수 있습니다. 배깅(Bagg.. 2023. 8. 30.
[sklearn] 결정트리 엔트로피 클라우드 섀넌(Cloud Shannon)은 정보 이론의 선구자 중 하나로, 1948년에 "통신의 수학적 이론"이라는 논문에서 정보 이론의 기초를 제시했습니다. 이 논문에서 섀넌은 정보를 어떻게 정량화하고, 전달되는 정보의 양을 측정할 수 있는지에 대한 개념을 소개했습니다. 이러한 이론의 중요한 개념 중 하나가 "엔트로피"입니다. 엔트로피는 정보의 불확실성 또는 예측 불가능성을 나타내는 척도로 사용됩니다. 더 정확하게 말하면, 어떤 시스템이나 확률 분포에서 가능한 결과의 다양성을 측정하는 개념입니다. 엔트로피가 높을수록 가능한 결과들이 더 다양하며, 정보의 불확실성이 큽니다. 반대로, 엔트로피가 낮을수록 가능한 결과들이 제한적이며, 정보의 불확실성이 낮습니다. 정보 이론에서 엔트로피는 다음과 같은.. 2023. 8. 30.
[sklearn] K-Nearest Neighbors KNN은 "K-Nearest Neighbors"의 약어로, 지도 학습(Supervised Learning) 분야에서 사용되는 간단하면서도 강력한 알고리즘 중 하나입니다. KNN은 분류(Classification)와 회귀(Regression) 모두에 사용될 수 있습니다. 데이터 간의 유사성을 기반으로 예측을 수행하는 데 사용되며, 이웃들의 다수결 또는 평균을 통해 결과를 결정합니다. KNN 작동 방식 데이터 수집 및 전처리: 먼저, 분류나 회귀를 수행하기 위한 데이터를 수집하고 필요한 경우 전처리합니다. 데이터는 일반적으로 여러 개의 특성으로 구성되며, 각 데이터 포인트는 고유한 식별자를 가지고 있습니다. 거리 측정: KNN은 데이터 포인트 간의 거리를 측정하여 유사성을 평가합니다. 일반적으로 유클리드 거.. 2023. 8. 30.
ROC curve Receiver Operating Characteristic curve, 줄여서 ROC curve는 이진 분류 모델의 성능을 시각화하고 평가하기 위해 사용되는 도구입니다. ROC curve는 모델의 분류 임계값을 변화시킬 때, 진짜 양성률(True Positive Rate, TPR)에 대한 거짓 양성률(False Positive Rate, FPR)의 변화를 그래프로 나타냅니다. 이해를 돕기 위해, ROC curve를 만들기 위한 몇 가지 중요한 개념을 살펴보겠습니다: 진짜 양성률 (True Positive Rate, TPR): 이것은 실제 양성 샘플 중에서 올바르게 양성으로 분류된 샘플의 비율을 나타냅니다. TPR은 다음과 같이 계산됩니다: TPR = TP / (TP + FN) (여기서 TP는 진짜 양성.. 2023. 8. 30.