【发布时间】:2018-10-29 14:22:07
【问题描述】:
我正在尝试实现一个自定义内核,即指数卡方内核,作为参数传递给 sklearn svm 函数,但是当我运行它时,会引发后续错误: ValueError: X.shape[0] 应该等于 X.shape[1]
我阅读了 numpy 函数执行的广播操作以加快计算速度,但我无法管理错误。
代码是:
import numpy as np
from sklearn import svm, datasets
# import the iris dataset (http://en.wikipedia.org/wiki/Iris_flower_data_set)
iris = datasets.load_iris()
train_features = iris.data[:, :2] # Here we only use the first two features.
train_labels = iris.target
def my_kernel(x, y):
gamma = 1
return np.exp(-gamma * np.divide((x - y) ** 2, x + y))
classifier = svm.SVC(kernel=my_kernel)
classifier = classifier.fit(train_features, train_labels)
print "Train Accuracy : " + str(classifier.score(train_features, train_labels))
有什么帮助吗?
【问题讨论】:
-
第一篇文章做得很好。
标签: python numpy machine-learning classification svm