基于孤立森林的异常值检测

孤立森林基于异常点和正常点存在显著不同的特征,在构建决策树进行对每个点进行分类时,异常点容易区分,通常距离根节点近这样的特征进行异常点探测。

在算法中,设置了异常值函数,s(x, n) 计算具有n个值得x得异常度

在sklearn的Ensemble包中,存在IsolationForest类,其使用方法为

 

clf = IsolationForest(n_estimators = 100, max_samples = ‘auto’, contamination

    =0.12, bootstrap = False, n_jobs = -1, random_state 42, verbose = 0)

  clf.fit(metrics_df[to_model_columns])

 

  pred = clf.predict(metric_df[to_model_columns])

  metric_df[‘anomly’] = pred

  outliers = metric.loc[metric_df[‘anomaly’]==-1]

你可能感兴趣的:(数据分析)