no image
시계열 분해
시계열 패턴의 이해 - 3 요인 : 추세(trend) + 계절성(seasonality) + 주기성(cycle) 추세 : 데이터가 장기적으로 증가 또는 감소할 때 나타나는 패턴 주기성 : 고정된 빈도가 아닌 형태로, 중기적으로 증가 또는 감소하는 모습을 보일 때 드러나는 패턴계절성 :  1달, 1년 등 특정한 때에 단기로 나타나는 계절성 요인이 시계열 패턴에 영향을 줄 때 드러나는 패턴 + 그 외 불규칙 요인 : 측정 및 예측이 어려운 오차에 의한 변동  성분을 분해할 수 있는 모형 크게 2가지 : 가법모형 & 승법모형  [ 가법모형 ]-  yt=St+Tt+Rt-  yt가 원래 데이터, St가 계절 성분, Tt가 추세 - 주기 성분, Rt가 residual이다.  [ 승법모형 ]-  yt=St*Tt*Rt-..
2024.07.22
no image
[시계열] 스무딩 기법들
0. 일단 time series data에 대해 스무딩 (평활) 기법을 적용하려면 계절성을 제거해야 한다.  1. 단순 이동평균  : Simple Moving Average window 사이즈 = k일때현 시점 포함 k개의 과거 데이터에 대한 평균값을 이용  당연히 window size : k가 커질수록 변동성이 감소하지만 lagging 현상이 발생하고 데이터의 움직임에 대한 섬세함이 떨어진다는 단점이 있다. 순간적인 변화에 대응하는 것이 중요하고, 이에 민감해야 한다면 트레이드 오프를 고려하여 적절한 window size를 정하는 것이 중요할 수 있다.  또, '평균'이라는 통계치가 outlier에 굉장히 취약하게 반응한다는 것이 잘 알려져 있다. 이런 이유로 어떤 경우에는 평균값 대신 median값을..
2024.06.29
no image
WandB 사용법
출처 : 1. https://pebpung.github.io/wandb/2021/10/06/WandB-1.html 2. https://aws.amazon.com/ko/what-is/mlops/ 3.https://colab.research.google.com/github/wandb/examples/blob/master/colabs/intro/Intro_to_Weights_&_Biases.ipynb#scrollTo=R_sPncPab9d6 4.https://colab.research.google.com/github/wandb/examples/blob/master/colabs/huggingface/Optimize_Hugging_Face_models_with_Weights_&_Biases.ipynb#scrollT..
2024.03.02
no image
차원 축소
1. 차원이 크면 생기는 문제점 차원이 커질수록 (1) 데이터 포인트들 간 거리가 크게 증가 (2) 데이터가 희소화됨 (sparse) 데이터 포인트들 간 거리에 기반한 머신러닝 알고리즘이 무력화됨 + 그리고 피처가 많을 경우 개별 피처간에 상관관계가 높아 선형 회귀 같은 모델에서는 다중 공선성 모델로 예측 성능이 저하될 가능성이 높음 2. 차원을 축소하면 장점 - 학습 데이터 크기를 줄여서 training 시간을 절약 - 불필요한 피처들을 줄여서 모델 성능 향상에 기여할 수 있음 (항상 향상되는건 아님) - 다차원의 데이터를 3차원 이하의 차원 축소를 하면 시각적으로 쉽게 데이터 패턴을 인지할 수 있음 3. 차원 축소의 목표 원본 데이터의 정보를 최대한 유지하면서 차원을 축소하기 4. 차원 축소 (1) ..
2023.10.29
no image
앙상블 학습 - Bagging
앙상블 학습 : 여러 개의 분류기를 생성하고 그 예측을 결합 - 보다 정확한 예측을 도출 목표 : 다양한 분류기의 예측 결과를 결합하여 단일 분류기의 예측 결과보다 신뢰성을 높임 유형 : ▶ 보팅 : 서로 다른 알고리즘을 가진 분류기가 동일 데이터 셋을 가지고 투표로 최종 예측 결과 결정 (hard/soft) ▶ 배깅 : 서로 같은 알고리즘을 가진 분류기가 각각 다른 데이터 샘플링으로 투표를 통해 최종 예측 결과 결정 ▶ 부스팅 : 여러 분류기가 순차적으로 학습을 진행하면서 앞의 분류기가 틀리게 예측한 데이터에 가중치를 부여하면서 학습 진행 Bagging의 대표적인 알고리즘 : Randomforest ▶ decision tree(통계적 가정 X, 비모수)를 기본 모델로 이용 ▶ 여러 개의 decision..
2023.09.25
Decision Tree : 가지치기 (pruning)에 대하여
가지치기에는 크게 2 종류가 있다. 가지치기는 과적합을 막아 새로운 데이터 (test data set)에 대한 실제 예측 정확성을 높임을 목표로 한다. 1. 사전 가지치기 (Pre-Pruning) 결정 트리가 다 자라기 전에 알고리즘을 멈추는 방법 나무의 최대 깊이 (max_depth), 잎의 최대 개수 (max_leaf_nodes), 노드가 분할하기 위한 데이터의 최소 개수 (min_samples_split) 등을 제어한다. 2. 사후 가지치기 (Post-Pruning) 결정 트리를 끝까지 그린 후 밑에서부터 가지를 쳐내는 방법 리프 노드의 불순도가 0인 상태의 트리를 생성한 후, 적절한 수준에서 리프노드를 결합한다. 여기서 내가 궁금했던 점 Q. 사후 가지치기에서 유의미하지 않은 노드를 정리하는데, ..
2023.09.15
no image
Decision Tree : scikit learn의 feature_importances_는 어떻게 계산된 것일까? + Permutation Importance
they are computed as the mean and standard deviation of accumulation of the impurity decrease within each tree - scikit-learn page- 피처가 트리 분할 시 지니 계수(불순도)를 얼마나 효율적으로 잘 개선시켰는지를 정규화된 값으로 표현한 것. 1. feature importance를 왜 알아야 하는가? AI model에는 해석가능한 모델의 특성과 (Interpretability) 설명가능한 모델의 특성이 (Explainability) 있다. Interpretability in AI: ability to understand the decision-making process of an AI model 왜 그 ..
2023.09.08
no image
Decision Tree : 데이터 분할에서 '균일도'(impurity)에 대하여
결정트리가 데이터를 split하는 기본 원리는 '균일도'를 기본으로 함. '균일도' 또는 '혼잡도'를 나타내기 위해 사용하는 지표들 중 (1) 엔트로피 (entropy) 과 (2) 지니계수 (gini index)에 대해 다뤄보겠다. 내가 decision tree를 구현하기 위해서 사용하고 있는 scikit-learn에서는 CART 알고리즘을 이용하고, CART 알고리즘은 지니계수를 이용하여 데이터를 split함. Tree Algorithms : ID3, C4.5, C5.0, CART ID3 : creates a multiway tree, finding for each node (i.e. in a greedy manner) the categorical feature that will yield the la..
2023.09.07
no image
PR Graph 성능 평가
Precision - Recall curve analysis 궁금한 점 : AUC는 비교할 수 있는 지표 (기준으로 Random Classifier : 0.5) 가 있는데, PR Curve는 ? 먼저 위와 같이 베이즈 정리를 이진분류기에 적용해보자 . 만약 우리의 classifier가 random classifier이라면 실제 class가 positive인 사건과 (Y=1) classifier가 positive로 예측하는 사건 (Y'=1)이 독립이므로 정확히 실제 전체 데이터 수 대비 positive인 데이터의 수 비율만큼 positive 예측한 데이터가 실제로 positive이게 되므로, 이 때 precision은 P/N으로 constant하게 된다. 이렇게 y-axis (precision)이 일정한 ..
2023.09.07