KDD란 무엇인가?
KDD(Knowledge Discovery in Databases)는 '데이터베이스에서의 지식 발견'을 의미합니다. KDD는 데이터 속에서 지식을 발견하는 전반적인 과정을 정의하며, 특정 데이터 마이닝 기법의 고수준 응용을 강조합니다. 이 분야는 인공지능, 머신러닝, 패턴 인식, 데이터베이스, 통계학, 전문가 시스템을 위한 지식 획득, 데이터 시각화 등 다양한 분야의 연구자들이 깊은 관심을 보이는 영역입니다.
KDD 프로세스의 핵심 목표는 방대한 데이터베이스 환경에서 정보로부터 의미 있는 데이터를 추출하는 것입니다. 이를 위해 데이터 마이닝 알고리즘을 활용하여 어떤 것이 지식으로 간주될 수 있는지 식별합니다.
데이터 마이닝과 KDD의 관계
데이터베이스에서의 지식 발견은 대규모 데이터 저장소에 대한 체계적인 탐색적 분석 및 모델링 활동으로 이해할 수 있습니다. 즉, KDD는 대량의 복잡한 데이터 집합으로부터 유효하고, 유용하며, 이해하기 쉬운 패턴을 식별하는 조직화된 프로세스입니다.
데이터 마이닝은 KDD 절차의 핵심 축에 해당합니다. 레코드를 조사하고 모델을 구축하여 이전에 알려지지 않았던 패턴을 발견하는 알고리즘이 바로 여기에 속합니다. 이렇게 만들어진 모델은 정보로부터 지식을 추출하고, 데이터를 분석하며, 미래 값을 예측하는 데 활용됩니다.
데이터 마이닝은 KDD 프로세스 중 하나의 단계로서, 허용 가능한 계산 효율성 범위 내에서 데이터 전체에 대한 특정 패턴(또는 모델)을 열거하는 데이터 분석 및 발견 알고리즘의 적용을 포함합니다.
요컨대 KDD 프로세스는 데이터베이스에 대해 필요한 선택, 전처리, 샘플링, 변환 작업을 수행하고, 데이터 마이닝 알고리즘을 적용해 패턴을 도출한 뒤, 그 결과물을 평가하여 지식으로 인정할 패턴의 부분집합을 최종적으로 선별하는 일련의 흐름이라 할 수 있습니다.
지식 발견(KDD) 프로세스의 5단계
1. 선택(Selection)
데이터 마이닝에 필요한 데이터를 다양한 소스로부터 수집합니다. 따라서 첫 번째 단계는 분석 대상이 될 데이터셋을 선택하거나, 지식 발견을 수행할 변수 또는 데이터 샘플의 부분집합에 초점을 맞추는 작업입니다.
2. 데이터 정제 및 전처리(Data Cleaning & Preprocessing)
사용할 데이터에는 누락값이나 잘못된 값이 포함될 수 있습니다. 두 번째 단계에서는 노이즈 제거, 노이즈를 모델링하거나 설명하기 위한 필수 정보 수집, 결측 데이터 처리 기법 결정, 시계열 정보 반영 등의 기본 작업을 수행합니다.
3. 데이터 변환(Data Transformation)
이 단계는 과제의 목적에 맞게 데이터를 표현할 유용한 특징(feature)을 찾는 작업을 포함합니다. 차원 축소나 변환 기법을 활용하면 고려 대상 변수의 수를 효율적으로 줄이거나, 데이터에 대한 불변(invariant) 표현을 발견할 수 있습니다.
4. 데이터 마이닝(Data Mining)
수행하려는 데이터 마이닝 과제에 따라 변환된 데이터에 알고리즘을 적용합니다. 이 단계에서는 분류 규칙이나 결정 트리, 회귀 분석, 군집화(clustering) 등 특정 표현 형태 또는 표현 집합 안에서 관심 있는 패턴을 탐색합니다.
5. 마이닝된 패턴 해석(Interpreting Mined Patterns)
마지막 단계에서는 도출된 패턴과 모델을 해석합니다. 필요에 따라 추출된 패턴과 모델을 시각화하거나, 추출된 모델에 담긴 데이터 자체를 시각화하여 이해를 돕기도 합니다.