如何随机创建离群数据集?

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

我正在尝试创建一个离群数据集,该数据集有8列,有些列包含分类值,而另一些则包含正数值。并且此数据仅包含两种类型的数据点:常规数据点和异常值。

而且我想知道您是否知道可以帮助我自动创建此类数据集的任何工具或库或某些方法。我听说numpy具有生成标准分布的工具,但我认为它无法创建分类价值。

并且像每次一样,非常感谢您的帮助。

machine-learning outliers
1个回答
0
投票

数值

您可以通过创建一个具有某些预定义分布的数据集(例如,均值0和方差为1的标准正态)并创建一些数据点(例如10_000)来轻松地做到这一点。其他人可能来自另一种分布(甚至是高斯分布,但均值,方差也不同),并且说50点是异常值。

分类值

取决于可能的分类值的大小以及是否要使离群值和非离群值数据都在某个范围内。

分类值相同范围

说,分类值在[0, 10]之内。因此,您在整个频谱上使用numpy的np.random.randint生成了它们,例如,对于5列,因此您将得到一个示例,类似于:

[1, 4, 7, 9, 3]

现在异常值可能包含在[0, 10]中的更窄的值,例如[7,9],所以它们的值可能是:

[7, 7, 8, 9, 8]

鉴于该组合应被视为异常值(当然,某些假阳性,因为[0, 10]可能会在原理上产生类似的东西。]

分类值不同的范围

这种情况比较简单;只需使用不同的范围,就可以确保没有数据点在非异常数据中具有这些值。

摘要

总而言之,您可以混合使用这些方法并改变程度,以使异常算法的任务更困难(相似的数据生成过程)或更简单(两者之间的特性差异很大。]

© www.soinside.com 2019 - 2024. All rights reserved.