MDOD是一个机器学习多维数据集的异常值检测python库。
pip install mdodgit clone https://github.com/mddod/mdod.gitcd mdodpython setup.py installPS D:\mdod> python testmdodmodelv3cn.py生成数据: 1000 样本, 2 维度, 150 异常值生成数据已保存到 'generated_data.csv'使用采样率: 0.05MDOD 决策分数 (前10个):[-18.35501117 -19.47399109 -19.41190024 -19.49380267 -19.10821045 -19.40054633 -19.67117886 -19.779317 -19.28025311 -18.76932122]MDOD 预测标签 (异常数): 150MDOD AUC: 1.0MDOD 运行时间: 0.006565 秒MDOD Confusion Matrix:[[850 0] [ 0 150]]MDOD Precision: 1.0000MDOD Recall: 1.0000MDOD F1-Score: 1.0000LOF 决策分数 (前10个):[1.3914752 0.98461504 0.96843988 0.99806687 1.08945498 1.06411694 0.97248439 0.97285236 1.03958174 1.22721841]LOF 预测标签 (异常数): 150LOF AUC: 1.0LOF 运行时间: 0.032463 秒LOF Confusion Matrix:[[850 0][ 0 150]]LOF Precision: 1.0000LOF Recall: 1.0000LOF F1-Score: 1.0000比较结果:Spearman 相关系数: 0.9191 (p-value: 0.0000)MDOD AUC: 1.0000, LOF AUC: 1.0000算法复杂度比较(实证运行时间):MDOD 0.006565s vs LOF 0.032463s测试数据对比 (前10行): Feature_1 Feature_2 True_Label MDOD_Score MDOD_Label LOF_Score LOF_Label0 -0.270380 0.475626 0.0 -18.355011 0 1.391475 01 0.148810 0.084334 0.0 -19.473991 0 0.984615 02 0.035218 0.135820 0.0 -19.411900 0 0.968440 03 0.173876 0.134433 0.0 -19.493803 0 0.998067 04 -0.096058 -0.407006 0.0 -19.108210 0 1.089455 05 0.313824 -0.072688 0.0 -19.400546 0 1.064117 06 0.002351 0.048765 0.0 -19.671179 0 0.972484 07 -0.018743 -0.034689 0.0 -19.779317 0 0.972852 08 0.274687 -0.030421 0.0 -19.280253 0 1.039582 09 0.344621 -0.285760 0.0 -18.769321 0 1.227218 0完整数据已保存到 'test_data_comparison.csv'测试输出数据已保存到 'test_output_data.csv'libpng warning: iCCP: cHRM chunk does not match sRGBlibpng warning: iCCP: cHRM chunk does not match sRGB下载 testmdod_simple_example_cn.py 从csv文件读取数据。
D:\mdodtest>D:\mdodtest>D:\mdodtest>py testmdod_simple_example_cn.py数据维数: 2数据点数量: 1000异常值数量: 150已将数据保存到: testmdod_simple_example_output_data.csv使用采样率: 0.05MDOD 运行时间: 0.0799 秒MDOD 决策分数 (前10个 - 最大值):[-6.62289984 -6.77322132 -6.92891522 -7.18871113 -7.23625849 -7.24312221-7.31773667 -7.32676678 -7.33133378 -7.33982723]MDOD 决策分数 (后10个 - 最小值):[-19.84866083 -19.82038598 -19.82010554 -19.80062169 -19.80051546-19.76201034 -19.76181435 -19.75729718 -19.75229983 -19.74520579]MDOD的参数包括:norm_distance:虚拟维度的距离(默认1.0,影响相似度计算)。top_n:考虑用于统计的最临近点的数量(选择合适的数量用于异常值识别区分)。contamination:设置的异常比例(默认0.1,用于阈值计算)。sampling_rate:采样率(0~1,默认1.0,低值加速计算)。random_state:随机种子。