孤立森林(IsolationForest)异常检测
IsolationForest[6]算法它是一种集成算法(类似于随机森林)主要用于挖掘异常(Anomaly)数据,或者说离群点挖掘,总之是在一大堆数据中,找出与其它数据的规律不太符合的数据。该算法采样任何基于聚类距离方法,因此他和那些基于距离的的异常检测算法有着根本上的不同,孤立森林认定异常值的原则异常值是少数的和不同的数据。它通常用于网络安全中的攻击检测流量异常分析金融机构则用于挖掘出欺诈行为

我们使用IsolationForest[7]算法需要设置一个异常值比例的参数contamination, 该参数的作用类似于之前的outliers_fraction
使用 fit 方法对孤立森林模型进行训练
使用 predict 方法发现数据中的异常值。返回1表示正常值,-1表示异常值。

data = df[[‘price_usd’, ‘srch_booking_window’, ‘srch_saturday_night_bool’]]
scaler = StandardScaler()
np_scaled = scaler.fit_transform(data)
data = pd.DataFrame(np_scaled)

训练孤立森林模型

model = IsolationForest(contamination=outliers_fraction)
model.fit(data)

#返回1表示正常值,-1表示异常值
df[‘anomaly2’] = pd.Series(model.predict(data))

fig, ax = plt.subplots(figsize=(10,6))
a = df.loc[df[‘anomaly2’] =

原文地址:https://blog.csdn.net/qq_59771180/article/details/134701043

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_15069.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注