데이터(3)
-
Bloom Filter
Stream 형태의 무한한 데이터를 다루기 위한 알고리즘 중의 하나는 '필터링 알고리즘'이다. 스트림에서 X라는 속성을 가지는 데이터들을 걸러내는 알고리즘으로써 여러 메일들의 스트림을 입력받았을 때, 스팸메일을 걸러주는 프로그램등이 이 필터링 알고리즘을 적용한 예에 속한다. Filtering Data Streams 이전 포스팅의 예제와 마찬가지로 데이터 스트림의 각 원소는 Tuple(튜플, 순서쌍)의 형태로 입력이 된다. 이때 필터링 알고리즘의 문제는 S라는 Key set이 들어왔을 때, 입력되는 튜플들의 스트림 중 S에 속하는 튜플들을 걸러내는 것이 된다. 이를 해결하기 위한 가장 명백한(Obvious) 방법은 해시 테이블(Hash Table)을 이용하는 것이다. 해시 함수는 같은 키 값이 들어오면 무..
2019.04.11 -
Mining Data Streams
빅데이터를 다뤄야 하는 많은 상황들에서, 데이터들은 끊임없이 생산되어 들어오고 이 데이터들을 저장하고 처리하기 위한 메모리는 한정되어 있기 떄문에 이들을 전부 저장할 수 없는 경우가 많다. 따라서 데이터들을 일종의 Stream으로 보고 이들을 관리하는 것이 중요하다. 이를 Stream Management라고 하는데, Stream Management에서는 데이터를 무한히 많고, 정적이지 않은(non-stationary) 즉, 데이터의 분포가 계속해서 바뀌는 성질의 것을 받아들인다. The Stream Model 데이터를 처리하는 기본적인 모델인 Stream Model은 위와 같이 구성이 된다. 이는 여러 가지 특성을 지니는데, 입력되는 데이터 값들(input elements)은 빠른 속도로 입력이 되고, ..
2019.04.10 -
Data Mining Basics (TF.IDF)
Data Mining 을 시작하기 전에 필요한 기본 지식들을 정의하고 나서 본격적인 Data Mining Algorthm들을 살펴보려고 한다. Data Mining Chapter에서는 쥬어 레스코벡의 "빅데이터 마이닝" 교재를 참고하였으며, 서울대학교 컴퓨터공학부 강유 교수님의 "데이터마이닝 개론" 수업을 참고하였다. 이번 포스팅에서는 데이터 마이닝을 이해하기 위한 기본 툴 중의 몇 가지에 대한 간단한 설명을 하게 될 것이다. Importance of Words in Documents 우리가 구글과 같은 검색 엔진에서 검색 쿼리를 보낼 때, (쿼리는 데이터베이스나 서버 등에 정보를 요청하는 것) 주로 키워드나 키워드의 조합을 통해 쿼리를 보낸다. 이때, 하나의 키워드와 관련된 문서들이나 블로그들이 무수히..
2019.04.10