2022년 6월 19일 일요일

데이터 분석이 쉬워지는 비법 - 3rd

어느 CF 한 컷. '목표가 생기면 뭐라도 한다'는 카피가 남다르게 다가온다.


이상징후 분석에 관심을 갖게 된 2015년 즈음부터 웹 로그의 원시 구조를 (패턴매칭 분석을 해오면서 몸에 밴 습관대로) 테이블 구조로 바꿔보기 시작했다. 

웹 로그는 요청과 응답의 조합이고 요청 정보의 핵심 중 하나는 URL. URL 발생 상태를 한 눈에 볼 수 있는 차트를 그리고 싶었다. 그런데 URL 발생 양상이 너무 다양해서 차트가 그려지지 않음.


데이터 계열 수를 어떻게 줄이지?

URL은 경로와 파일의 조합. 그중 핵심은 결국 사용자가 접속을 시도하는 파일이다. 경로보다 파일 정보가 URL 성격을 더 많이 대변한다는 얘기.

URL에서 경로 정보를 삭제하면 다른 경로, 같은 파일의 중복 카운팅이 줄어 결과적으로 데이터 계열 수가 줄겠지 싶었다. 하지만 여전히 데이터 계열 수가 많네?


한 번에 안 되면 한 번 더 하면 되지. 파일은 이름과 확장자의 조합이고, 결국 확장자가 파일의 정체성 아닌가? 이름 정보를 삭제해서 다른 이름, 같은 확장자의 중복 카운팅을 줄였다.


이제 뭔가 보인다

이때 어렴풋이 느꼈던 것 같다

아 데이터의 고유성이 뚜렷해질수록 분석이 쉬워지는구나. 고유성을 해치는 정보를 제거해야 되는구나.
여기서 통계의 중요한 특징 하나를 알 수 있다. 그 특징은 바로 상태를 쪼개면 쪼갤수록 그 상태에 대해서 더 잘 알게 된다는 것. - 엘라스틱서치로 알아보는 이상징후 분석 (13페이지)

URL 데이터 계열의 극적인 숫자 변화를 보면서 중복을 제거한 상태 분석이 데이터를 이해하는 데 얼마나 중요한지도 이때 확실히 깨달았다.

처음부터 URL/파일/확장자의 발생 추이 비교를 계획했던 게 아니다. 처음부터 고유개수 측정을 목표로 삼지도 않았다. 데이터의 상태를 파악하기 위해 할 수 있는 걸 하나씩 시도하다, 도구의 한계를 극복하려고 뭐라도 해보다 알게된 것들.


데이터 분석을 하고 싶은 이유가 멋져보여서 또는 엘라스틱 같은 제품이 다 해줄 것 같아서라면 녹록치 않을 것이다. 물론 데이터에 대한 호기심의 발로에서 시작한대도 쉽지는 않을 것이다. 하지만 진짜 궁금하면 사람들은 의외로 쉽게 포기하지 않는다.

댓글 없음:

댓글 쓰기

크리에이티브 커먼즈 라이선스