不正検知アルゴリズムの実践

Pythonで学ぶ不正検知

Charlotte Werger

Data Scientist

従来のルールベース不正検知

Pythonで学ぶ不正検知

ルールベースの欠点

ルールベースの限界:

  1. 不正判定は各ルールの固定しきい値
  2. 結果ははい/いいえに限定
  3. 特徴の相互作用を捉えにくい
Pythonで学ぶ不正検知

不正検知に機械学習を使う理由

  1. 機械学習はデータに適応し、時間とともに更新可能
  2. 各特徴のしきい値ではなく、全データを統合利用
  3. はい/いいえではなくスコアを出力可能
  4. 性能が高い傾向があり、ルールと併用も可能

Pythonで学ぶ不正検知

機械学習モデルの復習

from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn import metrics

# Step 1: split your features and labels into train and test data X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# Step 2: Define which model you want to use model = LinearRegression()
# Step 3: Fit the model to your training data model.fit(X_train, y_train)
# Step 4: Obtain model predictions from your test data y_predicted = model.predict(X_test)
# Step 5: Compare y_test to predictions and obtain performance metrics print (metrics.r2_score(y_test, y_predicted))
0.821206237313
Pythonで学ぶ不正検知

今後の章で行うこと

  • 第2章 監督学習:既存の不正ラベルでモデルを学習

  • 第3章 教師なし学習:ラベルなしで「不審」行動をデータから判定

  • 第4章 テキスト活用の不正検知:テキストマイニングとトピックモデルで強化

Pythonで学ぶ不正検知

練習に進みましょう!

Pythonで学ぶ不正検知

Preparing Video For Download...