python 多維高斯分布數據生成方式
更新時間:2019年12月09日 09:47:17 作者:颹蕭蕭
今天小編就為大家分享一篇python 多維高斯分布數據生成方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
我就廢話不多說了,直接上代碼吧!
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 多維高斯分布數據生成方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python3中map(),reduce(),filter()的詳細用法
這篇文章主要介紹了Python3中map(),reduce(),filter()的詳細用法,Python3中的map()、reduce()、filter()?這3個一般是用于對序列進行操作的內置函數,它們經常需要與?匿名函數?lambda?聯合起來使用2022-08-08
Python輸出由1,2,3,4組成的互不相同且無重復的三位數
這篇文章主要介紹了Python輸出由1,2,3,4組成的互不相同且無重復的三位數,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-02-02

