統計で通常の振る舞いを定義する
前の演習では、不正が特定の取引カテゴリでより多く発生する一方で、たとえば年齢層のように明確にデータをセグメント化できないことを見てきました。今回は、通常の取引と不正な取引での平均支出額を調べてみましょう。これにより、不正な取引が通常の取引と構造的にどう異なるかの手がかりが得られます。
この演習はコースの一部です
Pythonで学ぶ不正検知
演習の手順
- 不正と非不正の観測から、それぞれ新しいデータフレームを作成します。
dfに対して.locを用い、条件として「fraud が 1 の行」と「fraud が 0 の行」を指定して新しいデータフレームを作成してください。 - 作成したデータフレームの
amount列をヒストグラムで可視化し、プロットにはそれぞれfraudとnonfraudのラベルを付けてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create two dataframes with fraud and non-fraud data
df_fraud = df.____[df.____ == ____]
df_non_fraud = df.____[df.____ == ____]
# Plot histograms of the amounts in fraud and non-fraud data
plt.hist(____.____, alpha=0.5, label='____')
plt.hist(____.____, alpha=0.5, label='____')
plt.legend()
plt.show()