異常検知

PyCaretでの異常検知

目次 1. 異常検知のPyCaretの概要 1.1異常検知とは 1.2異常検知の種類 1.3 PyCaretのライブラリ 2. 実験 2.1 環境構築 2.2 データロード 2.3 モデル学習 2.4 モデル推論 2.5 モデルの保存と読み込む 関連記事:PyCaret(オープンソースの自動機械学習:AutoML) 1. 異常検知のPyCaretの概要 1.1異常検知とは 異常検知(Anomaly detection) とは、データの中から異常な状態、通常のパターンとは異なる挙動を検出することです。 1.2異常検知の種類 異常検出の手法は主に3つの種類があります。 1)教師なし異常検出:ラベルがなくデータで異常モデルを学習します。 2)教師あり異常検出:「正常」および「異常」とラベル付けされたデータセットで異常モデルを学習します。 3)半教師あり異常検出:正常データのみで学習されます(異常はありません)。正常データからテストデータを推測します。   1.3 PyCaretのライブラリ pycaret.anomalyモジュールは、教師なし異常検出と教師あり異常検出の手法を提供します。 PyCaretは異常検出のアルゴリズムが12つあります。 abod     Angle-base Outlier Detection cluster   Clustering-Based Local Outlier cof        Connectivity-Based Local Outlier iforest   Isolation Forest histogram          Histogram-based Outlier Detection …

PyCaretでの異常検知 Read More »

Keras AutoEncoder で異常検知「詐欺検知」

前回はkaggleコンペでメルカリについて解説しました。今回の記事はAutoEncoderを使ってKaggle のクレジットカードの詐欺検知を解説します。 目次 1. Keras Encoder 2. Kaggleクレジットカード不正利用データ(Credit Card Fraud Detection) 3. 実験・コード __3.1 データ読み込み __3.2 データ可視化 __3.3 データ加工 __3.4 Encoderモデル __3.5 モデル評価   1. Keras Autoencoder 自己符号化器 (autoencoder; AE) は入力を出力にコピーするように学習させたNNです。データが低次元多様体や多様体の小さい集合の周りに集中しているという考えに基づいている。AutoEncoder は特徴量の次元圧縮や異常検知など、幅広い用途に用いられています。 基本的には下図のように、入力と出力が同じになるようにニューラルネットワークを学習させるものです。入力をラベルとして扱っていて、教師あり学習と教師なし学習の中間に位置するような存在です。普通のニューラルネットワークと同様に勾配降下法(gradient descent)などを使って学習させることができます。   2. Kaggleクレジットカード不正利用データ https://www.kaggle.com/mlg-ulb/creditcardfraud#creditcard.csv 2013年9月の2日間の欧州の人が持つカードで、取引を記録したデータセットです。 284,807件の取引があり、その中に492件詐欺行為が含まれて、極めて不均衡なデータセットとなっています。各レコードには不正利用か否かを表す値(1ならば不正利用)を持っていますが、当然ながらほとんどが0となっています。また、個人情報に関わるため、タイムスタンプと金額以外の項目が主成分分析(および標準化)済みとなっていることも特徴です。   3. 実験・コード 3.1 データ読み込み 環境:Google Colab GPU ライブラリのインポート import pandas as pd import seaborn …

Keras AutoEncoder で異常検知「詐欺検知」 Read More »