カッパ係数は、分類者や機械学習モデルの判定の一致度を、偶然の一致を差し引いて測る指標です。単純な一致率は、あるクラスが大多数を占めるデータでは高く見えます。
2人の評価者や2つの分類結果の一致はCohenのカッパで測り、条件に応じて重み付きカッパやFleissのカッパも使い分けます。
AI駆動開発の基本や工程ごとの活用方法、費用・期間への影響については、無料ホワイトペーパー「【2026年最新版】AI駆動開発の完全ガイドブック」で詳しく解説しています。
カッパ係数とは?偶然の一致を除いた分類の一致度
カッパ係数(kappa coefficient)は、2つのカテゴリ判定がどれだけ一致したかを表す統計指標です。
入力は、同じ対象に対する評価者Aと評価者Bのラベル、または正解ラベルとモデル予測の組み合わせです。
観測された一致率を P_o、各評価者が同じ分布で独立に判定したと仮定した期待一致率を P_e とすると、Cohenのカッパは次の式になります。
κ = (P_o - P_e) / (1 - P_e)分子は偶然を超えて得られた一致、分母は偶然を除いたあとに残る一致の最大量に相当します。完全一致ならκは1、観測一致が期待一致と同じなら0です。
観測一致率が期待一致率を上回らないときは、分布の偏りによってκが負になる場合もあります。このため、カッパ係数を「一致率の百分率」と解釈してはいけません。
カッパ係数の計算方法|混同行列からの観測一致率と期待一致率の算出
観測一致率Poの算出
まず、混同行列の対角成分(2つの判定が同じセルの数)を合計し、全件数で割ります。
たとえば、100件のうち80件でラベルが一致していれば、観測一致率は P_o=0.80 です。この値は通常のaccuracyと同じ形ですが、カッパでは次に偶然の一致を差し引きます。
期待一致率Peの算出
期待一致率では、各評価者がどのクラスをどの割合で選んだかを使います。2クラスなら、評価者Aが陽性を選ぶ割合と評価者Bが陽性を選ぶ割合を掛け、陰性どうしの割合も掛けて、その2つを足します。
多クラスでも同じ考え方で、クラスごとの周辺比率を掛けて合計します。どちらか一方の評価者がほとんどの対象を「正常」と判定する場合、偶然一致の割合が高くなり、単純一致率との差が現れます。
具体例で見る一致率との違い
クラスの分布が偏ると、単純一致率の見え方が変わります。次の例で、その違いを確かめます。
- 一致率の例:100件中90件が陰性で、AとBがほぼすべてを陰性と判定すると、95%が同じ判定になることがあります。
- 陽性判定の確認:陽性側の一致が十分でなくても、クラス分布によって一致率は高く見える可能性があります。
期待一致率が0.90のとき、観測一致率0.95に対するκは (0.95-0.90)/(1-0.90)=0.50 になります。accuracyの95%だけを見る場合と、評価が大きく変わります。
カッパ係数の種類|評価者数とラベルの順序による選び分け
Cohenのカッパ|2つの判定の比較
Cohenのカッパは、2人の評価者、または正解ラベルとモデル予測のように2つの判定系列を比較します。前提として、各対象が同じ2クラス以上のカテゴリに分類されている必要があります。
モデル評価で使うときは、正解ラベルの作り方が妥当か、評価対象が互いに独立しているか、クラスの定義が固定されているかを確かめておきます。前提が崩れると、κの値をそのまま比べられなくなるためです。
重み付きカッパ|順序尺度の離れ方の考慮
「軽度・中等度・重度」のように順序があるカテゴリでは、軽度と中等度のずれと、軽度と重度のずれを同じ重さで扱うのは不自然です。
そこで重み付きカッパでは、隣り合うカテゴリの不一致には小さなペナルティ、離れたカテゴリの不一致には大きなペナルティを設定します。線形重みや二乗重みなど、選び方によって値が変わるため、採用した重みと理由を報告してください。
Fleissのカッパ|3人以上の評価者への対応
3人以上の評価者が同じ対象を分類する場合は、Fleissのカッパなど複数評価者向けの指標を使います。全員のペアごとにCohenのカッパを平均する方法とは、前提も解釈も異なります。
評価者が固定の2人なのか、複数の評価者から一部ずつ割り当てられるのかで、設計は変わります。そのため、人数だけでなく、データをどう集めたかという構造まで確かめてください。
カッパ係数の解釈|数値の目安の扱い方
κの解釈には、0未満、0〜0.20、0.21〜0.40、0.41〜0.60、0.61〜0.80、0.81〜1.00などの段階的な目安があります。
ただし、これは普遍的な合格ラインではありません。許容できる値は、誤りのコストやクラスの希少性によって変わります。専門家間の合意可能性や判定の難しさも関係するため、研究や業務の基準は事前に定め、信頼区間も併記します。
特にκが低いときは、評価者の判断が本当に割れているのか、対象が偏っているのか、カテゴリの定義が曖昧なのかを切り分けます。混同行列とクラス別の再現率を見れば、どのラベル間で判断が割れているかを特定できます。
一方で、κが高くても少数クラスを見逃している可能性があるため、κはaccuracyやF1、適合率・再現率の代わりにはなりません。
カッパ係数の注意点|クラス分布と評価設計の影響
有病率やクラス割合による影響
カッパは期待一致率を計算に使うため、クラスの出現割合の影響を受けます。たとえば、まれな陽性を扱うデータでは、評価者が陽性判定について高い一致を示していても、陰性の一致が支配的になり、κが低く見えることがあります。
また、クラス割合を人工的に変えたデータでは、実運用時と値を直接比べられません。そのため、元の分布とサンプリング方法を併せて報告してください。
評価者の偏りとバイアス
2人の評価者の判定が陽性と陰性のどちらにどれだけ偏るかが大きく違えば、κは変わります。カッパは「一致」だけでなく「各評価者の判定分布」も見ているため、こうした変化が起きます。
分析では、κと一致率、各評価者のクラス別の割合を並べて示し、どの前提で値が変わったのかを説明できるようにします。
サンプル数と信頼区間
対象数が少ないと、1件の判定が変わるだけでκが大きく動きます。そのため、点推定だけでなく、ブートストラップや漸近近似による信頼区間も示し、対象数とカテゴリ数を併せて報告します。
値の変化が、評価者を追加した効果なのか、カテゴリ定義を見直した結果なのかは、同じ期間と同じ対象で比べなければ判断できません。
機械学習の分類評価でカッパ係数を使う方法
分類モデルでカッパを使う場合は、まず訓練データとは独立した検証・テストデータで予測を作ります。そのうえで、正解ラベルと予測ラベルを同じ順序で並べ、クラス名の対応を固定してから計算します。
確率を出力するモデルでは、しきい値を変えるとκも変わるため、業務上の判定ルールと合わせて評価します。
from sklearn.metrics import cohen_kappa_score
kappa = cohen_kappa_score(y_true, y_pred)
weighted_kappa = cohen_kappa_score(y_true, y_pred, weights="quadratic")
print(kappa, weighted_kappa)scikit-learnでは cohen_kappa_score がCohenのカッパを計算します。
順序カテゴリでは weights で重み付けを検討できます。ただし、重み付きと通常の値を取り違えないよう、指標名を結果表に明記してください。
二値分類のモデルを比べるときは、カッパだけでなく、混同行列やF1、PR-AUCを併記します。業務上重要なクラスの再現率も、あわせて示します。
アノテーション品質管理での活用|不一致理由をもとにした改善
画像、文章、音声のアノテーションでは、複数の担当者が同じサンプルを判定します。カッパ係数を使えば、ガイドラインの一貫性を数値で確かめられます。
値が低いときは、評価者を責めるのではなく、ラベルの定義や境界事例の例示を見直します。判定手順や専門用語の説明も、あわせて確認します。そのうえで、合意形成後に同じサンプルを再評価し、改善前後の混同行列とκを比べます。
品質管理では、全件を一人で再確認するより、評価者間で重なるサンプルを計画的に抽出し、κを定期的に監視する方法が現実的です。
カテゴリの出現割合が変わると値も動くため、月ごとのκだけでなく、共通の監査セットで評価します。一方で、監査セットを長期間固定すると慣れによる影響が出るため、更新方法も記録してください。
カッパ係数まとめ|一致率と混同行列を合わせた判断
カッパ係数は、観測された一致率から偶然の一致を差し引き、2つのカテゴリ判定の一致度を測る指標です。
Cohenのカッパは2つの判定系列、重み付きカッパは順序カテゴリ、Fleissのカッパは複数評価者に向けた指標です。データ構造に応じて使い分けます。
κの数値だけで良し悪しを判断せず、一致率と混同行列を合わせて見ます。そのうえで、クラス分布、信頼区間、業務上の誤りコストを踏まえて解釈してください。
機械学習では独立した評価データを使い、アノテーションではラベル定義の改善につなげます。指標の種類や重み、サンプリング条件を明記しておけば、他の評価結果との比較が可能になります。
よくある質問(FAQ)
Q. カッパ係数とは何ですか?
カッパ係数とは、2つのカテゴリ判定の一致度を、クラス分布から生じる偶然の一致を差し引いて測る指標です。値は一致率とは異なる尺度で解釈します。
Q. カッパ係数が1や0の場合はどういう意味ですか?
1は完全一致を、0は観測された一致が偶然の一致と同程度であることを示します。負の値は、偶然より一致が少ない状態を示します。
Q. カッパ係数と一致率(accuracy)はどちらを使うべきですか?
どちらか一方ではなく、両方を併記するのが基本です。一致率は直感的に分かりやすい一方で、クラス割合の影響を受けます。カッパは偶然の一致を考慮しますが、κも分布の影響を受けるため、混同行列とクラス別の指標もあわせて確認します。
Q. 順序のある評価にはどのカッパを使いますか?
軽度・中等度・重度のような順序カテゴリでは、離れた不一致を重く扱える重み付きカッパを検討します。線形か二乗かなど、重みの定義を明記してください。
Q. カッパ係数が低いときは何を見直しますか?
混同行列で不一致のカテゴリを確認したうえで、ラベル定義や境界事例の例を見直します。評価者への手順説明やクラス分布も、確認の対象になります。少数データなら信頼区間も見て、単一の値で原因を決めないようにします。
開発を相談する前に、無料ホワイトペーパーの【2026年最新版】AI駆動開発の完全ガイドブックをご覧ください。
参考資料
カッパ係数の定義と計算方法を確認できる資料です。
会社紹介
株式会社riplaでは、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを、構想策定・要件定義から開発・改善まで一気通貫で支援。事業会社でIT・DXを経験したプロフェッショナルによる高い要件定義力・システム設計力を活かし、事業成果の最大化に伴走します。

また、当社独自の開発テンプレート「Boxシリーズ」による標準機能の高速開発と、AI駆動開発の独自フレームワーク「GoDD」による独自機能のAI実装を組み合わせることで、低コスト・短期間で開発を実現いたします。

もし、システム開発やプロダクト開発に関するご要望がございましたら、お気軽にお問い合わせください。
・サービス概要資料のURLはこちら >>>
・お問合せページのURLはこちら >>>
・お役立ち資料のURLはこちら >>>


株式会社ripla 代表取締役CEOとして、システムパッケージ活用、システム開発、データ分析、生成AI活用、SaaS開発、アプリ開発、EC構築など、幅広い領域で企業のDX推進と事業成長を支援している。事業会社でIT・DXを経験したプロフェッショナルが集う株式会社riplaにおいて、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを構想策定・要件定義から開発・改善まで一気通貫で支援し、単なるシステム納品にとどまらず、クライアントと同じ目線で事業成果の最大化に向けた伴走支援を行う。早稲田大学卒業後、ラクスル株式会社、LINEヤフー株式会社にて事業開発やDX推進などに従事した後、株式会社riplaを創業。
