针对testSetRBF2.txt中数据,使用高斯核函数,进行SVM分类,画图。

testSetRBF2.txt

# 2.	针对testSetRBF2.txt中数据,使用高斯核函数,进行SVM分类,画图并标记出支持向量。

from numpy import *
import matplotlib.pyplot as plt
from sklearn import svm


# 加载数据集
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 array(dataMat), array(labelMat)


data, target = loadDataSet("testSetRBF2.txt")
index1 = where(target == 1)
X1 = data[index1]
index2 = where(target == -1)
X2 = data[index2]
# 二维空间画图
plt.plot(X1[:,0],X1[:,1],'ro')
plt.plot(X2[:,0],X2[:,1],'bx')
plt.show()
# # 高斯核函数
sigma = 0.01
clf = svm.SVC(C=1, kernel='rbf', gamma=1 / sigma)
clf.fit(data, target)
plt.scatter(data[:, 0], data[:, 1], c=target, cmap=plt.cm.Paired)  # [:,0]列切片,第0列
plt.axis('tight')
plt.show()
发布了23 篇原创文章 · 获赞 31 · 访问量 6万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览