データを可視化する
前の演習から、詐欺と非詐欺の観測比率が非常に低いことがわかりました。次の動画で説明するように、データを再サンプリング(re-sampling)するなどの対処が可能です。
この演習では、まずデータを確認し、詐欺と非詐欺の比率を可視化します。詐欺検知の分析では、データを変更する前に、まず中身を確認するのが良い出発点です。
また、同僚に説明する際も、図を見せるとデータの不均衡がどれほど大きいかが明確になります。
データセット df 上で、詐欺と非詐欺データ点の比率を可視化するプロットを作成しましょう。
prep_data() 関数はワークスペースに読み込まれており、matplotlib.pyplot は plt としてインポート済みです。
この演習はコースの一部です
Pythonで学ぶ不正検知
演習の手順
与えられた特徴量集合
Xとラベルyを散布図で見やすく描画するplot_data(X, y)関数を定義してください。こちらはすでに用意されています。データセット
dfに対してprep_data()関数を使い、特徴量集合Xとラベルyを作成してください。作成した
Xとyを使ってplot_data()関数を実行し、結果を可視化してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define a function to create a scatter plot of our data and labels
def plot_data(X, y):
plt.scatter(X[y == 0, 0], X[y == 0, 1], label="Class #0", alpha=0.5, linewidth=0.15)
plt.scatter(X[y == 1, 0], X[y == 1, 1], label="Class #1", alpha=0.5, linewidth=0.15, c='r')
plt.legend()
return plt.show()
# Create X and y from the prep_data function
X, y = prep_data(____)
# Plot our data by running our plot data function on X and y
____(X, y)