301
6
장
이상 탐지
6.1
SQL
을 활용한 이상 탐지
SQL
은 다양한 데이터 분석에 유용한 다재다능하고 강력한 언어입니다. 이상 탐지에는 다른 언
어나 도구가 더 나은 경우도 있지만
SQL
이 지닌 강점도 많습니다.
3
장 ‘시계열 분석’과
5
장 ‘텍스트 분석’에서도 확인했듯이 데이터셋이 데이터베이스에 저장돼
있을 때는
SQL
이 분석에 적합합니다.
SQL
을 활용하면 데이터베이스에서 제공하는 강력한 연
산 능력을 활용해 수많은 레코드를 대상으로 빠른 계산을 수행할 수 있습니다. 특히 대용량 데
이터를 다룰 때 데이터베이스의 데이터를 다른 도구로 옮기려면 시간이 오래 걸립니다. 따라서
대용량 데이터에서 이상 탐지 분석을 수행할 때는
SQL
을 활용해 데이터베이스 내에서 바로 분
석하는 편이 좋습니다.
SQL
로 이상 탐지 코드를 작성하면 다른 사람이 코드를 보더라도 특정
레코드가 아웃라이어로 처리된 이유를 이해하기 쉬우며, 데이터베이스의 데이터가 달라지더라
도
SQL
코드는 영향을 받지 않고 항상 동일한 동작을 수행한다는 강점이 있습니다.
단,
SQL
이 유용하지 않은 경우도 있습니다.
SQL
은
R
이나 파이썬처럼 정교한 통계 분석을 제
공하지 않습니다. 몇 가지 표준 통계 함수를 제공하긴 하지만, 일부 데이터베이스에서는 통계
계산이 조금만 복잡해도 시간이 오래 걸립니다. 또한, 데이터베이스에서 데이터 분석 수행 시
데이터를 로딩하는 데도 시간이 소요되므로 이상 거래 탐지나 침입 탐지와 같이 이상 유무를
즉시 파악해야 하는 경우에는
SQL
이 좋은 ...