問題タブ [pearson]
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.
python - ピアソン類似性スコア、これをさらに最適化するにはどうすればよいですか?
値の2つの辞書を比較するために、ピアソンの類似性スコアを実装しました。この方法では、他のどこよりも多くの時間が費やされるため(数百万の呼び出しが発生する可能性があります)、これは明らかに最適化するための重要な方法です。
ほんの少しの最適化でもコードに大きな影響を与える可能性があるので、ほんの少しの改善でも探求したいと思っています。
これが私がこれまでに持っているものです:
algorithm - ピアソン ハッシュの完全なハッシュ ルックアップ テーブルの決定
私はプログラミング言語を開発しています。私のプログラミング言語では、オブジェクトをハッシュ テーブルとして保存しています。私が使用しているハッシュ関数は、256 ビットのルックアップ テーブルに依存するPearson Hashingです。関数は次のとおりです。
私の質問は、256 未満のメンバー名の固定グループが与えられたlookup
場合pearson()
、'\0'
. つまり、完全なハッシュのルックアップ テーブルを作成するアルゴリズムが必要です。これにより、メンバーの数よりも多くのスペースを占有しないオブジェクトを持つことができます。これはコンパイル時に行われるため、速度は大きな問題ではありませんが、高速であればあるほどよいでしょう。これをブルート フォースするのは簡単ですが、もっと良い方法があると思います (願っています)。
例を次に示します。クラスにメンバー変数 'foo'、'bar'、および 'baz' がある場合、次のlookup
ように決定したいと考えています。
順序は問題ではないことに注意してください。したがって、次の結果も許容されます。
理想的な世界では、テーブルにないすべての名前は 2 より大きい値を返します。これにより、チェックを回避でき、メンバー名の保存を回避できる可能性もありますが、これが可能だとは思わないので、テーブルにあるかどうかを確認するために、追加のチェックを追加する必要があります。これを考えると、使用されていないルックアップ テーブルの値を初期化しない方がおそらく時間を節約できます (衝突は問題ではありません。衝突してチェックに失敗した場合、それはオブジェクトにまったく含まれていないため、衝突は解決する必要はなく、エラーのみを処理する必要があります)。
python - 「集合知プログラミング」のこのPython関数の何が問題になっていますか?
これが問題の関数です。これは、p1とp2のピアソン相関係数を計算します。これは-1から1の間の数値であると想定されています。
これを実際のユーザーデータで使用すると、次の例のように、1より大きい数値が返されることがあります。
sparse-matrix - 協調フィルタリング プログラム: 十分なデータがない場合のピアソン スコアの対処法
協調フィルタリングを使用してレコメンデーション エンジンを構築しています。類似性スコアには、ピアソン相関を使用します。ほとんどの場合、これは素晴らしいことですが、1 つまたは 2 つのフィールドしか共有しないユーザーがいる場合もあります。例えば:
これは 2 つのデータ ポイントのみであるため、ピアソン相関は常に 1 (直線または完全な相関) になります。これは明らかに私が望んでいるものではないので、代わりにどの値を使用する必要がありますか? このようにすべてのインスタンスを破棄することもできますが (相関を 0 にします)、私のデータは現在非常にまばらであり、何も失いたくありません。残りの類似性スコア (すべてピアソン) に適合する、使用できる類似性スコアはありますか?
java - Javaでピアソンの相関を計算することに関して、正しい方向を指す必要があります
各列が変数であるタブ区切りのテキスト ファイルで、13 の変数間のピアソン相関を計算しようとしています。私はJavaを使用していますが、どのライブラリまたはどの機能を使用すべきかについて誰かが私にガイダンスを提供できることを望んでいました. 最初にファイルの内容を読み取る必要があると思いますが、各列が必要な計算を実行できるようにする配列のようなものであることをプログラムに本質的に知らせる方法がわかりません。java.io パッケージから始めるのが最適だと思っていましたが、問題に使用できるクラスがわかりません。http://commons.apache.org/math/も見ましたこれにはピアソンの相関を測定する機能がありますが、それは簡単すぎます。これは Uni の割り当てであるため、ゼロから実装する必要があります。アパッチピアソンの相関関係を見ると、行列の各列が変数である行列のように問題に取り組んでいるようです。
私の問題を長く説明して申し訳ありません。何かウェブサイトや検索に適したキーワード、その他の情報をご存じでしたら、よろしくお願いいたします。ありがとう、アーリンド。
matlab - MATLAB で欠損値を Pearson Correlation に置き換える方法
MATLAB で「corr」関数を使用すると問題が発生します。
手動で計算すると、分母がゼロ (0) であるため、欠損値 (NaN) が表示されます。ただし、列 3 と 4 の類似度は 1 (+1) であることがわかります。
欠損値を強化または置換する方法を知っている人はいますか?
ありがとうございます。
text - 関連テキストの検索 (2 つのテキスト間の相関関係)
相関を介してデータベースで類似の記事を見つけようとしています。
そこで、テキストを単語の配列に分割し、よく使用される単語 (冠詞、代名詞など) を削除してから、2 つのテキストをピアソン係数関数で比較します。一部のテキストでは機能しますが、他のテキストではあまり良くありません (大きなテキストのテキストは係数が高くなります)。
関連するテキストを見つけるための良い方法を教えてもらえますか?
matlab - Matlab でのピアソンの係数と共分散の計算
Matlab で (Matlab の関数を使用せずに)ピアソンの相関係数を計算したい。corr
簡単に言えば、2 つのベクトル A と B (それぞれが 1x100) があり、ピアソンの係数を次のように計算しようとしています。
私はMatlabのcov
andstd
関数を使用しています。私が得られないのは、 cov 関数が次のような正方行列を返すことです。
しかし、共分散として単一の数値を期待しているので、単一の P (ピアソン係数) 数値を考え出すことができます。私が見逃しているポイントは何ですか?