異常検出に「Local Outlier Factor」を使用しています。アルゴリズムには「汚染」というパラメータがあります。このパラメーターは、外れ値の割合を表します。私の場合、「0.0058」が汚染パラメータの最適値です。
#parameters
n_neighbors = 750
p = 7
contamination = 0.0058 # the proportion of outliers
lof = LocalOutlierFactor(n_neighbors=n_neighbors, p=p, contamination=contamination)
y_pred_train = lof.fit_predict(data_scaled)
多くの異なる値を試した後、この値を見つけました。ただし、さまざまな値を試すことなく、汚染パラメーターの最適な値を見つける必要があります。
データの形状は次のとおりです。
2 つの質問があります。
異常検出アルゴリズムを実行する前に、汚染パラメータの最適値を予測することは可能ですか?
現実世界のアプリケーションで、異常検出モデルがすべての異常を完全に検出することは可能ですか?
前もって感謝します。