IndexError: only integers, slices (`:`), ellipsis (`...`) . .
IndexError: only integers, slices (`:`), ellipsis (`...`) . .
我正在使用 pymc3 寻找最适合 3D 表面的方法。这是我正在使用的代码。
with Model() as model:
# specify glm and pass in data. The resulting linear model, its likelihood and
# and all its parameters are automatically added to our model.
glm.glm('z ~ x**2 + y**2 + x + y + np.sin(x) + np.cos(y)' , flatimage)
start = find_MAP()
step = NUTS(scaling=start) # Instantiate MCMC sampling algorithm
trace = sample(2000, step, progressbar=False) # draw 2000 posterior samples using NUTS sampling
我在这一行中遇到错误:
glm.glm('z ~ x**2 + y**2 + x + y + np.sin(x) + np.cos(y)' , flatimage)
错误是:
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
我曾尝试通过将 sin(x) 和 cos(y) 更改为 np.sin(x) 和 np.cos(y) 来修复它,但这没有用,我不知道还能做什么。
我认为问题与您对 flatimage
的定义有关。您需要为 glm 模块标记数据才能工作。像这样:
# synthetic data (just an example)
x = np.random.normal(size=100)
y = np.random.normal(size=100)
z = x**2 + y**2 + x + y + np.sin(x) + np.cos(y)
data = dict(x=x, y=y, z=z) # a pandas dataframe will also work
with pm.Model() as model:
pm.glm.glm('z ~ x**2 + y**2 + x + y + np.sin(x) + np.cos(y)' , data)
start = pm.find_MAP()
step = pm.NUTS(scaling=start)
trace = pm.sample(2000, step, start)
查看 this 示例了解其他详细信息。
我正在使用 pymc3 寻找最适合 3D 表面的方法。这是我正在使用的代码。
with Model() as model:
# specify glm and pass in data. The resulting linear model, its likelihood and
# and all its parameters are automatically added to our model.
glm.glm('z ~ x**2 + y**2 + x + y + np.sin(x) + np.cos(y)' , flatimage)
start = find_MAP()
step = NUTS(scaling=start) # Instantiate MCMC sampling algorithm
trace = sample(2000, step, progressbar=False) # draw 2000 posterior samples using NUTS sampling
我在这一行中遇到错误:
glm.glm('z ~ x**2 + y**2 + x + y + np.sin(x) + np.cos(y)' , flatimage)
错误是:
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
我曾尝试通过将 sin(x) 和 cos(y) 更改为 np.sin(x) 和 np.cos(y) 来修复它,但这没有用,我不知道还能做什么。
我认为问题与您对 flatimage
的定义有关。您需要为 glm 模块标记数据才能工作。像这样:
# synthetic data (just an example)
x = np.random.normal(size=100)
y = np.random.normal(size=100)
z = x**2 + y**2 + x + y + np.sin(x) + np.cos(y)
data = dict(x=x, y=y, z=z) # a pandas dataframe will also work
with pm.Model() as model:
pm.glm.glm('z ~ x**2 + y**2 + x + y + np.sin(x) + np.cos(y)' , data)
start = pm.find_MAP()
step = pm.NUTS(scaling=start)
trace = pm.sample(2000, step, start)
查看 this 示例了解其他详细信息。