python

超轻量级php框架startmvc

python 多维高斯分布数据生成方式

更新时间:2020-08-12 16:36:02 作者:startmvc
我就废话不多说了,直接上代码吧!importnumpyasnpimportmatplotlib.pyplotaspltdefgen_clusters():mean1=[0,0]

我就废话不多说了,直接上代码吧!


import numpy as np
import matplotlib.pyplot as plt


def gen_clusters():
 mean1 = [0,0]
 cov1 = [[1,0],[0,10]]
 data = np.random.multivariate_normal(mean1,cov1,100)
 
 mean2 = [10,10]
 cov2 = [[10,0],[0,1]]
 data = np.append(data,
 np.random.multivariate_normal(mean2,cov2,100),
 0)
 
 mean3 = [10,0]
 cov3 = [[3,0],[0,4]]
 data = np.append(data,
 np.random.multivariate_normal(mean3,cov3,100),
 0)
 
 return np.round(data,4)

def save_data(data,filename):
 with open(filename,'w') as file:
 for i in range(data.shape[0]):
 file.write(str(data[i,0])+','+str(data[i,1])+'\n')
 
def load_data(filename):
 data = []
 with open(filename,'r') as file:
 for line in file.readlines():
 data.append([ float(i) for i in line.split(',')])
 return np.array(data)

def show_scatter(data):
 x,y = data.T
 plt.scatter(x,y)
 plt.axis()
 plt.title("scatter")
 plt.xlabel("x")
 plt.ylabel("y")
 
data = gen_clusters()
save_data(data,'3clusters.txt')
d = load_data('3clusters.txt')
show_scatter(d)

以上这篇python 多维高斯分布数据生成方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

python 多维 高斯分布 数据生成