問題タブ [minhash]

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.

0 投票する
1 に答える
313 参照

apache-spark - scalaを使用してSparkでminHashLSHを評価するには?

学術論文のデータセットがあり、27770 の論文 (ノード) と、352807 エントリの長さの元のエッジを持つ別のファイル (グラフ ファイル) があります。minHashLSH を計算して類似のドキュメントを見つけ、2 つのノード間のリンクを予測したい! 怒鳴ると、これを scala で spark に実装する私の試みを見ることができます。私が直面している問題は、結果を評価する方法がわからないことです!

元のグラフは、nodeAId、nodeBId の形式のファイルです。私の結果は、nodeAId、nodeBId、JaccardSimilarity の形式になっています。どちらもデータフレームです。結果を評価し、精度または F1 スコアを取得するにはどうすればよいですか?

Accuracy と F1 スコアを見つける方法を読んだので、それらを計算する関数を作成しようとしました。私のアプローチは以下のコードです。

でも、走らせてみると止まらない!! 精度と F1 スコアを得るために、これを改善する方法や修正する方法がわかりません。これを行う簡単な方法はありますか?

皆さんのお陰で!

0 投票する
1 に答える
262 参照

elasticsearch - ワイルドカードを使用したElasticsearch minhashプレフィックスクエリ?

一部のテキストに対して生成された minhash フィールド (minhash アルゴリズムに基づく) があります。私の質問は、プレフィックス クエリをワイルドカードで補完または追加することは可能ですか? 問題があるため、ハッシュされた文字列値は、シングル/トークンのコンテンツ (テキスト) の位置に基づいています。そのため、最初の数文字 (接頭辞) が類似のコンテンツと完全に一致するとは限りません。クエリのプレフィックスの前に *3AF8659GJ などのワイルドカードを追加することはできますか?

編集:問題について十分に考えていなかったと思います。ハッシュの違いは、ハッシュ文字列のどこにでもある可能性があります (テキストの違いのコンテンツ位置のテキストの違いに基づきます)。したがって、「最良の」唯一の方法は、編集距離といくつかのしきい値になると思います。

たとえば、すべてのハッシュを配列に入れ、字句順に並べ替えます (または、16 進文字列をどのように並べ替えますか?)。次に、編集距離のしきい値に達するまで次の k 個のドキュメントのみを比較し、重複を別の配列に入れます。 ..