엘키

ELKI
인덱스 구조에서 지원되는 디베로핑 KDD 응용 프로그램 환경
ELKI Screenshot.jpg
광학 클러스터 분석을 시각화하는 ELKI 0.4의 스크린샷.
개발자도르트문트 공과대학; 초기 뮌헨 루드비히 막시밀리안 대학
안정적 해제
0.7.5 / 2019년 2월 15일; 2년(2019-02-15)
리포지토리
기록 위치자바
운영 체제Microsoft Windows, Linux, Mac OS
플랫폼자바 플랫폼
유형데이터 마이닝
면허증.AGPL(버전 0.4.0 이후)
웹사이트엘키프로젝트.기투브이오

ELKI(Endex-Structures에서 지원하는 DeveLoping KDD-Applications 지원)는 연구와 교육에 사용하기 위해 개발된 데이터 마이닝(KDD, 데이터베이스의 지식 검색) 소프트웨어 프레임워크다.원래는 독일 뮌헨의 루드비히 막시밀리안 대학의 한스-피터 크리겔 교수의 데이터베이스 시스템 연구부에 있었고, 현재는 독일 도르트문트 공과대학에서 계속되었다.그것은 고급 데이터 마이닝 알고리즘의 개발 및 평가와 데이터베이스 인덱스 구조와의 상호작용을 허용하는 것을 목표로 한다.null

설명

ELKI 프레임워크는 자바로 작성되고 모듈형 아키텍처를 기반으로 구축된다.현재 포함된 대부분의 알고리즘은 클러스터링, 특이치 탐지[1]데이터베이스 인덱스에 속한다.객체 지향 아키텍처는 임의 알고리즘, 데이터 유형, 거리 함수, 인덱스, 평가 조치의 조합을 허용한다.자바 just-in-time 컴파일러는 모든 조합을 비슷한 수준으로 최적화하여 코드의 많은 부분을 공유할 경우 벤치마킹 결과를 더욱 비교 가능하게 한다.새로운 알고리즘이나 인덱스 구조를 개발할 때 기존 컴포넌트를 쉽게 재사용할 수 있으며, 자바의 타입 안전성은 컴파일 시 많은 프로그래밍 오류를 감지한다.null

ELKI는 예를 들어 향유 고래 코다 군집화,[2] 음소 군집화,[3] 우주 비행 운영의 이상 탐지,[4] 자전거 공유 재분배,[5] 교통 예측 등을 위해 데이터 과학에 이용되어 왔다.[6]null

목표

그 대학 프로젝트는 강의와 연구에 사용하기 위해 개발되었다.소스 코드는 확장성과 재사용성을 염두에 두고 작성되지만, 성능에도 최적화되어 있다.알고리즘의 실험 평가는 많은 환경 요인에 따라 달라지며 구현 세부사항은 런타임에 큰 영향을 미칠 수 있다.[7]ELKI는 많은 알고리즘의 유사한 구현으로 공유 코드 기반을 제공하는 것을 목표로 한다.null

연구 프로젝트로서, 현재는 SQL을 통한 공통 데이터베이스 관리 시스템과의 인터페이스나 비즈니스 인텔리전스 애플리케이션과의 통합을 제공하지 않고 있다.AGPL(Copyleft) 라이센스는 상용 제품의 통합에 방해가 될 수도 있다. 그럼에도 불구하고 상용 제품의 자체 구현을 개발하기 전에 알고리즘 평가에 사용할 수 있다.더욱이 알고리즘의 적용은 원본 문헌의 사용, 매개변수 및 연구에 대한 지식을 요구한다.청중들은 학생, 연구원, 데이터 과학자, 소프트웨어 엔지니어들이다.null

건축

ELKI는 데이터를 컬럼 그룹에 저장하는 수직 데이터 레이아웃(NoSQL 데이터베이스컬럼 패밀리와 유사함)을 사용하는 데이터베이스 기반 코어를 모델로 한다.이 데이터베이스 코어는 광범위한 유사성 측정에 대해 인덱스 가속과 함께 가장 가까운 인접 검색, 범위/반경 검색 및 거리 쿼리 기능을 제공한다.이러한 쿼리에 기반한 알고리즘(예: k-near-nearbor 알고리즘, 로컬 특이치 팩터DBSCAN)은 쉽게 구현될 수 있으며 인덱스 가속의 이점을 얻을 수 있다.데이터베이스 코어는 또한 가장 가까운 이웃 목록과 같은 연관 구조와 오브젝트 컬렉션에 대해 빠르고 기억력이 효율적인 컬렉션을 제공한다.null

ELKI는 Java 인터페이스를 광범위하게 사용하여 여러 곳에서 쉽게 확장할 수 있다.예를 들어 기존 코드를 수정하지 않고 사용자 정의 데이터 유형, 거리 함수, 인덱스 구조, 알고리즘, 입력 파서, 출력 모듈을 추가 및 결합할 수 있다.여기에는 사용자 정의 거리 함수를 정의하고 가속을 위해 기존 인덱스를 사용할 수 있는 가능성이 포함된다.null

ELKI는 서비스 로더 아키텍처를 사용하여 확장자를 별도의 jar 파일로 게시할 수 있다.null

ELKI는 표준 자바 API가 아닌 성능을 위해 최적화된 컬렉션을 사용한다.[8]를 들어 루프는 C++ 반복기와 유사하게 기록된다.

  을 위해 (디비디터 반복하다 = 신분증.반복하다(); 반복하다.유효의(); 반복하다.전진시키다()) {     관계.얻다(반복하다);     // 예: 참조된 개체 가져오기     무수집.덧셈을(반복하다); // 예: DB에 참조 추가ID수집   } 

일반적인 Java Iterator(개체에 대해 반복만 할 수 있는)와는 대조적으로, 이는 Iterator가 내부적으로 데이터 저장에 원시 값을 사용할 수 있기 때문에 메모리를 보존한다.줄어든 가비지 수집은 런타임을 향상시킨다.GNU Trove3, Koloboke, fastutilit와 같은 최적화된 수집 라이브러리는 유사한 최적화를 사용한다.ELKI는 최적화를 사용하는 객체 수집 및 힙(예: 가장 가까운 인접 검색)과 같은 데이터 구조를 포함한다.null

시각화

시각화 모듈은 확장 가능한 그래픽 출력에는 SVG를, 사용자 인터페이스 렌더링에는 Apache Batik을 사용하고 LaTeX의 과학 출판물에 쉽게 포함되도록 PostScriptPDF로 무손실 내보내기를 사용한다.내보낸 파일은 잉크스케이프와 같은 SVG 편집기로 편집할 수 있다.계단식 스타일시트를 사용하기 때문에 그래픽 디자인은 쉽게 재작성할 수 있다.불행히도, Batik은 다소 느리고 메모리 집약적이기 때문에 시각화는 큰 데이터 세트로 확장성이 높지 않다(더 큰 데이터 세트의 경우, 데이터의 하위 샘플만 기본적으로 시각화된다).null

수상

공간 특출 탐지를 위한 다양한 방법이 수록된 '공간 및 시간 데이터베이스에 관한 심포슘 2011'에서 선보인 버전 0.4가 이번 콘퍼런스의 '최우수 시연용지상'을 수상했다.[9]null

포함 알고리즘

포함된 알고리즘 선택:[10]

버전 이력

버전 0.1(2008년 7월)에는 R*-트리 같은 일부 인덱스 구조뿐만 아니라 클러스터 분석이상 감지의 여러 알고리즘이 포함되어 있었다.첫 번째 릴리스의 초점은 하위 공간 클러스터링상관 클러스터링 알고리즘에 있었다.[11]null

버전 0.2(2009년 7월)는 시계열 분석, 특히 시계열의 거리 기능을 추가했다.[12]null

버전 0.3(2010년 3월)은 이상 징후 감지 알고리즘과 시각화 모듈 선택 범위를 확장했다.[13]null

버전 0.4(2011년 9월)는 지리적 데이터 마이닝과 다관계 데이터베이스 및 인덱스 구조에 대한 지원을 위한 알고리즘을 추가했다.[9]null

버전 0.5(2012년 4월)는 클러스터 분석 결과의 평가에 초점을 맞추고 새로운 시각화와 일부 새로운 알고리즘을 추가한다.[14]null

버전 0.6(2013년 6월)에서는 알고리즘과 인덱스 구조의 일반적인 추가와는 별도로 데이터 시각화를 위한 병렬 좌표의 새로운 3D 어댑테이션이 도입되었다.[15]null

버전 0.7(2015년 8월)에는 불확실한 데이터 유형에 대한 지원과 불확실한 데이터 분석을 위한 알고리즘이 추가됐다.[16]null

버전 0.7.5(2019년 2월)에는 클러스터링 알고리즘, 이상 탐지 알고리즘, 평가 조치, 인덱싱 구조가 추가된다.[17]null

유사한 응용 프로그램

  • Scikit-learn: 파이썬의 머신러닝 라이브러리
  • Weka: 분류 알고리즘에 초점을 맞춘 Waikato 대학의 유사한 프로젝트
  • RapidMiner:상업적으로 이용 가능한 애플리케이션(제한된 버전은 오픈 소스로 이용 가능)
  • KNIME: 머신러닝 및 데이터 마이닝을 위한 다양한 구성요소를 통합하는 오픈 소스 플랫폼

참고 항목

참조

  1. ^ Hans-Peter Kriegel, Peer Kröger, Arthur Zimek (2009). "Outlier Detection Techniques (Tutorial)" (PDF). 13th Pacific-Asia Conference on Knowledge Discovery and Data Mining (PAKDD 2009). Bangkok, Thailand. Retrieved 2010-03-26.{{cite journal}}: CS1 maint : 복수이름 : 작성자 목록(링크)
  2. ^ Gero, Shane; Whitehead, Hal; Rendell, Luke (2016). "Individual, unit and vocal clan level identity cues in sperm whale codas". Royal Society Open Science. 3 (1): 150372. Bibcode:2016RSOS....350372G. doi:10.1098/rsos.150372. ISSN 2054-5703. PMC 4736920. PMID 26909165.
  3. ^ Stahlberg, Felix; Schlippe, Tim; Vogel, Stephan; Schultz, Tanja (2013). "Pronunciation Extraction from Phoneme Sequences through Cross-Lingual Word-to-Phoneme Alignment". Statistical Language and Speech Processing. Lecture Notes in Computer Science. Vol. 7978. pp. 260–272. doi:10.1007/978-3-642-39593-2_23. ISBN 978-3-642-39592-5. ISSN 0302-9743.
  4. ^ Verzola, Ivano; Donati, Alessandro; Martinez, Jose; Schubert, Matthias; Somodi, Laszlo (2016). "Project Sibyl: A Novelty Detection System for Human Spaceflight Operations". Space Ops 2016 Conference. doi:10.2514/6.2016-2405. ISBN 978-1-62410-426-8.
  5. ^ Adham, Manal T.; Bentley, Peter J. (2016). "Evaluating clustering methods within the Artificial Ecosystem Algorithm and their application to bike redistribution in London". Biosystems. 146: 43–59. doi:10.1016/j.biosystems.2016.04.008. ISSN 0303-2647. PMID 27178785.
  6. ^ Wisely, Michael; Hurson, Ali; Sarvestani, Sahra Sedigh (2015). "An extensible simulation framework for evaluating centralized traffic prediction algorithms". 2015 International Conference on Connected Vehicles and Expo (ICCVE). pp. 391–396. doi:10.1109/ICCVE.2015.86. ISBN 978-1-5090-0264-1. S2CID 1297145.
  7. ^ Kriegel, Hans-Peter; Schubert, Erich; Zimek, Arthur (2016). "The (black) art of runtime evaluation: Are we comparing algorithms or implementations?". Knowledge and Information Systems. 52 (2): 341–378. doi:10.1007/s10115-016-1004-2. ISSN 0219-1377. S2CID 40772241.
  8. ^ "DBIDs". ELKI homepage. Retrieved 13 December 2016.
  9. ^ a b Elke Achtert, Achmed Hettab, Hans-Peter Kriegel, Erich Schubert, Arthur Zimek (2011). Spatial Outlier Detection: Data, Algorithms, Visualizations. 12th International Symposium on Spatial and Temporal Databases (SSTD 2011). Minneapolis, MN: Springer. doi:10.1007/978-3-642-22922-0_41.{{cite conference}}: CS1 maint : 복수이름 : 작성자 목록(링크)
  10. ^ 에서 발췌하다.
  11. ^ Elke Achtert, Hans-Peter Kriegel, Arthur Zimek (2008). ELKI: A Software System for Evaluation of Subspace Clustering Algorithms (PDF). Proceedings of the 20th international conference on Scientific and Statistical Database Management (SSDBM 08). Hong Kong, China: Springer. doi:10.1007/978-3-540-69497-7_41.{{cite conference}}: CS1 maint : 복수이름 : 작성자 목록(링크)
  12. ^ Elke Achtert, Thomas Bernecker, Hans-Peter Kriegel, Erich Schubert, Arthur Zimek (2009). ELKI in time: ELKI 0.2 for the performance evaluation of distance measures for time series (PDF). Proceedings of the 11th International Symposium on Advances in Spatial and Temporal Databases (SSTD 2010). Aalborg, Dänemark: Springer. doi:10.1007/978-3-642-02982-0_35.{{cite conference}}: CS1 maint : 복수이름 : 작성자 목록(링크)
  13. ^ Elke Achtert, Hans-Peter Kriegel, Lisa Reichert, Erich Schubert, Remigius Wojdanowski, Arthur Zimek (2010). Visual Evaluation of Outlier Detection Models. 15th International Conference on Database Systems for Advanced Applications (DASFAA 2010). Tsukuba, Japan: Springer. doi:10.1007/978-3-642-12098-5_34.{{cite conference}}: CS1 maint : 복수이름 : 작성자 목록(링크)
  14. ^ Elke Achtert, Sascha Goldhofer, Hans-Peter Kriegel, Erich Schubert, Arthur Zimek (2012). Evaluation of Clusterings Metrics and Visual Support. 28th International Conference on Data Engineering (ICDE). Washington, DC. doi:10.1109/ICDE.2012.128.{{cite conference}}: CS1 maint : 복수이름 : 작성자 목록(링크)
  15. ^ Elke Achtert, Hans-Peter Kriegel, Erich Schubert, Arthur Zimek (2013). Interactive Data Mining with 3D-Parallel-Coordinate-Trees. Proceedings of the ACM International Conference on Management of Data (SIGMOD). New York City, NY. doi:10.1145/2463676.2463696.{{cite conference}}: CS1 maint : 복수이름 : 작성자 목록(링크)
  16. ^ Erich Schubert; Alexander Koos; Tobias Emrich; Andreas Züfle; Klaus Arthur Schmid; Arthur Zimek (2015). "A Framework for Clustering Uncertain Data" (PDF). Proceedings of the VLDB Endowment. 8 (12): 1976–1987. doi:10.14778/2824032.2824115.
  17. ^ Schubert, Erich; Zimek, Arthur (2019-02-10). "ELKI: A large open-source library for data analysis - ELKI Release 0.7.5 "Heidelberg"". arXiv:1902.03616 [cs.LG].

외부 링크