• 大小: 2.53KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-03-02
  • 语言: Python
  • 标签: svm  

资源简介


资源截图

代码片段和文件信息

#encoding=utf-8
import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm
from sklearn.datasets import make_blobs

“““
--------获取数据--------
随机生成40个独立的点,一共有两类
X数据格式[[6.37734541 -10.61510727][6.50072722 -3.82403586]...]
Y数据格式[1 0 1 0 1 ...1 0 1]   0和1代表类别
“““
Xy = make_blobs(n_samples=40centers=2random_state=6)   #随机生成2类数据,一共含40个样本
“““
print X
print y
“““

“““
--------训练SVM模型--------
kernel=‘linear‘ 核函数选择Linear核,主要用于线性可分的情形。参数少,速度快。
C=1000 惩罚参数,C越大,相当于惩罚松弛变量,希望松弛变量接近0,即对误分类的惩罚增大,
趋向于对训练集全分对的情况,这样对训练集测试时准确率很高,但泛化能力弱。C值小,对误分类的惩罚减小,允许容错,
将他们当成噪声点,泛化能力较强。
“““
clf = svm.SVC(kernel=‘linear‘C=1000)    #SVC时SVM的一种Type是用来做分类的
clf.fit(Xy)      #喂给模型数据,进行训练
print(“模型参数W:“clf.coef_ )   #模型参数W
print(“模型参数b:“clf.intercept_ )  #模型参数b
print(“支持向量为:“clf.support_vectors_ ) #输出支持向量
xpredict = [10-10]
xpredict = np.array(xpredict).reshape(1-1)   #sklearn 0.17版本之后需要这条语句,之前版本直接传入xpre

评论

共有 条评论