問題タブ [precision-recall]
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 つのデータ ソースがあります。
- 最初のデータ ソースには、特定の query_id に基づいて、すべてのユーザーがクリックした item_ids があります。
- 2 番目のデータ ソースには、指定された query_id に関連するすべての item_id があります。
私はPythonを使用し、次のように2つのデータソースでこれらを辞書に入れました:
私は scikit-learn の Web サイト ( http://scikit-learn.org/stable/auto_examples/plot_precision_recall.html ) の記事を読んでいて、式に従おうとしましたが、偽陽性と偽陰性を実際に設定するのに本当に混乱しました。
scikit-learn の方程式に従います: 上記の例によると、アイテムの事前定義101
しかし、リコールを理解しようとすると、クリックデータの偽陰性項目を取得するのに問題があります。理論的には、偽陰性は誤ってマークされていることを意味します。私が持っているのは、特定の ID のユーザーがクリックしたデータと、その ID に関連するすべてのアイテムだけです。
グラフを作成できるように、精度と再現率を正しく計算するにはどうすればよいですか。
これが結果を評価するための良い指標ではない場合、別のメモとして、上記のデータしかないという事実を考慮して、良い指標は何でしょうか?
cluster-analysis - 位置データをクラスタリングする場合、真陽性、真陰性などを見つけますか?
クラスタリング手法を評価しようとしています。そのための有効な手段の一つにF1スコアがあることを知りました。私が行ったリンクに従って
基本的にPrecisionとRecallの調和平均。また、精度と再現率が何であるかもわかりました。そしてそれも
真陽性 = 正しく識別された
誤検知 = 誤って識別された
真陰性 = 正しく却下
偽陰性 = 誤って拒否された
しかし、私の問題は、これをクラスタリングと関連付けることができなかったことです。たとえば、次のシナリオがある場合
そして、私のクラスタリング結果は
この場合、テストデータで真陽性などを見つけるにはどうすればよいですか? 分類の場合は理解できましたが、この場合は分類がないためわかりませんでした。
アップデート:
私のシナリオでは分類指標を使用できません。私は位置データを使用しているので、形成されたクラスターから見つけられる可能性のある結果は次のとおりです。
これにより、次の内部評価手段を使用できます
しかし、真のクラスタリングに向けて、これについてさらに研究を進めたいと考えています。真のクラスタリングとは、手動でクラスタを作成し、さらにクラスタを評価することだと理解しました。どう評価されているのだろう?と思いました。それに関連する記事や論文が見つかりません。
python-2.7 - 2 つの精度と 2 つのリコールがあるのはなぜですか?
Python、Pandas、および NLTK を使用して Naive Bayes 分類器を実行しています。
一般に、適合率と再現率を計算する対象と方法は理解していますが、次のコマンドを使用するときに、適合率と再現率のペアが 1 組ある理由がわかりません。
分類は人名の頭文字(特徴)で中国人と非中国人。
私の理解では、適合率 = A/(A+C) および再現率 = D/(B+D) です。
information-retrieval - 抽出された正しいデータレコードの数を計算する方法は?
抽出された正しいデータ レコード、抽出されたデータ レコードの総数、および正しくないデータ レコードが必要な再現率と適合率を計算したいと考えています。
入力 html ページがあり、そこから有用なデータを抽出し、ラッパーを使用して出力 html ページを生成しています。
matlab - WANG データベースで精度と再現率を計算する
MATLAB で CBIR システムを作成し、類似度測定をユークリッド距離として使用しました。これをクエリ画像ごとに使用して、上位 20 の画像を取得します。
システムのテストにWANG データセットを使用しました。
10 個のクラス (アフリカ人、バス、バラなど) が含まれており、それぞれに 100 個の画像が含まれています (合計 1000 個の画像)。
私の方法:
1. ベクトル (それぞれ 64 + 196 + 28 = 288 次元) を構築するために、コレログラム、共起行列 (CCM)、およびピクセル スキャン パターン (DBPSP) の違いを使用しています。
- 1000 db の各画像には、事前にベクトルが作成されています。
- クエリ画像が来て、それもベクトルを構築します(再び228次元)。
- 類似性にはユークリッド距離を使用し、db 画像ベクトルをユークリッド距離の降順に並べ替えます。
上位 20 件の結果が表示されます。
それらの 20 で、TP または FP を持つことができます。
単一のクエリ画像の場合、このリンクを使用して、Precision と Recall を簡単に計算し、PR 曲線をプロットできます。
クラス全体で同じことを行うにはどうすればよいですか?
私のアプローチ: クラス A に属する各画像について、上位 20 枚の画像を見つけます。それはそれぞれ TP (真陽性) と FP (偽陽性) です。
クラス A の精度 = 1500/(2000) = .75 (そうですか??)
クラス A のリコール ---> スタック ??
PR カーブ ----> スタック ?? いくつかのリンクには、そのために分類子が必要であると書かれていますが、そうでないリンクもあります...私は本当に混乱しています。
python - sklearn.metricsのprecision_recall_curveとroc_curveの両方の関数で同じしきい値を取得する方法
TPR 値と FPR 値、および適合率と再現率を含むテーブルを作成する必要があります。Python で sklearn.metrics パッケージの roc_curve および precision_recall_curve 関数を使用しています。私の問題は、すべての関数がしきい値に対して異なるベクトルを提供することであり、値を単一のテーブルの列としてマージするために必要なのは 1 つだけです。誰でも私を助けることができますか?
前もって感謝します
machine-learning - 負のクラスがまれな場合の F スコア
データの 20% がネガティブ クラスで、80% がポジティブなデータセットがあります。F スコアを計算するとき、精度は TP/(TP+FP) であると仮定します。頻度の低いクラスが負であるため、数式を「反転」する必要がありますか? TN/(TN+FN) でしょうか?