孤立森林
Isolation Forest(sklearn.ensemble.IsolationForest):一种适用于 连续数据的 无监督异常检测方法。与随机森林类似,都是高效的集成算法,相较于LOF,K-means等传统算法,该算法鲁棒性高且对数据集的分布无假设。
Isolation Forest算法做非监督式的异常点检测分析,对数据特征的要求宽松:
该算法对特征的要求低,不需要做离散化,不需要数值标准化
不需要考虑特征间的关系(例如共线性)等,不需要额外做特征过滤和筛选
附:SKlearn 中其他用于异常检测的方法
one-class SVM(svm.OneClassSVM)
LocalOutlierFactor(sklearn.neighbors.LocalOutlierFactor)
EllipticEnvelope(covariance.EllipticEnvelope)
本案例中
需求:分析一下通过不同渠道来到网站的访客里面是否有异常流量
数据特点:(综合数据特点,选择Isolation Forest算法做非监督式的异常点检测分析)
数据是不带标记的数据,只能用无监督式分析方法
特征维度较高,有的特征是分类型变量,有的特征是数值型变量
代码示例
1 数据预处理
1.1 填充缺失值、去除无关项(如 用户id,可能影响结果)
【此处,处理好的数据集是df 】
不是主要代码,略
1.2