当前位置:网站首页>异常检测 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为样本异常得分,越低,越不正常。
边栏推荐
猜你喜欢
随机推荐
【项目案例】配置小型网络WLAN基本业务示例
Charles抓包显示<unknown>解决方案
PHP Composer常用命令积累
【dllogger bug】AttributeError: module ‘dllogger‘ has no attribute ‘StdOutBackend‘
一家可靠的HDI板厂,需要具备哪些基本条件?
Scala 基础 (三):运算符和流程控制
IPV4地址详解
SQLServer2019安装(Windows)
C#通过WebBrowser对网页截图
超全!9种PCB表面处理工艺大对比
Chrome 配置samesite=none方式
Composer require 报错 Installation failed, reverting ./composer.json and ./composer.lock to their ...
CPU上下文切换详解思维导图
mysql事务与多版本并发控制
【云原生 · Kubernetes】Kubernetes基础环境搭建
【Markdown 数学公式】markdown常用公式写法
【云原生 · Kubernetes】Kubernetes简介及基本组件
postman配置中文
如何使用md5码验证文件的一致性
MySQL 日期时间类型精确到毫秒









