Python Keras CNN模型三维位移数据的正确表示方法?

Python Keras CNN模型三维位移数据的正确表示方法?,python,pandas,numpy,scipy,Python,Pandas,Numpy,Scipy,我是新来的。我有一个1000个3D结构的数据集,每个结构都有x,y,z坐标。我试图使用CNN模型,但无法为体系结构准备正确的数据集格式。以下是我的熊猫数据帧数据集: row_id, xlist, ylist, zlist, target 1, [1,2,3,3], [5,2,6,7], [1,0,4,5], 1 2, [-1,6,4,6], [7,-1,4,1], [2,5,3,5], 1 3, [6,4,-2,-2], [2,-6,6,2], [3,0,7,2], 0 ... n, [5,3,

我是新来的。我有一个1000个3D结构的数据集,每个结构都有x,y,z坐标。我试图使用CNN模型,但无法为体系结构准备正确的数据集格式。以下是我的熊猫数据帧数据集:

row_id, xlist, ylist, zlist, target
1, [1,2,3,3], [5,2,6,7], [1,0,4,5], 1
2, [-1,6,4,6], [7,-1,4,1], [2,5,3,5], 1
3, [6,4,-2,-2], [2,-6,6,2], [3,0,7,2], 0
...
n, [5,3,1], [5,3,7], [3,5,3], 1
我试过了,但这不是我想要的

np.array([dataset['xlist'],dataset['ylist'],dataset['zlist']]) 

我想获得一个x*y*z尺寸的3D结构。如何创建x、y和z尺寸为4*4*4的3D矩阵

keras可能需要高度、宽度、深度和通道的表示

因此,在您的情况下,您可以从创建一个空图像开始,如下所示:

empty_image = np.zeros(20, 20, 20, 1)
这假设您的x、y、z范围为-10到10,像素大小为1 所以对于每一个点,你都可以把零变成一:

empty_image[x+10, y+10, z+10, 0] += 1

这些点代表什么?那么,每个结构在一个房间里只有4个点,还是它们应该以某种方式连接起来以创建一个结构呢?有超过4个点,在这个示例中,我只添加了4个点。它们代表一个3D蛋白质结构。