2

いくつかのリアルタイム データにナイーブ ベイズ アルゴリズムを実装しようとしています。ベイズのルールは認識していますが、データに実装する方法がわかりません。データは次のようになります。データには合計 2 つのラベルがあり、問題ありません、詐欺、テスト データは unkn とラベル付けされています。ナイーブ ベイズ アルゴリズムを適用して、すべての unkn レコードを問題なしまたは詐欺として分類する必要があります。これを達成するにはどうすればよいですか? 誰か助けてください。

1,v1,p1,182,1665,unkn
2,v2,p1,3072,8780,ok
3,v3,p1,20393,76990,ok
4,v4,p1,112,1100,fraud
5,v3,p1,6164,20260,unkn
6,v5,p2,104,1155,ok
7,v6,p2,350,5680,unkn
8,v7,p2,200,4010,ok
9,v8,p2,233,2855,unkn
10,v9,p2,118,1175,unkn

ベイズ ルール:-

unkn が OK である事後確率 = ok の事前確率 * 与えられた unkn が ok である可能性。

unkn が詐欺である事後確率 = 詐欺の事前確率 * unkn が与えられた詐欺の可能性。

4

1 に答える 1

3

1,v1,p1,182,1665,unkn行は次のように解釈されると想定しています。

  • 1, v1= いくつかの識別子
  • p1,182,1665= データポイントの特徴
  • unkn= ラベル、この場合は不明

okその表記法を念頭に置いて、トレーニング データは、またはのラベルが付いたすべての行で構成されfraud、残りはテスト データです。事前確率と条件付き尤度を計算する必要があります。

  1. の事前確率は、トレーニング データ内okの例の割合です。ok同じことが当てはまりますfraud
  2. またはfなどの各特徴について、ok が与えられる可能性は、特徴を含むトレーニング データ内の例の割合です。たとえば、は 4 つの例のうち 2 つに含まれているため、確率は 0.5 になります。v1p1okp1ok

各例について、手順 2 ですべての特徴について計算した確率を乗算します。その結果に手順 1 の確率を掛けて、特定のクラスに属する例の (結合) 確率を取得します。

警告:

  • 確率を掛け合わせると、最終的にアンダーフローが発生します。代わりに、これらの確率のログを追加することをお勧めします。
  • ここで説明したアルゴリズムは、離散値の特徴に対してのみ機能します。上記のように見える連続値の特徴 (例: 182) は離散に変換する必要があります (例: ビニングによって) か、ステップ 2 で条件付き確率を推定する他の方法を考え出す必要があります。Google で連続値 Naive Bayes を検索する
于 2012-11-16T12:28:02.807 に答える