偽陽性率計算機
本当に陰性の100件のうち誤警報が5件なら、偽陽性率は0.05です。偽陽性5を、偽陽性5と真陰性95の合計で割って求めます。検診、迷惑メールの判定、ROC曲線の横軸に使えます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 偽陽性
- 5
- 真陰性
- 95
- 条件陰性数
- 100
- 偽陽性率
- 0.05
偽陽性率は、フォールアウトや二値分類器の第一種過誤率とも呼ばれ、実際は陰性なのに誤って陽性と印された割合です。非負の二つの件数(偽陽性と真陰性)を入れると、この計算機は小数の率を返します。FPR は FP を FP と TN の和で割った値です。FPR が 0.05 なら、真に陰性だった事例の五パーセントが誤警報だったことになります。両方の件数がゼロなら条件陰性の事例がなく率は未定義なので、呼び出しはきれいに失敗します。
偽陽性率が測るものと、二つの件数が結び付く仕組み
二値分類器の偽陽性率は、実際は陰性なのにシステムが誤って陽性と付けた割合です。二行二列の混同行列の言葉では、その実際の陰性は二つのセルに分かれます。偽陽性は誤警報、真陰性はシステムが正しく放置した事例です。
その和が条件陰性の件数で、偽陽性率はその和で偽陽性を割った値です。FPR は FP を FP と TN の和で割ったものです。同じ量は情報検索の論文ではフォールアウトと呼ばれ、特異度を一から引いた値でもあります。
特異度は TN を FP と TN の和で割ったものです。FPR がゼロなら、既知の陰性の中で分類器は誤警報を一度も出していません。FPR が一なら、実際の陰性はすべて印されています。
定義は二つの件数の比だけなので、観察した真陽性や偽陰性の数には依存しません。それらのセルは感度・適合度などの派生指標に属します。そのためこの能力は、FPR の分母に現れる二つの件数だけを求めます。
信頼区間も ROC 上の点も p 値も作りません。
偽陽性率が重要になる場面
機械学習の評価スクリプトには、ホールドアウト集合に実際の陰性がないとき Infinity を黙って返さない、決定的な偽陽性率計算機が必要です。医療や検診の教材は、感度の高い検査のコストを説明するのに FPR を使います。偽陽性の一人ひとりが追跡検査へ送られる健常者であり、率はその人たちを検査した真に健常な人すべてで割った値です。
スパム・詐欺・モデレーションの待ち行列はこの数を監視します。誤警報の一つひとつが人の確認枠を消費するからです。予算の横に並べたいので百分率文字列ではなく小数が要ります。
モデルトークンも外向きネットワークも使いません。検証失敗は残高を消費しません。二つの件数を非負に保ち、真陰性の負のセルを拒めば、宿題・CI・本番報告向けの再現可能な FPR が得られ、統計スタックを自前で立てる必要はありません。
活用例
分類器の評価と ROC メモ
ホールドアウトの FP と TN の件数対を、ROC 曲線の横軸に使う小数の偽陽性率へ変換します。
検診と医療検査の教材
偽陽性を実際の陰性すべてで割り、検査が何人の健常者を追跡へ送るかを示します。
宿題と LMS 自動採点
真陰性の負の件数を拒み Infinity を作らない決定的オラクルで、FPR 問題を採点します。
よくある質問
真陰性の件数が負だとどうなりますか?
真陰性の負の件数は混同行列の妥当なセルではないので、率は作りません。この失敗は課金されません。
結果は百分率ですか、小数ですか?
単位区間上の小数です。 偽陽性五件と真陰性九十五件は 0.05 を返し、5 ではありません。表示用のパーセントが必要なときだけ 100 を掛けます。
偽陽性率と特異度はどんな関係ですか?
足すと1になります。特異度は実際の陰性全体に占める真陰性の割合なので、偽陽性率は1から特異度を引いた値です。偽陽性率0.05なら、陰性の95パーセントが正しく判定されたことになります。
真陽性や偽陰性の件数が要らないのはなぜですか?
偽陽性率は本当に陰性の件だけを見る指標だからです。真陽性と偽陰性は感度や適合率など別の指標に使われ、この割合には影響しません。
2つの件数がどちらも0のときはどうなりますか?
計算を受け付けません。偽陽性も真陰性もなければ本当に陰性の件が1件もないため、割合は0ではなく定義できない状態になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/false-positive \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"false_positives":5,"true_negatives":95}'const res = await fetch("https://api.kit.forhosting.com/stat/false-positive", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"false_positives": 5,
"true_negatives": 95
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/false-positive",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"false_positives": 5,
"true_negatives": 95
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/false-positive", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"false_positives":5,"true_negatives":95}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"false_positives":5,"true_negatives":95}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/false-positive", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"false_positives": 5,
"true_negatives": 95
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.false_positive",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
真陰性の件数が負のときは、あり得ない件数から率を作らず invalid_input で失敗します。成功した API 呼び出しは $0.002、不正な入力は課金されません。
偽陽性率が測るものと、二つの件数が結び付く仕組み
FPR が 0.05 なら、真に陰性だった百件のうち五件が偽陽性だったという意味で、このエンドポイントが返す通常の小数形であり、百分率ではありません。真陰性の件数が負なら、算術はあり得ない表を描くことになるので invalid_input で失敗します。両方の件数がゼロなら条件陰性の母集団がなく比は未定義なので、JSON クライアントを壊す NaN や Infinity を返さず失敗します。
入力契約、応答の形、誤り時の振る舞い
両方の件数はゼロ以上でなければなりません。公開契約どおり、真陰性の負の件数は拒否されます。負のセルは件数ではなく、率の意味を反転させるからです。偽陽性の負の件数も同じ理由で拒否されます。二つの件数の和は厳密にゼロより大きくなければなりません。検証失敗は前払い残高を消費しません。点推定を超える推論が必要なら、ROC 曲線や Wilson 区間は手元のソフトと組み合わせてください。この能力は意図して、二つの件数からの純粋な解析的 FPR です。必須の有限数を二つ持つ JSON 本体を POST します。false_positives は陽性と予測された実際の陰性の件数、true_negatives は陰性と予測された実際の陰性の件数です。第一フィールドは別名 fp と FP、第二フィールドは tn と TN を受け付けるので、ノートブックや型付きフォームは既存の名前を再利用できます。各フィールドは JSON 数でも数値文字列でも構いません。非有限値、欠落、空文字、非数値型はフィールド名付きの invalid_input で失敗します。実際の陰性がない表では FPR は未定義で、採点器と API クライアントが空の陰性クラスと他の不良入力を区別できるよう、誤りメッセージがその旨を述べます。成功時は両方の件数をエコーし、和を condition_negatives として返し、整えた小数の false_positive_rate を返し、FPR が FP を FP と TN の和で割ったものであることを短く記した公式文字列を付けます。例:偽陽性五件と真陰性九十五件なら condition_negatives は百、false_positive_rate は 0.05 です。
偽陽性率 API が役立つ場面
混同件数を既に持つ製品ダッシュボードは、パイプラインから API を呼び、小数の率だけを保存できます。
技術的な質問
件数から偽陽性率をどう計算しますか。
false_positives(FP)と true_negatives(TN)を送ってください。API は小数の false_positive_rate = FP / (FP + TN) と、条件陰性の合計 FP + TN を返します。
両方の件数がゼロだとどうなりますか。
実際の陰性がないとき(FP + TN = 0)、偽陽性率は未定義です。計算機は Infinity や NaN ではなく invalid_input を返します。
偽陽性率計算機の料金はいくらですか。
ブラウザ上のツールは無料です。API 要求は成功した呼び出しごとに前払いの KIT 残高から $0.002 を使います。不正な入力は課金されません。