机器学习(支持向量机)
有人说,SVM是现成最好的分类器,指的是该分类器不加修改既可直接使用。同时意味着在数据上应用基本形式的SVM分类器可以得到低的错误率的结果。 SVM有很多实现,但是最流行的是实现序列最小优化SMO,通过核函数Kernel将SVM扩展到更多的数据集上 优点:泛化错误率低,计算开销不大,结果易解释 缺点:对参数调节和核函数的选择敏感,原始分类器不加修改只适合处理二类问题 适用于标称型数据和数值型数据 支持向量就是离分隔超平面最近的那些点。我们要做的是最大化支持向量到分隔面的距离 https://www.cnblogs.com/steven-yang/p/5658362.html 具体数学意义上的理解可以参考这个博客 from numpy import * from time import sleep def loadDataSet(fileName): dataMat = []; labelMat = [] fr = open(fileName) for line in fr.readlines(): lineArr = line.strip().split( ' \t ' ) dataMat.append([float(lineArr[0]), float(lineArr[ 1 ])]) labelMat.append(float(lineArr[ 2 ])) return