支持向量分类内核 'linear'、'poly'、'rbf' 具有相同的分数

数据挖掘 机器学习 支持向量机 scikit-学习
2022-03-06 20:42:08

我建立了一个基于 SVM 的分类模型,并在运行不同的内核后得到相同的结果。你能告诉我是否是错误的吗?还记得所有都是相同的。谢谢你的帮助。

添加笔记本和数据的位置。 带有笔记本和数据的 SVC 存储库

支持向量分类分数

准确度得分

回忆分数

1个回答

你会喜欢这个答案的……

查看您的代码并注意您正在调用评分函数,并且每次您传入完全相同的值时,即它们都在吐出 lin_svc.score()。尝试在四个相应的 fit 调用下方交织四个评分调用,您应该会看到结果中所需的变化。

# we create an instance of SVM and fit out data. We do not scale our
# data since we want to plot the support vectors
#rbf is for gaussian
C = 1.0  # SVM regularization parameter

svc = svm.SVC(kernel='linear', C=C).fit(X_train, y_train)
print svc.score(X_test, y_test)

rbf_svc = svm.SVC(kernel='rbf', gamma=0.7, C=C).fit(X_train, y_train)
print rbf_svc.score(X_test, y_test)

poly_svc = svm.SVC(kernel='poly', degree=3, C=C).fit(X_train, y_train)
print poly_svc.score(X_test, y_test)

lin_svc = svm.LinearSVC(C=C).fit(X_train, y_train)
print lin_svc.score(X_test, y_test)

同样,您也在下面做同样的事情。

希望这可以帮助!