标签: machine-learning scikit-learn libsvm
来自documentation scikit-learn实现SVC,NuSVC和LinearSVC,它们是能够对数据集执行多类分类的类。另一方面,我也读到了scikit学习也使用libsvm进行支持向量机算法。我对SVC和libsvm版本之间的区别有点困惑,现在我猜不同的是,SVC是多类问题的支持向量机算法,而libsvm是二进制类问题。有人能帮助我理解这个之间的区别吗?。
答案 0 :(得分:22)
它们只是同一算法的不同实现。 SVM模块(SVC,NuSVC等)是libsvm库的包装器,支持不同的内核,而LinearSVC基于liblinear,只支持线性内核。所以:
LinearSVC
SVC(kernel = 'linear')
理论上是等同的"到:
LinearSVC()
由于实现方法的不同,您会得到不同的结果,最重要的是LinearSVC只支持线性内核,速度更快,可以更好地扩展。
答案 1 :(得分:0)
这是本书的快照-动手机器学习
希望您会发现它有用。