MCPcopy Create free account
hub / github.com/Dod-o/Statistical-Learning-Method_Code / loadData

Function loadData

EM/EM.py:26–59  ·  view source on GitHub ↗

初始化数据集 这里通过服从高斯分布的随机函数来伪造数据集 :param mu0: 高斯0的均值 :param sigma0: 高斯0的方差 :param mu1: 高斯1的均值 :param sigma1: 高斯1的方差 :param alpha0: 高斯0的系数 :param alpha1: 高斯1的系数 :return: 混合了两个高斯分布的数据

(mu0, sigma0, mu1, sigma1, alpha0, alpha1)

Source from the content-addressed store, hash-verified

24import time
25
26def loadData(mu0, sigma0, mu1, sigma1, alpha0, alpha1):
27 '''
28 初始化数据集
29 这里通过服从高斯分布的随机函数来伪造数据集
30 :param mu0: 高斯0的均值
31 :param sigma0: 高斯0的方差
32 :param mu1: 高斯1的均值
33 :param sigma1: 高斯1的方差
34 :param alpha0: 高斯0的系数
35 :param alpha1: 高斯1的系数
36 :return: 混合了两个高斯分布的数据
37 '''
38 #定义数据集长度为1000
39 length = 1000
40
41 #初始化第一个高斯分布,生成数据,数据长度为length * alpha系数,以此来
42 #满足alpha的作用
43 data0 = np.random.normal(mu0, sigma0, int(length * alpha0))
44 #第二个高斯分布的数据
45 data1 = np.random.normal(mu1, sigma1, int(length * alpha1))
46
47 #初始化总数据集
48 #两个高斯分布的数据混合后会放在该数据集中返回
49 dataSet = []
50 #将第一个数据集的内容添加进去
51 dataSet.extend(data0)
52 #添加第二个数据集的数据
53 dataSet.extend(data1)
54 #对总的数据集进行打乱(其实不打乱也没事,只不过打乱一下直观上让人感觉已经混合了
55 # 读者可以将下面这句话屏蔽以后看看效果是否有差别)
56 random.shuffle(dataSet)
57
58 #返回伪造好的数据集
59 return dataSet
60
61def calcGauss(dataSetArr, mu, sigmod):
62 '''

Callers 1

EM.pyFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected