본문 바로가기

전체 글79

Anomaly Detection_Iforest Iforest(Isolation Forest)는 이상치 탐지 알고리즘 중 하나로, 대량의 데이터 중에서 소수의 이상치를 탐지하기 위해 사용됩니다. Iforest의 핵심 아이디어는 바로 데이터의 특성(feature)을 이용하여 분기하는 것입니다. 일반적인 분류 문제와 달리, Iforest는 이상치를 분류하기 위해 목표하는 것이 아니라, 이상치가 아닌 정상 데이터들이 빠르게 분리될 수 있는 경로를 찾습니다. 이를 위해 Iforest는 데이터를 랜덤하게 선택한 뒤, 랜덤한 feature와 임계값(threshold)을 이용하여 데이터를 두 그룹으로 나눕니다. 이 과정을 재귀적으로 반복하여 이상치인 데이터는 단계가 적게 거친 경로를 통해 분리됩니다. Iforest의 장점 중 하나는 학습 데이터의 크기에 민감하지 .. 2023. 4. 14.
Anomaly Detection_LOF LOF(Local Outlier Factor) 이상탐지는 데이터셋에서 이상치(outlier)를 찾는 기술 중 하나입니다. 이 기술은 데이터 포인트의 군집(clustering)과 밀도(density)를 기반으로 이상치를 탐지합니다. LOF 이상탐지는 다음과 같은 세 단계로 구성됩니다. k-Nearest Neighbor(NN) 구하기: 각 데이터 포인트에서 k개의 가장 가까운 이웃을 찾습니다. Reachability Distance 구하기: 각 데이터 포인트에서 이웃까지의 거리를 계산합니다. Local Outlier Factor 계산하기: 각 데이터 포인트의 이웃들과의 Reachability Distance를 비교하여 LOF를 계산합니다. 이론적으로는 LOF가 1인 데이터 포인트는 군집에 속해 있으며, LO.. 2023. 4. 14.
Anomaly Detection_KNN KNN(K-Nearest Neighbors)은 지도학습의 한 종류로, 분류나 회귀 문제를 해결하는 알고리즘 중 하나입니다. 주어진 데이터셋에서 새로운 데이터 포인트가 어떤 클래스에 속하는지 예측할 때 사용합니다. KNN은 거리 기반 분류 모델에 속하며, 주어진 데이터셋에서 가장 가까운 K개의 이웃 데이터를 찾아서 대상 데이터를 분류합니다. 분류 문제에서는 이웃 데이터 포인트들의 클래스 중 가장 빈번한 클래스를 예측값으로 사용하며, 회귀 문제에서는 이웃 데이터 포인트들의 평균값을 예측값으로 사용합니다. PyOD 패키지는 이상탐지(anomaly detection) 알고리즘을 정리한 패키지로, KNN을 포함하여 다양한 이상탐지 알고리즘을 제공합니다. KNN을 이용한 이상탐지는 K개의 이웃 데이터를 사용하여 대.. 2023. 4. 12.
Anomaly Detection_ Mahalonobis 거리 마할라노비스 거리는 다변량 데이터 분석에서 이상치를 탐지하는 방법 중 하나입니다. 이번 글에서는 마할라노비스 거리를 이용한 이상치 탐지에 대해 알아보겠습니다. 마할라노비스 거리란, 다변량 데이터 분석에서 관측치와 다른 관측치들 간의 거리를 계산하는 방법 중 하나입니다. 이 방법은 관측치가 얼마나 다른 관측치들과 다른지를 측정하고, 이를 이용하여 이상치를 탐지합니다. 이상치는 다른 관측치들과의 거리가 멀어지는 경우로 정의됩니다. 마할라노비스 거리를 이용한 이상치 탐지의 장점은 다음과 같습니다. 첫째, 마할라노비스 거리는 다변량 데이터에 대해 적용할 수 있으므로, 다양한 분야에서 활용이 가능합니다. 둘째, 마할라노비스 거리는 데이터 분포의 모양과 크기를 고려하여 이상치를 탐지할 수 있습니다. 셋째, 마할라노.. 2023. 4. 11.
Anomaly Detection_ Box Plot Box Plot은 데이터의 분포를 시각화하는 도구 중 하나로, 데이터의 중심값과 산포도를 한 눈에 파악할 수 있어 데이터 분석에서 매우 유용하게 사용됩니다. 이번 글에서는 Box Plot을 이용한 이상치 탐지 방법에 대해 알아보겠습니다. Box Plot은 데이터의 중앙값, 1사분위수(Q1), 3사분위수(Q3)를 이용하여 상자를 그리고, 상자 외부의 데이터를 이상치로 판단합니다. 이때, 이상치의 기준은 Q1 - 1.5IQR 이하의 값 또는 Q3 + 1.5IQR 이상의 값으로 설정합니다. IQR(Interquartile range)은 Q3 - Q1로 계산됩니다. Box Plot을 이용한 이상치 탐지의 장점은 다음과 같습니다. 첫째, Box Plot은 데이터의 분포를 시각적으로 파악할 수 있기 때문에 데이터의.. 2023. 4. 11.
Anomaly Detection_ 3-Sigma Rule 표준편차의 3배 범위인 3*Sigma는 대표적인 이상치(Outlier) 탐지 기법 중 하나입니다. 이 방법은 데이터의 산포를 파악하고, 데이터 전체의 특징을 파악하는 데 유용합니다. 장점으로는, 이 방법은 통계학에서 널리 사용되는 방법 중 하나이기 때문에, 데이터 분석의 표준적인 방법으로 자리 잡았습니다. 또한, 이 방법은 데이터의 분포를 고려하기 때문에 데이터의 특징을 파악하는 데 유용합니다. 이상치를 탐지하는 데도 효과적이며, 데이터의 정규성을 검증하는 데도 사용됩니다. 단점으로는, 이 방법은 데이터의 분포가 정규분포를 따를 때에만 유효합니다. 만약, 데이터가 다른 분포를 따른다면 이 방법은 제대로 작동하지 않을 수 있습니다. 또한, 이 방법은 데이터의 분포를 고려하지 않고, 단순히 범위를 설정하기 .. 2023. 4. 11.
[AI] Jupyter에서 GPU 사용 여부 확인하기 GPU를 사용하면 tensorflow에서 모델을 효과적으로 학습할 수 있습니다. 간단한 수식을 통해 각 텐서와 연산이 어떠한 장치에 할당되었는지를 출력해서 현재 내 컴퓨터에서 GPU를 사용하고 있는지, CPU를 사용하고 있는지를 확인할 수 있습니다. import tensorflow as tf tf.debugging.set_log_device_placement(True) a = tf.constant([ [1,1], [2,2] ]) b = tf.constant([ [5,5], [7,7] ]) c = tf.matmul(a,b) print(c) tf.debugging.set_log_device_placement(False) 이러한 GPU 관련 내용이 나온다면 GPU가 사용되고 있는 것입니다. 다른 방법으로는, .. 2023. 1. 2.
[Error] Jupyter notebook 500 : Internal server error 해결 방법 Jupyter notebook에 들어가니 이러한 에러가 뜬다. 파이썬 버전이나 다른 라이브러리 설치할 때 뭔가 잘못 건드린 것 같긴한데.. 다른 블로그의 글을 참고해서 수정한 방법은 다음과 같다. 실패 1 conda upgrade nbconvert 가장 많이 나온 해결법이였는데 나에겐 도움되지 않았다. 실패 2 터미널의 에러 로그를 천천히 읽어보니 모듈에 대한 에러가 떴다 conda install -c conda-forge jupyter_server 이 방법 또한 해결되지 않았다. 아무래도 아나콘다 환경을 다시 설치해야 할 것 같다. 아나콘다 삭제 Mac의 경우, 아나콘다 어플리케이션을 지우는 표시가 뜨질 않는다. 따라서 Finder를 켜고, 의 경로로 들어가서 나오는 Anaconda3 폴더를 지워준다... 2022. 12. 28.
[GITHUB] Github 시작하기 Github은 git 으로 관리하는 모든 프로젝트를 온라인으로 공유해서 프로젝트 구성원들이 함께 소프트웨어를 구성할 수 있도록 도와주는 서비스입니다. 왜 필요할까요? 프로젝트 구성원들이 동시에 작업을 할 수 있고, 모든 업로드와 다운로드를 커밋 단위로 실행하여 최신화가 됩니다. 먼저 아래의 사이트에 들어가서 가입을 합니다. https://github.com GitHub: Let’s build from here GitHub is where over 94 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code l.. 2022. 12. 26.