【发布时间】:2019-03-26 07:27:42
【问题描述】:
我正在生成一个随机数据集。我的数据集是连续的,并且有上限和下限。在某些随机点,我希望我的数据集的异常值高于和低于限值。这是我的代码。
generated_data = (12) * np.random.rand(100) + 630
outlier_data = (12) * np.random.rand(20) + (*HERE'S THE PROBLEM)
merged_data = np.concatenate((generated_data, outlier_data))
在这之后,我想我会对merged_data 进行洗牌。但我不知道如何正确生成异常值。
【问题讨论】:
-
那么你的限制是什么,实际的问题是什么?
-
你的意思是有一些低于 630 和高于 1830 的值吗?
-
建议你查看
pyod.utils.data函数get_outliers_inliers中的PyOD包 -
对不起,如果我的问题不清楚。我的数据集的中位数为 630,上限和下限为 12。我希望随机有超过 642 或低于 618 的异常值。
-
您可以在 numpy 中使用具有给定均值和中位数的均匀或正态分布函数生成。它还会产生异常值