python中knn函数 pythonknn算法( 五 )


用一个随机超平面来切割数据空间, 直到每个子空间里面只有一个数据点为止 。切割次数的多少可用来区分异常 。
iForest 由t个iTree孤立树组成 , 每个iTree是一个二叉树,其实现步骤如下:
可以看到d最有可能是异常,因为其最早就被孤立(isolated)了 。
获得t个iTree之后,iForest 训练就结束,然后我们可以用生成的iForest来评估测试数据了 。对于一个训练数据x , 我们令其遍历每一棵iTree,然后计算x最终落在每个树第几层(x在树的高度),得到x在每棵树的高度平均值 。获得每个测试数据的average path length后,我们可以设置一个阈值,低于此阈值的测试数据即为异常 。
IForest具有线性时间复杂度 。
IForest不适用于特别高维的数据 。
最小协方差行列式(Minimum Covariance Determinant)
论文《Minimum covariance determinant and extensions》中有更详细描述 。
论文《A Fast Algorithm for the Minimum Covariance Determinant Estimator》有更详细描述 。
【python中knn函数 pythonknn算法】关于python中knn函数和pythonknn算法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读