| 開発者 | ドルトムント工科大学、当初はミュンヘン・ルートヴィヒ・マクシミリアン大学 |
|---|---|
| 安定リリース | 0.8.0 / 2022年10月5日 |
| リポジトリ |
|
| 書かれた | ジャワ |
| オペレーティング·システム | Microsoft Windows、Linux、Mac OS |
| プラットフォーム | Javaプラットフォーム |
| タイプ | データマイニング |
| ライセンス | AGPL (バージョン 0.4.0 以降) |
| Webサイト | elki-project.github.io |
ELKI ( Environment for Developing KDD-Applications Supported by Index-Structures ) は、研究および教育で使用するために開発されたデータ マイニング(KDD、データベースにおける知識発見)ソフトウェア フレームワークです。これはもともと、ドイツのミュンヘンにあるルートヴィヒ マクシミリアン大学のデータベース システム研究ユニットによって作成され、 Hans-Peter Kriegel教授が率いていました。このプロジェクトは、ドイツのドルトムント工科大学で継続されています。その目的は、高度なデータ マイニング アルゴリズムの開発と評価、およびそれらのデータベース インデックス構造との相互作用を可能にすることです。
説明
ELKIフレームワークはJavaで書かれており、モジュラーアーキテクチャを中心に構築されています。現在含まれているアルゴリズムのほとんどは、クラスタリング、外れ値検出、[1]、およびデータベースインデックスを実行します。オブジェクト指向アーキテクチャでは、任意のアルゴリズム、データ型、距離関数、インデックス、および評価尺度を組み合わせることができます。Javaのジャストインタイムコンパイラはすべての組み合わせを同程度に最適化するため、コードの大部分を共有する場合はベンチマーク結果をより比較しやすくなります。新しいアルゴリズムやインデックス構造を開発する場合、既存のコンポーネントを簡単に再利用でき、 Javaの型安全性により、コンパイル時に多くのプログラミングエラーが検出されます。
ELKI は、ラベルを必要とせずにパターンや異常なデータポイントを見つけることに主に焦点を当てた、データ分析用の無料ツールです。Java で書かれており、特殊な構造を使用して高速かつ大規模なデータセットを処理できることを目指しています。研究者や学生が独自の方法を追加し、さまざまなアルゴリズムを簡単に比較できるように作られています。[2]
ELKIは、データサイエンスの分野では、マッコウクジラのコーダのクラスタリング、[ 3 ] 、音素クラスタリング、[4]、宇宙飛行業務における異常検出、[5]、自転車シェアリングの再配分、[6] 、交通予測などに使用されています。[7]
目的
この大学プロジェクトは、教育と研究で使用するために開発されています。ソースコードは拡張性と再利用性を念頭に置いて書かれていますが、パフォーマンスも最適化されています。アルゴリズムの実験的評価は多くの環境要因に依存し、実装の詳細は実行時間に大きな影響を与える可能性があります。[8] ELKIは、多くのアルゴリズムの比較可能な実装を備えた共有コードベースを提供することを目指しています。
研究プロジェクトであるため、現時点ではビジネス インテリジェンスアプリケーションとの統合や、SQL を介した一般的なデータベース管理システムへのインターフェイスは提供されていません。コピーレフト( AGPL ) ライセンスは、商用製品への統合の妨げになる可能性もありますが、商用製品用に独自の実装を開発する前にアルゴリズムを評価するために使用できます。 さらに、アルゴリズムの適用には、その使用方法、パラメーター、および元の文献の研究に関する知識が必要です。 対象者は、学生、研究者、データ サイエンティスト、ソフトウェア エンジニアです。
建築
ELKI は、データベースにヒントを得たコアに基づいてモデル化されており、列グループにデータを格納する垂直データ レイアウトを使用します ( NoSQL データベースの列ファミリに似ています)。このデータベース コアは、最近傍検索、範囲/半径検索、および距離クエリ機能を提供し、さまざまな非類似度測定に対してインデックス アクセラレーションを実現します。このようなクエリに基づくアルゴリズム ( k 近傍アルゴリズム、ローカル外れ値係数、DBSCAN など) は簡単に実装でき、インデックス アクセラレーションのメリットを享受できます。データベース コアは、最近傍リストなどのオブジェクト コレクションや連想構造に対して、高速でメモリ効率の高いコレクションも提供します。
ELKI は Java インターフェイスを広範に使用しているため、多くの場所で簡単に拡張できます。たとえば、カスタム データ型、距離関数、インデックス構造、アルゴリズム、入力パーサー、出力モジュールを、既存のコードを変更することなく追加および組み合わせることができます。これには、カスタム距離関数を定義し、既存のインデックスを使用して高速化する可能性も含まれます。
ELKI はサービス ローダーアーキテクチャを使用して、拡張機能を個別のjar ファイルとして公開できるようにします。
ELKIは、パフォーマンスのために標準のJava APIではなく最適化されたコレクションを使用します。[9] たとえば、forループはC++のイテレータに似た書き方をします。
for ( DBIDIter iter = ids . iter (); iter . valid (); iter . advance ()) { relationship . get ( iter ); // 例: 参照オブジェクトを取得するidcollection . add ( iter ); // 例: DBID コレクションへの参照を追加する}
典型的な Java イテレータ (オブジェクトのみを反復処理可能) とは対照的に、イテレータは内部的にプリミティブ値をデータ ストレージに使用できるため、メモリを節約できます。ガベージ コレクションが削減されるため、実行時間が向上します。GNU Trove3、Koloboke、fastutil などの最適化されたコレクション ライブラリは、同様の最適化を採用しています。ELKI には、このような最適化を使用するオブジェクト コレクションやヒープ (たとえば、最近傍検索用) などのデータ構造が含まれています。
視覚化
視覚化モジュールは、スケーラブルなグラフィック出力にSVG を使用し、ユーザー インターフェイスのレンダリングと、LaTeXの科学出版物に簡単に組み込めるようにPostScriptおよびPDFへのロスレス エクスポートにApache Batik を使用します。エクスポートされたファイルは、 Inkscapeなどの SVG エディターで編集できます。カスケーディング スタイル シートが使用されるため、グラフィック デザインは簡単にスタイルを変更できます。残念ながら、Batik は遅く、メモリを大量に消費するため、視覚化は大規模なデータ セットに対してあまりスケーラブルではありません (大規模なデータ セットの場合、デフォルトではデータのサブサンプルのみが視覚化されます)。
受賞歴
2011年の「空間および時間データベースに関するシンポジウム」で発表されたバージョン0.4には、空間外れ値検出のためのさまざまな方法が含まれており、[10] は会議の「最優秀デモンストレーション論文賞」を受賞しました。
含まれるアルゴリズム
含まれるアルゴリズムを選択: [11]
- クラスター分析:
- K-means クラスタリング(Elkan、Hamerly、Annulus、Exponion k-Means などの高速アルゴリズム、および k-means などの堅牢なバリアントを含む)
- K-中央値クラスタリング
- K-medoids クラスタリング (PAM) (FastPAM および CLARA、CLARANS などの近似を含む)
- ガウス混合モデリングのための期待最大化アルゴリズム
- 階層的クラスタリング(高速SLINK、CLINK、NNChain、Anderbergアルゴリズムを含む)
- 単一リンククラスタリング
- リーダーのクラスタリング
- DBSCAN (ノイズを含むアプリケーションの密度ベースの空間クラスタリング、任意の距離関数の完全なインデックス加速付き)
- OPTICS (クラスタリング構造を識別するためのポイントの順序付け)、拡張機能 OPTICS-OF、DeLi-Clu、HiSC、HiCO、DiSH を含む
- HDBSCAN
- 平均シフトクラスタリング
- BIRCHクラスタリング
- SUBCLU (高次元データのための密度接続サブスペースクラスタリング)
- CLIQUEクラスタリング
- ORCLUS と PROCLUS クラスタリング
- COPAC、ERiC、4Cクラスタリング
- CASHクラスタリング
- DOC および FastDOC サブスペース クラスタリング
- P3Cクラスタリング
- キャノピークラスタリングアルゴリズム
- 異常検出:
- 頻出アイテムセットマイニングと相関ルール学習
- アプリオリアルゴリズム
- エクラ
- FP成長
- 次元削減
- 主成分分析
- 多次元尺度
- T分布確率近傍埋め込み(t-SNE)
- 空間インデックス構造およびその他の検索インデックス:
- 評価:
- 精度と再現率、F1スコア、平均精度
- 受信者動作特性(ROC曲線)
- 割引累積利益(NDCGを含む)
- シルエットインデックス
- デイヴィス・ボールディン指数
- ダン指数
- 密度ベースのクラスター検証 (DBCV)
- 視覚化
- 他の:
バージョン履歴
バージョン0.1(2008年7月)には、クラスター分析や異常検出のアルゴリズムがいくつか含まれており、R*ツリーなどのインデックス構造もいくつか含まれていました。最初のリリースでは、サブスペースクラスタリングと相関クラスタリングアルゴリズムに重点が置かれていました。 [12]
バージョン0.2(2009年7月)では時系列解析機能、特に時系列の距離関数が追加されました。[13]
バージョン0.3(2010年3月)では、異常検出アルゴリズムと可視化モジュールの選択肢が拡張されました。 [14]
バージョン0.4(2011年9月)では、地理データマイニングのアルゴリズムと、マルチリレーショナルデータベースとインデックス構造のサポートが追加されました。[10]
バージョン0.5(2012年4月)では、クラスター分析結果の評価に重点が置かれ、新しい視覚化といくつかの新しいアルゴリズムが追加されました。[15]
バージョン0.6(2013年6月)では、アルゴリズムやインデックス構造の通常の追加に加えて、データ視覚化のための新しい3D並列座標が導入されています。 [16]
バージョン0.7(2015年8月)では、不確実なデータタイプのサポートと、不確実なデータの分析のためのアルゴリズムが追加されました。[17]
バージョン0.7.5(2019年2月)では、追加のクラスタリングアルゴリズム、異常検出アルゴリズム、評価尺度、インデックス構造が追加されました。[18]
バージョン0.8(2022年10月)では、自動インデックス作成、ガベージコレクション、増分優先度検索、 BIRCHなどの多くのアルゴリズムが追加されました。[19]
類似アプリケーション
- scikit-learn : Python の機械学習ライブラリ
- Weka : ワイカト大学による同様のプロジェクト。分類アルゴリズムに重点を置いている。
- RapidMiner : 市販のアプリケーション(制限付きバージョンはオープンソースとして利用可能)
- KNIME : 機械学習とデータマイニングのためのさまざまなコンポーネントを統合したオープンソースプラットフォーム
参照
参考文献
- ^ Hans-Peter Kriegel、Peer Kröger、Arthur Zimek (2009)。「外れ値検出テクニック (チュートリアル)」(PDF)。第 13 回太平洋アジア知識発見およびデータマイニング会議 (PAKDD 2009)。バンコク、タイ。2010 年 3 月 26 日閲覧。
{{cite journal}}: CS1 maint: 複数の名前: 著者リスト (リンク) - ^ 「ELKI データマイニングフレームワーク」。elki -project.github.io 。2024 年 5 月 30 日閲覧。
- ^ ジェロ、シェーン; ホワイトヘッド、ハル; レンデル、ルーク (2016)。「マッコウクジラのコーダにおける個体、ユニット、および音声クランレベルのアイデンティティキュー」。ロイヤルソサエティオープンサイエンス。3 (1): 150372。Bibcode : 2016RSOS .... 350372G。doi : 10.1098/rsos.150372。ISSN 2054-5703。PMC 4736920。PMID 26909165。
- ^ Stahlberg, Felix; Schlippe, Tim; Vogel, Stephan; Schultz, Tanja (2013). 「クロスリンガル単語対音素アライメントによる音素シーケンスからの発音抽出」。統計的言語および音声処理。コンピュータサイエンスの講義ノート。第 7978 巻。pp . 260–272。doi :10.1007 / 978-3-642-39593-2_23。ISBN 978-3-642-39592-5. ISSN 0302-9743.
- ^ Verzola, Ivano; Donati, Alessandro; Martinez, Jose; Schubert, Matthias; Somodi, Laszlo (2016). 「Project Sibyl: 有人宇宙飛行オペレーションのための新規性検出システム」Space Ops 2016 カンファレンス. doi :10.2514/6.2016-2405. ISBN 978-1-62410-426-8。
- ^ Adham, Manal T.; Bentley, Peter J. (2016). 「人工エコシステムアルゴリズムにおけるクラスタリング手法の評価とロンドンの自転車再配分への応用」Biosystems . 146 :43–59. Bibcode :2016BiSys.146...43A. doi :10.1016/j.biosystems.2016.04.008. ISSN 0303-2647. PMID 27178785.
- ^ ワイズリー、マイケル、ハーソン、アリ、サーベスタニ、サラ・セディグ (2015)。「集中型交通予測アルゴリズムを評価するための拡張可能なシミュレーション フレームワーク」。2015年国際コネクテッド ビークル カンファレンスおよびエキスポ (ICCVE) 。pp . 391–396。doi :10.1109 / ICCVE.2015.86。ISBN 978-1-5090-0264-1. S2CID 1297145。
- ^ Kriegel, Hans-Peter ; Schubert, Erich; Zimek, Arthur (2016). 「実行時評価の (ブラック) アート: 比較しているのはアルゴリズムか実装か?」.知識と情報システム. 52 (2): 341–378. doi :10.1007/s10115-016-1004-2. ISSN 0219-1377. S2CID 40772241.
- ^ 「DBID」。ELKIホームページ。 2016年12月13日閲覧。
- ^ ab エルケ・アハテルト、アクメド・ヘッタブ、ハンス・ペーター・クリーゲル、エーリヒ・シューベルト、アルトゥール・ジメク(2011)。空間的外れ値の検出: データ、アルゴリズム、視覚化。第 12 回時空間データベースに関する国際シンポジウム (SSTD 2011)。ミネソタ州ミネアポリス:スプリンガー。土井:10.1007/978-3-642-22922-0_41。
{{cite conference}}: CS1 maint: 複数の名前: 著者リスト (リンク) - ^ 「ELKI のデータマイニングアルゴリズム」からの抜粋。2019年10 月 17 日閲覧。
- ^ Elke Achtert、Hans-Peter Kriegel、Arthur Zimek (2008)。ELKI: サブスペースクラスタリングアルゴリズムの評価用ソフトウェアシステム(PDF)。科学および統計データベース管理に関する第20回国際会議 (SSDBM 08) の議事録。香港、中国: Springer。doi : 10.1007/978-3-540-69497-7_41。
{{cite conference}}: CS1 maint: 複数の名前: 著者リスト (リンク) - ^ Elke Achtert、Thomas Bernecker、Hans-Peter Kriegel、Erich Schubert、Arthur Zimek (2009)。ELKI in time: 時系列の距離測定のパフォーマンス評価のための ELKI 0.2 ( PDF)。Proceedings of the 11th International Symposium on Advances in Spatial and Temporal Databases (SSTD 2010)。オールボー、デンマーク: Springer。doi :10.1007/978-3-642-02982-0_35。
{{cite conference}}: CS1 maint: 複数の名前: 著者リスト (リンク) - ^ Elke Achtert、Hans-Peter Kriegel、Lisa Reichert、Erich Schubert、Remigius Wojdanowski、Arthur Zimek (2010)。外れ値検出モデルの視覚的評価。第15回国際データベースシステム高度応用会議 (DASFAA 2010)。筑波、日本: Springer。doi : 10.1007/978-3-642-12098-5_34。
{{cite conference}}: CS1 maint: 複数の名前: 著者リスト (リンク) - ^ Elke Achtert、Sascha Goldhofer、Hans-Peter Kriegel、Erich Schubert、Arthur Zimek (2012)。クラスタリングのメトリクスと視覚的サポートの評価。第28回国際データエンジニアリング会議 (ICDE)。ワシントン DC。doi : 10.1109/ICDE.2012.128。
{{cite conference}}: CS1 maint: 複数の名前: 著者リスト (リンク) - ^ Elke Achtert、Hans-Peter Kriegel、Erich Schubert、Arthur Zimek (2013)。3D並列座標ツリーを使用したインタラクティブなデータマイニング。ACM 国際データ管理会議 ( SIGMOD ) の議事録。ニューヨーク市、ニューヨーク州。doi : 10.1145/2463676.2463696。
{{cite conference}}: CS1 maint: 複数の名前: 著者リスト (リンク) - ^ Erich Schubert、Alexander Koos、Tobias Emrich、Andreas Züfle、Klaus Arthur Schmid、Arthur Zimek (2015)。「不確実なデータをクラスタリングするためのフレームワーク」(PDF)。VLDB Endowmentの議事録。8 (12): 1976–1987。doi : 10.14778 /2824032.2824115。
- ^ Schubert, Erich; Zimek, Arthur (2019-02-10). 「ELKI: データ分析のための大規模なオープンソースライブラリ - ELKI リリース 0.7.5 "Heidelberg"」" .arXiv : 1902.03616 [cs.LG]。
- ^ Schubert, Erich (2022). ELKIにおける類似性検索の自動インデックス作成。類似性検索とその応用。pp. 205–213。doi : 10.1007/978-3-031-17849-8_16。
外部リンク
- ダウンロードとドキュメントを備えた ELKI の公式 Web サイト。
