기본 콘텐츠로 건너뛰기

2021의 게시물 표시

추천 가젯

위키피디아를 통한 벤포드법칙 검증

왜 이런 짓을 하는가? 학교에서 벤포드 법칙과 관련하여 활동을 해서 소감문을 제출하라고 한다. 물론 학교에서는 통계청 에서 제공하는 데이터 차트 같은 한 만개에서 십만개 정도 데이터를 조사하라고 하긴 했는데, 마침 친구가 나무위키의 약 50만개 문서 (리다이렉트, 사용자문서 제외)의 5천만개 숫자를 가지고 분석을 돌렸길래 나는 좀더 크게 영문 위키피디아 에 있는 숫자들을 대상으로 조사하기로 했다. 벤포드 법칙이란? 우선 분석 글을 시작하기 전에 벤포드 법칙이 무엇인지부터 간단히 설명을 하고 시작을 하겠다. 벤포드 법칙이란 1938년에 물리학자 프랭크 벤포드가 자기 논문에서 제시한 법칙으로, 간단히 말하면 "수치를 나타내는 수" 에서 수의 첫자리가 낮을 확률이 높다 라는 간단하지만 신기한 법칙이다. 자세한 설명은 나무위키가 해줄 것이다. 1. 위키피디아 데이터베이스 덤프 다운로드 우선 분석을 하기 위해서는 당연하지만 위키피디아의 데이터베이스가 필요하다. (위키피디아 전체 를 크롤링하기에는 아주 오래걸릴 뿐더러, 위키피디아의 서버에 부하를 주기 때문에 가능성은 낮겠지만 크롤링하는 중간에 위키피디아에서 접속을 차단할 수도 있다.) 다행히도, 위키피디아는 우리 같이 위키피디아의 데이터베이스를 활용하려는 사람들을 위해서, (물론 위키피디아 서버를 백업하려는 목적도 있지만) 위키피디아 전체의 XML 덤프 를 제공한다. 여기 에서 위키피디아의 데이터베이스를 비트토렌트를 이용하여 다운로드 할 수 있다. 토렌트 말고 직접 다운로드 링크도 주어지지만... 속도가 처참하기 때문에 토렌트로 다운로드 하는 것을 권장한다. (약 2~3 MB/s의 속도로 다운로드가 되는데, 총 파일이 20GB가량 되기 때문에 서너시간 정도 걸린다. 물론 토렌트 특성상 더 빠를수도 느릴수도 있다.) 그리고 bz2 압축을 해제한다. 윈도우라면 위대하신 반디집 을 이용하여 압축을 해제할 수 있고, 리눅스면 bzip2를 이용하면 해제할 수 있다. 뭐 리눅스 유저면 알...

위키피디아를 통한 벤포드법칙 검증

알고리즘 복잡도와 빅오표기법

순차탐색과 이분탐색

Hello, Blog!