示例#1
0
def generateKernelMatrix(DataSet):
    """Creates a kernel matrix/gram matrix from an input dataset, which is a list of examples"""
    
    n_samples = len(DataSet)
    kernelMatrix = np.empty([n_samples,n_samples], dtype = "string")
    PatternIds = np.empty([n_samples,1],dtype = "string")
    Labels = np.empty([n_samples,1],dtype = "string") 
    for i in xrange(n_samples):
        (label, tps, pID, A1) = DataSet[i]
        PatternIds[i,0] =  pID
        Labels[i,0] = label
    
    for i in xrange(n_samples):
        for j in xrange(n_samples):
            (label1, tps, pID, A1) = DataSet[i]
            (label2, tps, pID, A2) = DataSet[j]
            kernelMatrix[i,j] = str(ger.GERPKernel(A1,A2))
    
    kernelFileMatrix = np.concatenate(PatternIds, kernelMatrix)
    labelMatrix = np.concatenate(PatternIds, Labels)
    
    np.savetxt("labelText.txt", labelMatrix, delimiter = ',')
    np.savetxt("kernelText.txt", kernelFileMatrix,delimiter=',')
    
    labels = ml.Labels("labelText.txt")
    kdata = ml.kernelData("kernelText.txt")
    kdata.attachLabels(labels)
    
    return kdata
def generateKernelMatrix(DataSet):
    """Creates a kernel matrix/gram matrix from an input dataset, which is a list of examples"""

    n_samples = len(DataSet)
    kernelMatrix = np.empty([n_samples, n_samples], dtype="string")
    PatternIds = np.empty([n_samples, 1], dtype="string")
    Labels = np.empty([n_samples, 1], dtype="string")
    for i in xrange(n_samples):
        (label, tps, pID, A1) = DataSet[i]
        PatternIds[i, 0] = pID
        Labels[i, 0] = label

    for i in xrange(n_samples):
        for j in xrange(n_samples):
            (label1, tps, pID, A1) = DataSet[i]
            (label2, tps, pID, A2) = DataSet[j]
            kernelMatrix[i, j] = str(ger.GERPKernel(A1, A2))

    kernelFileMatrix = np.concatenate(PatternIds, kernelMatrix)
    labelMatrix = np.concatenate(PatternIds, Labels)

    np.savetxt("labelText.txt", labelMatrix, delimiter=',')
    np.savetxt("kernelText.txt", kernelFileMatrix, delimiter=',')

    labels = ml.Labels("labelText.txt")
    kdata = ml.kernelData("kernelText.txt")
    kdata.attachLabels(labels)

    return kdata