Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中从高斯混合中创建随机变量(样本)_Python_Matplotlib_Gaussian_Gmm - Fatal编程技术网

如何在python中从高斯混合中创建随机变量(样本)

如何在python中从高斯混合中创建随机变量(样本),python,matplotlib,gaussian,gmm,Python,Matplotlib,Gaussian,Gmm,我试图将高斯混合拟合到3个变量的数据集。我使用3个高斯模型在python中获得了一个GMM模型 我的问题是: 如何从GMM创建PDF,就像matlab中的函数一样 如何从GMM创建随机变量(3d)或采样 很多人都上传了类似的问题,但我从来没有得到一个直接的答案。请提供如何从GMM取样的代码示例 首先需要知道的是,创建GMM模型需要3个参数: 数据点 聚类平均值 协方差矩阵 对于每个数据点i和每个集群,假设k=3,i为 假设您已经将每个集群的平均值作为列表,即平均值 以及协方差中每个簇的协方差矩阵

我试图将高斯混合拟合到3个变量的数据集。我使用3个高斯模型在python中获得了一个GMM模型

我的问题是:

  • 如何从GMM创建PDF,就像matlab中的函数一样
  • 如何从GMM创建随机变量(3d)或采样

  • 很多人都上传了类似的问题,但我从来没有得到一个直接的答案。请提供如何从GMM取样的代码示例

    首先需要知道的是,创建GMM模型需要3个参数:

  • 数据点
  • 聚类平均值
  • 协方差矩阵
  • 对于每个数据点i和每个集群,假设k=3,i为 假设您已经将每个集群的平均值作为列表,即平均值 以及协方差中每个簇的协方差矩阵,即 每个簇的协方差。然后代码将如下所示 给出每个数据点的多元正态函数值 i和对于每个集群k为:


    这些问题太多了,无法放在一个问题中,而且你还没有展示你在哪里或做了什么,以及你遇到了哪些问题(如果有的话)。这里不可能给你一个好的答案。[链接]()可能会有所帮助
        import numpy as np
        from scipy.stats import multivariate_normal
        mnf= np.zeros((n_data, n_clusters))
        for i in range(n_data):
            for k in range(n_clusters):
                mnf[i, k] = multivariate_normal.pdf(data[i],means[k],covariances[k])