当前位置:网站首页>异常检测 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为样本异常得分,越低,越不正常。
边栏推荐
猜你喜欢
随机推荐
Oracle 数据库集群常用巡检命令
【dllogger bug】AttributeError: module ‘dllogger‘ has no attribute ‘StdOutBackend‘
MySQL中,对结果或条件进行字符串拼接
ES6中 async 函数、await表达式 的基本用法
pyspark---对suuid区间编码(基于曝光数、点击数)
【FCOS】FCOS理论知识讲解
nvm 卸载详细流程
Charles抓包显示<unknown>解决方案
2021年PHP-Laravel面试题问卷题 答案记录
linux安装mysql
C#切换输入法
【云原生 · Kubernetes】搭建Harbor仓库
C#使用Oracle.ManagedDataAccess连接C#数据库
Chrome插件开发入门
MySQL的DATE_FORMAT()函数将Date转为字符串
mysql 时间字段默认设置为当前时间
【onnx 输入尺寸】修改pytorch生成的onnx模型的输入尺寸
MySQL的Replace用法详解
el-table获取读取数据表中某一行的数据属性
el-tabs(标签栏)的入门学习







