在Matlab(或任何其他)中生成混合类型(数值/分类)的合成数据

时间:2014-02-24 09:40:06

标签: matlab statistics normal-distribution

我正在尝试为实验生成一些合成数据。当谈到具有数字特征的数据集时,这很容易,我只是使用高斯混合(使用Netlab,Matlab的包)并且已经完成了。

Noooww,我还需要生成一些具有数字和分类功能的数据集。我可以使用上面的方法轻松做数字部分,那么分类呢?

我正在考虑生成一个分类特征(例如)3个类别,概率为68.2%(+/- 1 sigma),27.2%(+/- 1 sigma和+/- 2 sigma),以及4.6% (其余)具有相同标签的对象。

也许是另外一个具有5个类别的分类特征,概率分别为34.1%,34.1%,13.6%,13.6%,4.6% - 在具有相同标签的对象中。

这对你们有意义吗?有什么想法吗?

我可以很容易地编写上面的代码,但是如果你知道任何为我做的功能 - 请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用numpy在Python中很容易做到:

import numpy as np
np.random.multinomial(n=1, pvals=[.3,.3,.4], size=10)