当前位置:网站首页>异常检测 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为样本异常得分,越低,越不正常。
边栏推荐
猜你喜欢
随机推荐
单节点部署 gpmall 商城系统(二)
MySQL之DQL——查询语言
Docker安装Mysql
【项目案例】配置小型网络WLAN基本业务示例
mysql事务与多版本并发控制
Oracle Common Commands - Basic Commands
Scala 高阶(八):集合内容汇总(下篇)
5 个开源的 Rust Web 开发框架,你选择哪个?
阿里云短信服务的使用(创建,测试笔记)
empty() received an invalid combination of arguments - got (tuple, dtype=NoneType, device=NoneType),
Zabbix历史数据清理(保留以往每个项目每天一条数据)
MySQL中,对结果或条件进行字符串拼接
【英语单词】常见深度学习中编程用到的英语词汇
5G网络入门基础--5G网络的架构与基本原理
国内首款PCB资料分析软件,华秋DFM使用介绍
2021-06-20
计算机网络高频面试考点
界面仅允许扫码枪录入禁止手工键盘输入
在Zabbix5.4上使用ODBC监控Oracle数据库
【EA Price strategy OC1】以实时价格为依据的EA,首月翻仓!】








![mysql 数据去重的三种方式[实战]](/img/37/ad4007a32d9eb563a303756785e72f.png)
