Python的信息和precomputed kernels
示例非常有限。sklearn
仅提供linear kernel
的一个小例子:http://scikit-learn.org/stable/modules/svm.html
下面是线性核的代码:
import numpy as np
from scipy.spatial.distance import cdist
from sklearn.datasets import load_iris
# import data
iris = datasets.load_iris()
X = iris.data
Y = iris.target
X_train, X_test, y_train, y_test = train_test_split(X, Y)
clf = svm.SVC(kernel='precomputed')
# Linear kernel
G_train = np.dot(X_train, X_train.T)
clf.fit(G_train, y_train)
G_test = np.dot(X_test, X_train.T)
y_pred = clf.predict(G_test)
这对于进一步理解其他非平凡内核的实现没有很大帮助,例如,RBF kernel
,它将是:
如何对train
和test
进行相同的拆分并实现precomputed kernel
的{
如果内核变得更加复杂,这取决于需要在单独的函数中计算的其他参数,例如,对于参数alpha >= 0
:
K(X, X') = alpha('some function depending on X_train, X_test')*np.exp(divide(-cdist(X, X, 'euclidean), 2*np.std(X**2)))
我们需要这些非平凡内核的例子。如有任何建议,我将不胜感激。在
我们可以手工编写内核pca。让我们从政治核开始。在
数据:
^{pr2}$现在转换数据并绘制它
线性可分:
现在点可以线性分开。在
接下来我们编写RBF核函数。为了演示,让我们来看看月亮。在
月亮:
核pca变换:
我们来策划一下
结果:
相关问题 更多 >
编程相关推荐