問題タブ [elki]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
data-mining - ELKI データ ジェネレーターと外れ値
LOF のテストを行い、LOF がデータセットの密-疎問題をどれだけうまく処理できるかを示したいと思います。ELKI データ ジェネレーターのチュートリアルでは、4 つのクラスターを使用して、このような xml ファイルからデータセットを作成する方法を示しています。
しかし、どうすれば外れ値を把握できますか。ELKI ツールでは、ROCAUC 曲線を表示するために外れ値の少数派ラベルが必要です。そして、xml ファイルから取得したファイルは、データ セット内の点のファイルにすぎません。
次に、プロットを作成して外れ値を自分で特定し、それらが外れ値であるかどうかを示すためにすべての後に「はい」または「いいえ」を付け、少数派ラベルを「はい」に設定して外れ値にする必要がありますか、それとも簡単な方法はありますか?
arff - ELKI 0.6.5 または 0.6.0 での ARFF 解析
ELKI の最新バージョンを使用したいのですが、nullpointerexceptions につながるエラーが発生し、そのタスクが失敗します。0.6.0 を使用すると正常に動作します。
これはおもちゃのarffデータです:
しかし、0.6.5 で失敗します。
0.6.0 では、これは単なる警告のように見えます:
Invalid quoted line in input: no closing quote found in: @ATTRIBUTE 'outlier' {'no','yes'}それでも ROCCURVE が生成されます。
私は心配する必要がありますか?Arff ファイルを変更する必要がありますか? また、その方法は?
arff - ELKI および ARFF ファイル
結果を結果ベースと比較しますが、結果ベースとは異なる結果が得られ続けます。それらのデータはあります。
同じ結果を得るのが難しいのはなぜかと思いますが、おそらく彼らはJavaプログラムから呼び出したのですが、GUIとARFFファイルで実行しているため、面倒で現在開発されていないはずです。
私の質問は、ELKI から作成された AUCROCcurve の結果です。GUI からではなく、Java プログラムから呼び出した場合、結果は異なります。私は正確な結果を得たいと思っています。
data-mining - ELKI GUI 出力とパラメータ k (LOF)
次の出力では、 k 個の最近傍 (k=3) をマテリアライズしています。
LOFalgorithm、lof.k=2を実行している ELKI GUI からの詳細な出力。
これは、lof.k=2 を設定すると、ELKI がポイントの 3nn を参照するということですか?
parsing - ELKI CSV パーサーの問題
Weka のツールで .arff ファイルを .csv ファイルに変更しました。しかし、現在、arffparser を ELKI のパーサーとして使用することはできません。
次に、どのパーサーを使用する必要がありますか? デフォルトは NumberVectorLabelParser です。しかし、それは私に ArrayIndexOutOfBoundsException を与えます:
私の .csv ファイルは次のようになります。
11 個のパーサーが利用可能です。しかし、パーサーにとって大きすぎるのは私のデータかもしれません。
data-mining - elki-cli と elki gui の比較、同じ結果が得られない
ubuntuの端末ですが:
与える
# ROCAUC: 0.6230046948356808
そしてELKIのGUIで:
2 つの ROCAUCcurves が同じではない理由がわかりません。
これをテストする私の目標は、自分の結果に満足することです。自分のしていることは正しいことですが、一致する結果が得られない場合は困難です。設定が正しいことを確認したら、信頼できる独自の実験を行います。
java - ELKI で既存のデータを使用する方法
私はここ数日、最適な密度クラスタリング ツールを探しながら ELKI を探し続け、試してみることにしました。DBSCANの場合、ファイル「3clusters-and-noise-2d.csv」をクラスター化するテストを正常に再現し、各クラスターのクラスターメタデータとポイントをすべてgithub(最新バージョン)のELKIコードを介して出力することもできましたIN java (私は cli または ui ツールにはあまり興味がありません)。
ここで、書き込みと読み取りのオーバーヘッドを削減するために、ファイルを介してインポートする代わりに、ある種の内部 Java 構造を使用してデータベースを作成したいと考えています。
提供された例では、これを行うことができますが、ファイルの最初の列に対してのみです。
私の質問は基本的に、同じデータがJavaに既に存在する場合に、ファイルを介して作成された同じデータベースを作成する方法ですか?
とった!
したがって、いくつかの調整の後、基本的に行うことは、各行がポイントを表し、次元と同じ数の列を持つ double の 2 次元配列を使用することです...ファイルを読み取らずにデータベースを作成するには、基本的に次のように ArrayAdapterDatabaseConnection を使用します。
これを「3clusters-and-noise-2d.csv」データセットでテストしましたが、ファイルまたは arrayadapter を介して渡すと同じ結果が得られることを確認できます。
indexing - PH-Tree を ELKI に追加する
PHツリーをELKIに追加することを検討しています。そのための例のチュートリアルが見つかりませんでした。また、現時点では内部アーキテクチャが完全にはわかりません。
- PH ツリーを ELKI に追加することは理にかなっていると思いますか?
- どれだけの努力だろう。
- 助けてもらえますか?
- (私が理解している限り) kd-tree の場合のように、メモリ内バージョンのみを実装することは理にかなっていますか?
いくつかのコンテキスト: PH ツリーは、SIGMOD'14 で公開された空間インデックスです:論文、Java ソース コードはこちらから入手できます。四分木に少し似ていますが、スペース効率がはるかに高く、リバランスが不要で、次元に応じて適切にスケーリングされます。PH ツリーが R* ツリーの実装と異なるのは、リーフ/内部ノードの概念がなく、ノードがページに直接マップされないことです。また、ランダムな挿入/削除でも非常にうまく機能します (一括読み込みは必要ありません)。
data-mining - ELKI、出力: ROCAUC、Precision@k、f1.maximum
外れ値の場合、Precision @ k は何に使用されますか? (同じデータセットで k を変化させると、常に得られる精度 @ 3016であり、ELKI がその数値をどこから持っているのかわかりません。外れ値の数は 1508 です)
と
precision.average と precision.r?
f1.maximum?
ROCAUC は、アルゴリズムが外れ値を外れ値として、通常を通常オブジェクトとしてどれだけ適切にラベル付けするかの尺度であることを知っています。
外れ値検出の品質が良いかどうかを確認したい。他の対策でもできますか?