AI
이상치 탐지(Anomaly Detection) - Overview
이상치 탐지는 데이터 분석과 기계학습 분야에서 중요한 주제 중 하나로, 데이터에서 이상한 패턴이나 값들을 식별하는 과정을 의미합니다. 이상치는 데이터 분석의 정확성과 안정성을 저해할 수 있기 때문에 그 중요성이 더욱 커집니다. 이상치 탐지: 데이터 분석의 핵심 데이터 분석은 현대 비즈니스 및 연구 분야에서 핵심적인 역할을 합니다. 데이터는 다양한 분야에서 수집되며, 이를 분석함으로써 중요한 의사결정을 내릴 수 있습니다. 그러나 데이터에는 종종 이상치가 포함되어 있을 수 있으며, 이러한 이상치는 정확한 분석을 방해할 수 있습니다. 이상치는 다양한 형태로 나타날 수 있으며, 이러한 이상치를 식별하고 처리하는 것은 데이터 분석가나 기계학습 엔지니어에게 중요한 작업입니다. 이상치란 무엇인가? 이상치란 주어진 데..
데이터 불균형 - Over Sampling
데이터 분석 및 기계학습을 위해 데이터를 수집하다보면 데이터의 정상 범주의 관측치 수와 이상 범주의 관측치 수의 차이가 크게 나타나는 경우를 만날 수 있다. 이와 같은 상황은 매우 빈번하게 마주할 수 있다. 이러한 데이터 불균형은 왜 문제가 되는가? 우리는 데이터를 기반으로 정상을 정확하게 분류하는 것과 이상값을 정확히 분류하는 문제로 크게 나뉠 수 있다. 보통 정상인 데이터들이 다수이며 이상값이 소수이다. 일반적으로 정상을 분류하는 것보다 이상값을 분류하는 것이 더 중요한 문제로 다뤄진다. 이렇게 클래스 별로 관측치의 수가 현저하게 차이가 나는 데이터를 불균형 데이터라고 하며, 이러한 상황을 해결하기 위한 방법들을 간략하게 정리한다. 데이터 불균형을 해결하기 위한 방법은 Data-based 접근 방식과..
데이터 불균형 - Under Sampling
데이터 분석 및 기계학습을 위해 데이터를 수집하다보면 데이터의 정상 범주의 관측치 수와 이상 범주의 관측치 수의 차이가 크게 나타나는 경우를 만날 수 있다. 이와 같은 상황은 매우 빈번하게 마주할 수 있다. 이러한 데이터 불균형은 왜 문제가 되는가? 우리는 데이터를 기반으로 정상을 정확하게 분류하는 것과 이상값을 정확히 분류하는 문제로 크게 나뉠 수 있다. 보통 정상인 데이터들이 다수이며 이상값이 소수이다. 일반적으로 정상을 분류하는 것보다 이상값을 분류하는 것이 더 중요한 문제로 다뤄진다. 이렇게 클래스 별로 관측치의 수가 현저하게 차이가 나는 데이터를 불균형 데이터라고 하며, 이러한 상황을 해결하기 위한 방법들을 간략하게 정리한다. 데이터 불균형을 해결하기 위한 방법은 Data-based 접근 방식과..
[분석통계] 정규성 검정
정규성 검정 정규성 검정은 3가지 방법으로 검정을 진행한다. 검정 방법은 시각화 또는 가설 검정을 이용한 방법으로 나뉜다. 가설검정을 이용 시 귀무가설 '$H_{0}$는 모집단의 분포는 정규분포이다' 가 된다. Q-Q Plot 시각화를 이용한 정규성 검정방법 Shapiro-Wilks Test from scipy import stats stats.shapiro(df) Kolmogorov-Smirnov Test (KS-Test) KS-Test 는 누적분포함수를 비교하는 방법이다. 따라서 이론정규분포와 표본의 누적분포함수(cdf)를 비교한다. 아래 코드에서 주의할 점은 kstest 전 데이터를 표준화 전처리가 필수적으로 수행되어야 한다. from scipy import stats data = (df - df...
[분석통계] 통계적 검정 방법 간단 정리
1개의 모집단에 관한 검정 1개의 샘플 내에서의 모집단의 평균에 관한 검정 (One-sampel T-test) scipy.stat.ttest_1sample() 사용 alternative 변수에 greater(우측검정), less(좌측검정), two-sided(양측검정) 입력 from scipy import stats stats.ttest_1sample(data, popmean = mu, alternative = 'two-sided') 1개의 샘플 내에서의 모집단의 비율에 관한 검정 모집단의 데이터가 범주형인 경우 특정 범주의 발생비율이 모수이며 해당 모수를 검정하고자 한다. 비율은 근사적 정규분포를 따르기에 Z-test를 사용한다. from statsmodels.stats.proportion import..
[MLflow] MLflow Project와 Model의 차이
MLflow 에서 제공하는 기능 중 Project와 Model의 정확한 차이를 이해하지 못하는 분들이 간혹 있다. 처음 접하게 되면 차이가 어려울 수 있다. Project와 Model 모두 패키징을 제공하는 방법 같은데 왜 나뉘어져 있는지 의문이 들 수 있을 것 이다. 그래서 간략하게 정리해 보려고 한다. MLflow Project는 재사용 가능한 데이터 사이언스 코드의 패키징을 위한 표준 포맷이다. 이해하기 어려운 설명 같다. 좀 더 상세히 설명해 보면, 각 Project는 단순히 코드 또는 Git repository가 있는 디렉토리이며, 디스크립터 파일 또는 단순한 규칙을 사용하여 종속성과 코드 실행방법을 지정한다. 특정 데이터 과학 또는 기계학습 프로젝트와 관련된 코드를 패키징하는 표준화된 방법이다..