웨카 (기계 학습)
1. 개요
웨카(Weka)는 뉴질랜드 와이카토 대학교에서 개발된 기계 학습 및 데이터 마이닝 소프트웨어이다. 1993년 초기 버전 개발을 시작하여, 1997년 Java로 재개발되었다. 데이터 전처리, 분류, 연관, 클러스터링, 특성 선택, 시각화 등의 기능을 제공하며, 확장 패키지를 통해 기능을 추가할 수 있다. 웨카는 ARFF 파일 형식을 사용하여 데이터를 저장하며, 자동 기계 학습 시스템인 오토-웨카(Auto-WEKA)를 비롯한 다양한 관련 도구들이 존재한다.
| 이름 | 웨카 |
|---|
이미지 준비중입니다.
| 스크린샷 | |
|---|---|
| 캡션 | 웨카 3.5.5 |
| 개발자 | 와이카토 대학교 |
| 최신 안정 버전 | 3.8.6 |
| 최신 안정 버전 출시일 | 2022년 1월 28일 |
| 최신 미리보기 버전 | 3.9.6 |
| 최신 미리보기 버전 출시일 | 2022년 1월 28일 |
| 운영 체제 | 윈도우, macOS, 리눅스 |
| 플랫폼 | IA-32, x86-64, ARM_architecture; 자바 SE |
| 프로그래밍 언어 | 자바 |
| 장르 | 기계 학습 |
| 라이선스 | GNU 일반 공중 사용 허가서 |
| 웹사이트 | 웨카 웹사이트 |
-
과학 소프트웨어 -
NAMD
-
과학 소프트웨어 -
KStars
KStars는 지구상의 임의의 장소에서 밤하늘을 그래픽으로 표시하는 소프트웨어이며, 다양한 천문학적 객체와 기능을 제공한다. -
자유 과학 소프트웨어 -
BOINC
BOINC는 분산 컴퓨팅 프로젝트를 위한 오픈 소스 플랫폼으로, 개인 컴퓨터의 유휴 자원을 활용하여 과학 연구에 기여하도록 설계되었으며, GPU를 활용하여 계산 속도를 향상시키고 크레딧 시스템을 통해 기여도를 측정한다. -
자유 과학 소프트웨어 -
SciPy
SciPy는 NumPy 배열 구조를 기반으로 수치 적분, 선형 대수, 최적화, 통계 등 과학 및 공학 계산에 사용되는 다양한 기능을 제공하는 파이썬 과학 컴퓨팅 라이브러리이다. -
GPL 라이선스 소프트웨어 -
F-Droid
F-Droid는 2010년 키어런 걸트니엑스가 설립한 안드로이드용 자유 소프트웨어 앱 저장소로, 구글 플레이 스토어에 없는 자유/오픈 소스 소프트웨어 앱을 제공하며 감시, 검열 저항, 개인 정보 보호에 중점을 둔 클라이언트 앱, 저장소 관리 도구, 웹사이트 생성기 등의 하위 프로젝트로 구성된다. -
GPL 라이선스 소프트웨어 -
MySQL
MySQL은 1994년 스웨덴에서 개발을 시작하여 현재 오라클에 인수된 관계형 데이터베이스 관리 시스템으로, 오픈 소스 및 상업용 에디션을 제공하며 ANSI SQL 99 표준을 지원하고 다양한 스토리지 엔진과 프로그래밍 언어 API를 지원한다.
2. 역사
1993년, 뉴질랜드의 와이카토 대학교에서 웨카의 초기 버전 개발을 시작했으며, 이는 Tcl/Tk, C, makefile의 조합으로 이루어졌다. 1997년, 모델링 알고리즘 구현을 포함하여 웨카를 Java로 처음부터 다시 개발하기로 결정했다. 2005년, 웨카는 SIGKDD 데이터 마이닝 및 지식 발견 서비스 상을 받았다. 2006년, 펜타호(Pentaho)사는 비즈니스 인텔리전스를 위해 웨카를 독점적으로 사용할 수 있는 라이선스를 획득했다. 이는 펜타호 비즈니스 인텔리전스 제품군의 데이터 마이닝 및 예측 분석 구성 요소를 형성한다. 펜타호는 이후 히타치 반타라(Hitachi Vantara)에 인수되었으며, 웨카는 현재 PMI(Plugin for Machine Intelligence) 오픈 소스 구성 요소의 기반이 되고 있다.
3. 주요 기능
3.1. 데이터 전처리
3.2. 분류 (Classify)
3.3. 연관 (Associate)
3.4. 클러스터링 (Cluster)
3.5. 특성 선택 (Select attributes)
3.6. 시각화 (Visualize)
4. 확장 패키지
버전 3.7.2에서 패키지 관리자가 추가되어 확장 패키지를 쉽게 설치할 수 있다. 이전 버전의 웨카에 포함되었던 일부 기능이 확장 패키지로 이동되었지만, 이 변경으로 인해 다른 사람들이 웨카에 확장에 기여하고 소프트웨어를 유지 관리하기가 더 쉬워졌다. 이는 모듈식 아키텍처를 통해 웨카 코어와 개별 확장을 독립적으로 업데이트할 수 있기 때문이다.
5. ARFF 파일 형식
ARFF(Attribute Relationship File Format)는 웨카(Weka)가 사용하는 텍스트 파일 형식으로, 이 형식으로 데이터베이스에 데이터를 저장한다. ARFF 파일은 헤더 부분과 데이터 부분으로 구성된다.
헤더 부분의 첫 번째 행에는 관계 이름이 `@relation` 키워드와 함께 나타난다. 그 후 `@attribute`로 속성을 정의하며, 각 속성은 고유한 이름과 형식이 대응된다. 형식으로는 숫자형, 명목형, 문자열형, 날짜형이 있다. 기본 클래스 속성은 목록의 마지막 항목이다. 헤더 부분에는 주석 행도 쓸 수 있으며, 행 머리에 '%'를 쓴다.
"weather" 관계 데이터베이스용 ARFF 파일의 헤더 부분 예시는 다음과 같다.
```
@relation weather
@attribute outlook {sunny, overcast, rainy}
@attribute temperature real
@attribute humidity real
@attribute windy {TRUE, FALSE}
@attribute play {yes, no}
```
데이터 부분은 `@data`로 시작하며, 개별 데이터를 기술한다. 각 데이터는 쉼표로 구분된 속성 값들의 목록 형태로, 1행에 1데이터를 기술한다.
6. 관련 도구
오토-웨카(Auto-WEKA)는 웨카를 위한 자동 기계 학습 시스템이다.
ELKI(Environment for DeveLoping KDD-Applications Supported by Index-Structures)는 군집 분석, 즉 비지도 학습 방법에 초점을 맞춘 웨카와 유사한 프로젝트이다.
H2O.ai는 오픈 소스 데이터 과학 및 기계 학습 플랫폼이다.
KNIME는 자바로 구현된 기계 학습 및 데이터 마이닝 소프트웨어이다.
대규모 온라인 분석(MOA, Massive Online Analysis)은 뉴질랜드 와이카토 대학교에서 개발된 대규모 데이터 스트림 마이닝을 위한 오픈 소스 프로젝트이다.
뉴럴 디자이너(Neural Designer)는 C++로 작성된 딥 러닝 기술을 기반으로 하는 데이터 마이닝 소프트웨어이다.
오렌지(Orange)는 scikit-learn을 기반으로 한 데이터 마이닝, 기계 학습 및 시각화를 위한 유사한 오픈 소스 프로젝트이다.
래피드마이너(RapidMiner)는 웨카를 통합한 자바로 구현된 상업용 기계 학습 프레임워크이다.
scikit-learn은 파이썬에서 널리 사용되는 기계 학습 라이브러리이다.