其实就是为了查看不同分类算法在相同数据源中的应用是否会产生不同的决策边界。以及不同的决策边界是否有收敛值。
使用sklearn自带的数据包iris。
在线性可分离数据集上训练“LinearSVC”。然后在同一个数据集上训练一个“SVC”和一个“sgdclassizer”。
导入数据:
from sklearn import datasets
iris = datasets.load_iris()
X = iris["data"][:, (2, 3)] # 使用花瓣长、宽属性
y = iris["target"]
setosa_or_versicolor = (y == 0) | (y == 1)
X = X[setosa_or_versicolor]
y = y[setosa_or_versicolor]
#建立模型
from sklearn.svm import SVC, LinearSVC
from sklearn.linear_model import SGDClassifier
from sklearn.preprocessing import StandardScaler
C = 5
alpha = 1 / (C * len(X))
lin_clf = LinearSVC(loss="hinge", C=C, random_state=42)#线性svc模型
svm_clf = SVC(kernel="linear", C=C)#svc模型选取内核为线性的线性Svc模型
sgd_clf = SGDClassifier(loss="hinge", learning_rate=

这篇博客探讨了在同一数据集上使用LinearSVC、SVC和SGDClassifier进行分类时,不同算法的决策边界表现。通过sklearn的iris数据集,作者展示了数据预处理、模型训练过程,并指出尽管决策边界接近,LinearSVC在线性分类任务上的效率更高。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



