本文简要介绍python语言中 sklearn.ensemble.IsolationForest
的用法。
用法:
class sklearn.ensemble.IsolationForest(*, n_estimators=100, max_samples='auto', contamination='auto', max_features=1.0, bootstrap=False, n_jobs=None, random_state=None, verbose=0, warm_start=False)
隔离森林算法。
使用IsolationForest算法返回每个样本的异常分数
IsolationForest ‘isolates’ 观察是通过随机选择一个特征,然后在所选特征的最大值和最小值之间随机选择一个分割值。
由于递归划分可以用树结构表示,因此隔离样本所需的分裂次数等于从根节点到终止节点的路径长度。
这个路径长度,在这些随机树的森林上平均,是衡量正常性和我们的决策函数的指标。
随机分区为异常产生明显更短的路径。因此,当随机树的森林共同为特定样本产生较短的路径长度时,它们很可能是异常的。
在用户指南中阅读更多信息。
- n_estimators:整数,默认=100
集成中基本估计器的数量。
- max_samples:“auto”, int 或浮点数,默认=”auto”
- 从 X 中抽取以训练每个基本估计器的样本数。
- 如果是 int,则绘制
max_samples
样本。 - 如果浮点数,则绘制
max_samples * X.shape[0]
样本。 - 如果 “auto”,那么
max_samples=min(256, n_samples)
。
- 如果是 int,则绘制
如果max_samples 大于提供的样本数,则所有样本将用于所有树(不采样)。
- contamination:‘auto’ 或浮点数,默认='auto'
数据集的污染量,即数据集中异常值的比例。在拟合时用于定义样本分数的阈值。
如果‘auto’,阈值的确定与原论文相同。
如果浮点数,则污染应在 (0, 0.5] 范围内。
- max_features:int 或浮点数,默认=1.0
从 X 中提取以训练每个基本估计器的特征数。
如果是 int,则绘制
max_features
特征。如果浮点数,则绘制
max_features * X.shape[1]
特征。
- bootstrap:布尔,默认=假
如果为 True,则单个树适合替换采样的训练数据的随机子集。如果为 False,则执行无放回抽样。
- n_jobs:整数,默认=无
fit
和predict
并行运行的作业数。None
表示 1,除非在joblib.parallel_backend
上下文中。-1
表示使用所有处理器。有关更多详细信息,请参阅术语表。- random_state:int、RandomState 实例或无,默认=无
控制森林中每个分支步骤和每棵树的特征选择和拆分值的pseudo-randomness。
传递 int 以获得跨多个函数调用的可重现结果。请参阅词汇表。
- verbose:整数,默认=0
控制树构建过程的详细程度。
- warm_start:布尔,默认=假
当设置为
True
时,重用上一次调用的解决方案以适应并向集成添加更多估计器,否则,只需适应一个全新的森林。请参阅词汇表。
- base_estimator_:ExtraTreeRegressor 实例
用于创建拟合sub-estimators 集合的子估计器模板。
- estimators_:ExtraTreeRegressor 实例列表
拟合sub-estimators 的集合。
- estimators_features_:ndarray 列表
每个基本估计器的绘制特征的子集。
estimators_samples_
ndarray 列表每个基本估计器的抽取样本的子集。
- max_samples_:int
实际样本数。
- offset_:浮点数
用于从原始分数定义决策函数的偏移量。我们有关系:
decision_function = score_samples - offset_
。offset_
定义如下。当污染参数设置为“auto” 时,偏移量等于-0.5,因为内点的得分接近 0,而异常点的得分接近 -1。当提供不同于“auto”的污染参数时,偏移量的定义方式是我们在训练中获得预期的异常值(决策函数<0的样本)数量。n_features_
int已弃用:属性
n_features_
在版本 1.0 中已弃用,并将在 1.2 中删除。- n_features_in_:int
拟合期间看到的特征数。
- feature_names_in_:ndarray 形状(
n_features_in_
,) 拟合期间看到的特征名称。仅当
X
具有全为字符串的函数名称时才定义。
参数:
属性:
注意:
该实现基于 ExtraTreeRegressor 的集合。每棵树的最大深度设置为
ceil(log_2(n))
,其中 是用于构建树的样本数量(更多详细信息请参阅 (Liu et al., 2008))。参考:
- 1
Liu、Fei Tony、Ting、Kai Ming 和 Zhou,Zhi-Hua。 “隔离林。”数据挖掘,2008。ICDM'08。第八届 IEEE 国际会议。
- 2
Liu、Fei Tony、Ting、Kai Ming 和 Zhou,Zhi-Hua。 “基于隔离的异常检测。” ACM 从数据中发现知识的交易 (TKDD) 6.1 (2012):3。
例子:
>>> from sklearn.ensemble import IsolationForest >>> X = [[-1.1], [0.3], [0.5], [100]] >>> clf = IsolationForest(random_state=0).fit(X) >>> clf.predict([[0.1], [0], [90]]) array([ 1, 1, -1])
相关用法
- Python sklearn IsotonicRegression用法及代码示例
- Python sklearn Isomap用法及代码示例
- Python sklearn IncrementalPCA用法及代码示例
- Python sklearn IncrementalPCA.transform用法及代码示例
- Python sklearn IterativeImputer用法及代码示例
- Python sklearn jaccard_score用法及代码示例
- Python sklearn WhiteKernel用法及代码示例
- Python sklearn CalibrationDisplay.from_predictions用法及代码示例
- Python sklearn VotingRegressor用法及代码示例
- Python sklearn gen_batches用法及代码示例
- Python sklearn ExpSineSquared用法及代码示例
- Python sklearn MDS用法及代码示例
- Python sklearn adjusted_rand_score用法及代码示例
- Python sklearn MLPClassifier用法及代码示例
- Python sklearn train_test_split用法及代码示例
- Python sklearn RandomTreesEmbedding用法及代码示例
- Python sklearn GradientBoostingRegressor用法及代码示例
- Python sklearn GridSearchCV用法及代码示例
- Python sklearn log_loss用法及代码示例
- Python sklearn r2_score用法及代码示例
- Python sklearn ndcg_score用法及代码示例
- Python sklearn ShrunkCovariance用法及代码示例
- Python sklearn SelfTrainingClassifier用法及代码示例
- Python sklearn load_svmlight_file用法及代码示例
- Python sklearn make_pipeline用法及代码示例
注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.ensemble.IsolationForest。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。