加速度の測定に使用される時系列データがあります。マシンが通常の状態(OFF)と異常な状態(ON)のときに識別するもの。この問題を解決するには、異常検出アルゴリズムを使用します。しかし、この問題に対処する方法はたくさんあります。
データの準備
y=0S
S={s0,s1,...,sn}
ss
si=13∑ik=i−2xk
xi≥2
y=1
これで、1クラスのデータセット(純粋なアノムレイ検出)でアルゴリズムをトレーニングするかどうかを選択できます。偏ったデータセット(異常検出)またはバランスのとれたデータセット。データセットのバランスは、データセット内の2つのクラス間の比率です。2クラス分類器の完全なデータセットは1:1です。各クラスに属するデータの50%。大量の電力を無駄にしたくない場合は、データセットに偏りがあるようです。
データセット内のインスタンスとして隣接するサンプルを分割し続けることを妨げるものは何もないことに注意してください。例えば:
xi xi−1 xi−2yi
これにより、現在取得されているサンプルに対して定義されている特定の出力用の3次元入力スペースが作成されます。
バイアスされたデータセット
簡単なソリューション
sy=0sy=1
s^y=1
sy=0y=1y=1
でもファンシーになりたい!
この正確なタスクを実行するために使用できる他の多くのテクニックがあります。
- k最近傍
- ニューラルネットワーク
- 線形回帰
- SVM
簡単に言えば、ほとんどすべての機械学習アルゴリズムがこの目的に適しています。それは、あなたが利用できるデータの量とその分布に依存します。
本当にSVMを使いたい
y
from sklearn import svm
X = [[0, 0, 0], [1, 1, 1], ..., [1, 0, 1]]
y = [0, 1, ..., 1]
clf = svm.SVC()
clf.fit(X, y)
これはモデルをトレーニングします。次に、新しいサンプルの結果を予測します。
clf.predict([[2., 2., 1]])