MCPcopy Create free account
hub / github.com/Jack-Cherish/Machine-Learning / kernelTrans

Function kernelTrans

SVM/svm-digits.py:40–59  ·  view source on GitHub ↗

通过核函数将数据转换更高维的空间 Parameters: X - 数据矩阵 A - 单个数据的向量 kTup - 包含核函数信息的元组 Returns: K - 计算的核K

(X, A, kTup)

Source from the content-addressed store, hash-verified

38 self.K[:,i] = kernelTrans(self.X, self.X[i,:], kTup)
39
40def kernelTrans(X, A, kTup):
41 """
42 通过核函数将数据转换更高维的空间
43 Parameters:
44 X - 数据矩阵
45 A - 单个数据的向量
46 kTup - 包含核函数信息的元组
47 Returns:
48 K - 计算的核K
49 """
50 m,n = np.shape(X)
51 K = np.mat(np.zeros((m,1)))
52 if kTup[0] == 'lin': K = X * A.T #线性核函数,只进行内积。
53 elif kTup[0] == 'rbf': #高斯核函数,根据高斯核函数公式进行计算
54 for j in range(m):
55 deltaRow = X[j,:] - A
56 K[j] = deltaRow*deltaRow.T
57 K = np.exp(K/(-1*kTup[1]**2)) #计算高斯核K
58 else: raise NameError('核函数无法识别')
59 return K #返回计算的核K
60
61def loadDataSet(fileName):
62 """

Callers 2

__init__Method · 0.70
testDigitsFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected