Machine Learning の分類で不正検知に挑戦
この演習では、クレジットカードのデータに対してシンプルな Machine Learning モデルを使うとどうなるかを確認します。
前の結果を上回れると思いますか?これまでに「50件中22件」の不正を検知し、「16件」の誤検知がありました。
それでは、この点を踏まえて Logistic Regression モデルを実装しましょう。Python の教師あり学習のクラスを受講済みなら、このモデルには馴染みがあるはずです。そうでない場合は、ここで少し復習してもよいでしょう。心配はいりません。これから Machine Learning モデルの流れを順を追って案内します。
X と y の変数はワークスペースに用意されています。
この演習はコースの一部です
Pythonで学ぶ不正検知
演習の手順
Xとyを学習用とテスト用に分割し、データの30%をテスト用に確保します。- 学習データにモデルを当てはめます。
X_testに対してmodel.predictを実行し、モデルの予測ラベルを取得します。y_testとpredictedを比較して分類結果を取得し、与えられた混同行列で結果を確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create the training and testing sets
X_train, X_test, y_train, y_test = train_test_split(____, ____, test_size=____, random_state=0)
# Fit a logistic regression model to our data
model = LogisticRegression()
model.fit(____, ____)
# Obtain model predictions
predicted = model.predict(____)
# Print the classifcation report and confusion matrix
print('Classification report:\n', classification_report(____, ____))
conf_mat = confusion_matrix(y_true=y_test, y_pred=predicted)
print('Confusion matrix:\n', conf_mat)