孤立森林基于异常点和正常点存在显著不同的特征,在构建决策树进行对每个点进行分类时,异常点容易区分,通常距离根节点近这样的特征进行异常点探测。
在算法中,设置了异常值函数,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]