在使用 PYOD-ECOD 进行异常值检测的无监督学习时,Y 应该选择什么?

问题描述 投票:0回答:0

我有一个包含 6283 个样本和 21 个变量的数据集,我正在寻找一种方法来确定数据集中的异常值。

我已经使用了 PYOD(Python 异常值检测)中的隔离森林、kNN、局部异常值森林和 PCA 等,并试图确定如何使用经验累积异常值检测(ECOD),因为它是一个较新的版本。

ECOD 的大多数示例使用由 generate_data 函数生成的假数据,该函数为您提供 Y 值,但在无监督学习中没有 Y 值(即异常值与否)。他们建议使用 train_test_split 数据,但如果没有已知的 Y 值,则无法执行此操作。我们如何给出 Y 值,或者我们在 ECOD 中使用真实数据跳过这一部分?

尝试阅读 PYOD 1.0.7 文档,我对如何使用 ECOD 感到困惑。任何帮助都值得赞赏,因为某些条款似乎已被弃用,并且很难确定用哪些功能替换这些条款。

我查看了几个链接,这些链接似乎都使用相同的人工生成数据。

https://medium.com/dataman-in-ai/handbook-of-anomaly-detection-with-python-outlier-detection-3-ecod-5cbf3e3021eb

变量如下:

'np_type', 'mrp', 'current_47mm_nA', 'rms_noise_47mm_pA',
       'voltage_47mm_V', 'particle_rate_47mm_/min', 'dI_47mm_nA',
       'g_at_47mm_nS', 'mrp_47mm_nm', 'dI/I_47mm', 'width_85_std',
       'width_85_median', 'width_85_skewness', 'width_85_kurtosis',
       'asymmetry_85_std', 'asymmetry_85_median', 'asymmetry_85_skewness',
       'asymmetry_85_kurtosis', 'width_50_std', 'width_50_median',
       'width_50_skewness', 'width_50_kurtosis', 'asymmetry_50_std',
       'asymmetry_50_median', 'asymmetry_50_skewness', 'asymmetry_50_kurtosis',
       'prominence_std', 'prominence_median', 'prominence_skewness',
       'prominence_kurtosis'
python machine-learning outliers
© www.soinside.com 2019 - 2024. All rights reserved.