myImputer.py 文件源码

python
阅读 35 收藏 0 点赞 0 评论 0

项目:CIKM2017 作者: heliarmk 项目源码 文件源码
def myImputer(kernel,sample):
    kernelSize = kernel.shape[0];
    vectorSize = sample.shape[3];

    for fIndex in range(0,int(sample.shape[0])):
        for sIndex in range(0,int(sample.shape[1])):
            sslice = sample[fIndex][sIndex]
            #find the index of -1
            [x,y] = np.where(sslice == -1)
            #change -1 to 0
            sslice[sslice == -1] = 0
            if x.size == 0:
                continue
            #broaden the vector 
            tempVectorH = np.zeros([int((kernelSize-1)/2),vectorSize])
            tempVectorV = np.zeros([vectorSize-1+kernelSize,int((kernelSize-1)/2)])
            tempSlice = np.vstack((tempVectorH,sslice,tempVectorH))
            tempSlice = np.hstack((tempVectorV,tempSlice,tempVectorV))

            zeroSlice = np.zeros(sslice.shape);
            for k in range(len(x)):
                subSlice = tempSlice[x[k]:x[k]+kernelSize,y[k]:y[k]+kernelSize]
                imputerValue = np.sum(subSlice*kernel)
                zeroSlice[x[k],y[k]] = np.around(imputerValue)
            sslice += zeroSlice.astype("int32")
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号