机器学习-python通过使用sklearn编写支持向量机SVM

来源:互联网 发布:李天一狱中生活 知乎 编辑:程序博客网 时间:2024/06/07 02:18

代码及数据集下载:SVM
线性支持向量机

import numpy as npfrom sklearn import svmfrom matplotlib import pyplot as pltdef loadDataSet(fileName):      dataMat = []     labelMat = []    with open(fileName) as f:        for line in f.readlines():            line = line.strip().split()            dataMat.append([float(line[0]),float(line[1])])            labelMat.append(int(line[2]))    return dataMat,labelMatdata,label = loadDataSet('testSet.txt')data = np.array(data)label = np.array(label)clf = svm.SVC(kernel='linear')clf.fit(data,label)fig = plt.figure(0)ax = fig.add_subplot(111)ax.scatter(data[:,0],data[:,1],c=label, s=30, cmap=plt.cm.Paired)xx = ax.get_xlim()yy = ax.get_ylim()XX = np.linspace(xx[0],xx[1],30)YY = np.linspace(yy[0],yy[1],30)xxx, yyy = np.meshgrid(XX,YY)xy = np.dstack((xxx,yyy)).reshape(np.size(xxx),2)xy_labels = clf.decision_function(xy).reshape(xxx.shape)ax.contour(xxx,yyy,xy_labels,colors = 'b',levels = [-1,0,1],linestyles=['--','-','--'])plt.show()
原创粉丝点击