본문 바로가기

AI65

[statsmodels] variance_inflation_factor() - VIF statsmodels.stats.outliers_influence.variance_inflation_factor 함수는 다중 선형 회귀 분석에서 다중공선성(Multicollinearity)을 평가하는 데 사용되는 함수입니다. 이 함수는 statsmodels 라이브러리의 statsmodels.stats.outliers_influence 모듈에 포함되어 있습니다. 시그니처 시그니처(함수의 형태)는 다음과 같습니다. variance_inflation_factor(exog, exog_idx) exog: 설명 변수(explanatory variables 또는 독립 변수)로 구성된 데이터 프레임이나 배열입니다. 이 변수들 간의 다중공선성을 평가하려는 데이터 세트입니다. exog_idx: 평가하려는 설명 변수의 인덱.. 2023. 9. 7.
[patsy] dmatrices patsy 모듈의 dmatrices 함수는 데이터를 통계 모델링을 위한 디자인 행렬(design matrix)로 변환하는 데 사용되는 함수입니다. 이 함수는 주로 회귀 분석 및 통계 모델링을 수행할 때 독립 변수와 종속 변수를 준비하기 위해 활용됩니다. 시그니처 dmatrices 함수의 시그니처는 다음과 같습니다: patsy.dmatrices(formula_like, data, eval_env=0, NA_action='drop', return_type='matrix') formula_like: 종속 변수와 독립 변수의 관계를 지정하는 문자열 형식의 공식(formula)입니다. 이 공식은 R의 모델링 언어와 유사한 형식을 가지며 종속 변수와 독립 변수 간의 관계를 정의합니다. data: 데이터 프레임 또는.. 2023. 9. 7.
[NumPy] nditer() np.nditer 함수는 NumPy 라이브러리에서 다차원 배열을 반복하는 데 사용되는 강력한 도구입니다. 이 함수를 사용하면 배열의 각 요소를 순회하고 조작할 수 있으며, 다차원 배열을 효과적으로 다룰 수 있습니다. np.nditer 함수의 주요 시그니처는 다음과 같습니다 numpy.nditer(arrays, flags=['readwrite'], op_flags=None, op_dtypes=None, order='K', casting='safe', op_axes=None, itershape=None, buffersize=0) 시그니처 arrays (필수 매개변수): 반복하려는 배열이나 배열들의 리스트를 지정합니다. 여러 배열을 지정할 수 있으며, 이들은 동시에 반복됩니다. flags (옵션): 반복 동작.. 2023. 9. 7.
모델별 적합한 상황과 장단점 각 모델의 적합한 상황과 장단점에 대해 설명해드리겠습니다. 선형 모델 (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.