Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

Weka 데이터 마이닝이란 무엇인가? 핵심 개념과 활용 방법

Weka란 무엇인가?

Weka는 데이터 마이닝을 위한 머신러닝 알고리즘 모음입니다. 이 알고리즘들은 데이터셋에 직접 적용할 수 있으며, 자체적으로 작성한 Java 프로그램 안에서도 호출해 사용할 수 있습니다. Weka는 데이터 전처리, 분류(classification), 회귀(regression), 클러스터링(clustering), 연관 규칙(association rules), 시각화를 위한 도구를 모두 포함하고 있으며, 새로운 머신러닝 스킴(scheme)을 개발하는 용도로도 활용할 수 있습니다.

Weka의 세 가지 활용 방식

Weka를 사용하는 첫 번째 방법은 학습 기법을 데이터셋에 적용한 뒤, 그 출력 결과를 분석하여 데이터에 대한 더 깊은 통찰을 얻는 것입니다.

두 번째 방법은 이미 학습된 모델을 활용하여 새로운 인스턴스(instance)에 대한 예측을 수행하는 것입니다.

세 번째 방법은 여러 학습기를 동시에 적용해 성능을 비교하고, 그중 가장 적합한 모델을 골라 예측에 사용하는 것입니다. Weka의 대화형 인터페이스에서는 메뉴를 통해 원하는 학습 방식을 손쉽게 선택할 수 있으며, 많은 방식이 조정 가능한 파라미터를 제공합니다. 이러한 파라미터는 속성 시트(property sheet)나 객체 편집기(object editor)를 통해 설정할 수 있고, 모든 분류기의 성능은 공통된 계산 구조를 통해 일관되게 평가됩니다.

필터와 부가 기능

Weka는 다양한 필터의 활용 방법을 보여주고, 사용 가능한 필터링 알고리즘의 목록과 각각의 파라미터까지 상세히 설명해 줍니다. 또한 연관 규칙을 학습하는 알고리즘, 클래스 값이 지정되지 않은 데이터를 군집화하는 기능, 그리고 데이터에서 관련성 높은 속성(attribute)을 선별하는 기능도 함께 구현되어 있습니다.

Explorer 인터페이스: 가장 쉬운 시작점

Weka를 가장 간단하게 사용하는 방법은 Explorer라 불리는 그래픽 사용자 인터페이스(GUI)를 이용하는 것입니다. 메뉴 선택과 폼 작성만으로 다양한 기능에 접근할 수 있어 초보자도 부담 없이 시작할 수 있습니다. 예를 들어 ARFF 파일이나 스프레드시트에서 데이터셋을 빠르게 불러온 뒤, 이를 바탕으로 의사결정 트리(decision tree)를 손쉽게 구축할 수 있습니다.

Explorer 인터페이스는 선택지를 메뉴 형태로 제시하고, 아직 적절하지 않은 옵션은 회색으로 비활성화하여 사용자가 올바른 순서로 작업하도록 자연스럽게 유도합니다. 또한 마우스가 화면 요소 위를 지날 때마다 툴팁(tooltip)이 나타나 각 기능의 역할을 이해하는 데 큰 도움을 줍니다. 합리적인 기본값(default value)이 설정되어 있어 최소한의 노력으로도 결과를 얻을 수 있지만, 결과가 실제로 무엇을 의미하는지 해석하기 위해서는 사용자의 충분한 사고가 반드시 필요합니다.

Knowledge Flow 인터페이스: 대용량 데이터 처리

Knowledge Flow 인터페이스는 스트리밍 방식의 정보 처리 구조를 설계할 수 있게 해주는 도구입니다. Explorer 인터페이스의 가장 큰 한계는 데이터셋을 열 때 모든 내용을 주 메모리(main memory)에 한꺼번에 로드한다는 점입니다.

이러한 특성 때문에 Explorer는 소규모~중간 규모의 문제에 적합합니다. 다행히 Weka에는 대용량 데이터셋을 처리할 수 있는 증분(incremental) 알고리즘이 포함되어 있으며, Knowledge Flow 인터페이스는 이를 효과적으로 활용할 수 있게 해줍니다. 사용자는 학습 알고리즘과 데이터 소스를 정의하는 박스를 화면에 자유롭게 배치하고, 원하는 구성대로 서로 연결할 수 있습니다.

구체적으로는 데이터 소스, 전처리 도구, 학습 알고리즘, 평가 방법, 시각화 모듈을 담당하는 컴포넌트들을 연결하여 하나의 데이터 스트림(data stream)을 정의할 수 있습니다. 사용된 필터와 학습 알고리즘이 증분 학습에 적합하다면, 데이터는 한 번에 모두 로드되지 않고 점진적으로 로드되어 처리됩니다. 이를 통해 Explorer로는 감당하기 어려운 대규모 데이터 분석도 효율적으로 수행할 수 있습니다.