小编ste*_*her的帖子

定义自定义PyMC分发

这可能是一个愚蠢的问题.

我正在尝试使用PyMC中的MCMC评估将数据拟合到一个非常奇怪的PDF中.对于这个例子,我只想弄清楚如何适应正常分布,我手动输入普通PDF.我的代码是:

data = []; 
for count in range(1000): data.append(random.gauss(-200,15));

mean = mc.Uniform('mean', lower=min(data), upper=max(data))
std_dev = mc.Uniform('std_dev', lower=0, upper=50)

# @mc.potential
# def density(x = data, mu = mean, sigma = std_dev):
#   return (1./(sigma*np.sqrt(2*np.pi))*np.exp(-((x-mu)**2/(2*sigma**2))))

mc.Normal('process', mu=mean, tau=1./std_dev**2, value=data, observed=True)

model = mc.MCMC([mean,std_dev])
model.sample(iter=5000)

print "!"
print(model.stats()['mean']['mean'])
print(model.stats()['std_dev']['mean'])
Run Code Online (Sandbox Code Playgroud)

我发现的例子都使用了像mc.Normal,或者mc.Poisson或者诸如此类的东西,但是我想要符合注释掉的密度函数.

任何帮助,将不胜感激.

python machine-learning pymc

10
推荐指数
1
解决办法
3588
查看次数

从numpy数组创建pandas DataFrame会导致奇怪的错误

总而言之,当我尝试从功能性 numpy 数组创建它们时,DataFrame 会吐出字节序错误。这是一个 pastebin,更多详细信息如下:http : //pastebin.com/Sdg9EM61

在我的领域,我们以 .FIT 格式存储数据,这是一种二进制格式(这可能是有用的信息)

我真的不知道如何解决以下几行代码和错误。

d = fits.getdata('file.fit')
d2 = np.array(d)
Run Code Online (Sandbox Code Playgroud)

然后你可以做一些很酷的技巧,比如:

d2[d2['key1'] > 10.]
d2[['key1', 'key2']]
Run Code Online (Sandbox Code Playgroud)

等等。

当我将其转换为 Pandas DataFrame 时

d3 = pandas.DataFrame(d2)
Run Code Online (Sandbox Code Playgroud)

事情开始变得奇怪。列名称已更改,例如:

d3.columns
Run Code Online (Sandbox Code Playgroud)

返回

Index([u'key1', u'key2'], dtype='object')
Run Code Online (Sandbox Code Playgroud)

在每个列名前面加上这个新的 u,而不是

d2.dtype
Run Code Online (Sandbox Code Playgroud)

回来

dtype([('key1', '>i4'), ('key2', 'S19')])
Run Code Online (Sandbox Code Playgroud)

虽然当您使用 d3.dtypes 而不是 d3.columns 时,数据类型在数据框中看起来不错......

无论如何,DataFrame 拥有所有数据并保留数据类型,我可以打印出特征数据等,但是一旦我尝试执行以下操作:

d3[d3['key1'] > 10.]
Run Code Online (Sandbox Code Playgroud)

我收到一个关于字节序的怪物错误:

ValueError: Big-endian buffer not supported on little-endian compiler
Run Code Online (Sandbox Code Playgroud)

关于这意味着什么以及如何解决的任何见解?

python pandas

1
推荐指数
1
解决办法
2506
查看次数

标签 统计

python ×2

machine-learning ×1

pandas ×1

pymc ×1