当前位置:网站首页>异常检测 IsolationForest 返回概率
异常检测 IsolationForest 返回概率
2022-08-03 05:29:00 【WGS.】
from sklearn.ensemble import IsolationForest
IsolationForest().fit()
IsolationForest().predict()
IsolationForest().decision_function()
def sigmoid(x):
return 1.0/(1+np.exp(-x))
print(sigmoid(-3))
print(sigmoid(3))
我们来看predict文档:
def predict(self, X):
"""
Predict if a particular sample is an outlier or not.
Parameters
----------
X : {array-like, sparse matrix} of shape (n_samples, n_features)
The input samples. Internally, it will be converted to
``dtype=np.float32`` and if a sparse matrix is provided
to a sparse ``csr_matrix``.
Returns
-------
is_inlier : ndarray of shape (n_samples,)
For each observation, tells whether or not (+1 or -1) it should
be considered as an inlier according to the fitted model.
"""
check_is_fitted(self)
decision_func = self.decision_function(X)
is_inlier = np.ones_like(decision_func, dtype=int)
is_inlier[decision_func < 0] = -1
return is_inlier
返回的是-1、1,显然-1位异常值,定位到源码is_inlier[decision_func < 0] = -1,结果很明显,分数越低,异常的概率越大,decision_function即返回异常分数的函数,sigmoid一下即可。
decision_function文档注释如下:
def decision_function(self, X):
"""
Average anomaly score of X of the base classifiers.
The anomaly score of an input sample is computed as
the mean anomaly score of the trees in the forest.
The measure of normality of an observation given a tree is the depth
of the leaf containing this observation, which is equivalent to
the number of splittings required to isolate this point. In case of
several observations n_left in the leaf, the average path length of
a n_left samples isolation tree is added.
Parameters
----------
X : {array-like, sparse matrix} of shape (n_samples, n_features)
The input samples. Internally, it will be converted to
``dtype=np.float32`` and if a sparse matrix is provided
to a sparse ``csr_matrix``.
Returns
-------
scores : ndarray of shape (n_samples,)
The anomaly score of the input samples.
The lower, the more abnormal. Negative scores represent outliers,
positive scores represent inliers.
"""
返回值scores为样本异常得分,越低,越不正常。
边栏推荐
猜你喜欢
随机推荐
UniApp 获取当前页面标题(navigationBarTitleText)
【云原生 · Kubernetes】Kubernetes简介及基本组件
MySql的安装配置超详细教程与简单的建库建表方法
MySQL的安装(详细教程)
prometheus 监控mysql数据库
C#操作FTP上传文件后检查上传正确性
MySQL的安装教程(嗷嗷详细,包教包会~)
MySQL的触发器
mysql 时间字段默认设置为当前时间
pyspark---对suuid区间编码(基于曝光数、点击数)
TFS (Azure conversation) prohibit people checked out at the same time
C#切换输入法
微信小程序 - 监听 TabBar 切换点击事件
MySql data format is converted to Redis key-value pair format
cookie和session区别
【Markdown 数学公式】markdown常用公式写法
Multi-Head-Attention原理及代码实现
【英语单词】常见深度学习中编程用到的英语词汇
【nohup】nohup命令的简单使用
WinServer2012r2破解多用户同时远程登录,并取消用户控制









