sklearn使用高斯核SVM显示支持向量

import graphviz
import mglearn
from mpl_toolkits.mplot3d import Axes3D
from sklearn.datasets import load_breast_cancer, make_blobs
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.tree import DecisionTreeClassifier, export_graphviz
from IPython.display import display
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mt
import pandas as pd

X, y = mglearn.tools.make_handcrafted_dataset()
svm = SVC(kernel=‘rbf‘, C=100, gamma=0.1).fit(X, y)
mglearn.plots.plot_2d_separator(svm, X, eps=.5)
mglearn.discrete_scatter(X[:, 0], X[:, 1], y)
# plot support vectors
sv = svm.support_vectors_
print(sv)
# class labels of support vectors are given by the sign of the dual coefficients
sv_labels = svm.dual_coef_.ravel() > 0
mglearn.discrete_scatter(sv[:, 0], sv[:, 1], sv_labels, s=15, markeredgewidth=3)
plt.xlabel("Feature 0")
plt.ylabel("Feature 1")
plt.show()

原文地址:https://www.cnblogs.com/starcrm/p/11684587.html

时间: 2024-11-09 09:55:35

sklearn使用高斯核SVM显示支持向量的相关文章

支持向量机高斯核调参小结

在支持向量机(以下简称SVM)的核函数中,高斯核(以下简称RBF)是最常用的,从理论上讲, RBF一定不比线性核函数差,但是在实际应用中,却面临着几个重要的超参数的调优问题.如果调的不好,可能比线性核函数还要差.所以我们实际应用中,能用线性核函数得到较好效果的都会选择线性核函数.如果线性核不好,我们就需要使用RBF,在享受RBF对非线性数据的良好分类效果前,我们需要对主要的超参数进行选取.本文我们就对scikit-learn中 SVM RBF的调参做一个小结. 1. SVM RBF 主要超参数概

【机器学习基础】支持向量回归

引言 这一小节介绍一下支持向量回归,我们在之前介绍的核逻辑回归使用表示定理(Representer Theorem),将逻辑回归编程Kernel的形式,这一节我们沿着这个思路出发,看看如何将回归问题和Kernel的形式结合起来. Kernel Ridge Regression 上次介绍的表示定理告诉我们,如果我们要处理的是有L2的正则项的线性模型,其最优解是数据zn的线性组合.我们可以将这样的线性模型变成Kernel的形式. 既然我们知道这样带有L2-Regularizer的线性回归模型的最佳解

【练习6.2】cvFilter2D及3×3高斯核、cvFilter2D当使用一维核时anchor注意事项、float乘法除法注意事项

提纲 题目要求 程序代码 结果图片 要言妙道 题目要求: 可分核.利用行[(1/16,2/16,1/16),(2/16,4/16,2/16),(1/16,2/16,1/16)]和在中间的参考点创建一个3*3的高斯核. a.在一副图像上运行此核并且显示这个结果. b.现在创建参考点在中心的两个核:一个“交叉”(1/4,2/4,1/4),另一个下降(1/4,2/4,1/4).载入相同的原始图像,利用cvFilter2D()对图像做两次卷积,第一次用第一个一维核,第二次用第二个一维核.描述结果. 针对

通过支持向量排名法来做行人鉴定

其中为合页函数 通过支持向量排名法来做行人鉴定

TSwitch 中文简繁显示支持(XE6 Android)

说明: XE6 的 TSwitch 做了很多改进,包含多语显示处理,但 XE6 似乎只认定一种中文语系「zh」,它无法处理「zh_TW」.「zh_CN」.「zh_HK」.「zh_SG」等语系,不过可以透过修改 XE6 源码来修正此问题,如下: 注意:请先将「FMX.Platform.Android.pas」.「FMX.Styles.Switch.pas」复制到自己的工程目录下后再修改. 修改源码 FMX.Platform.Android.pas: function TPlatformAndroi

支持向量分类方法

1. 普通的支持向量积分类方法 import numpy as np # 加载数据 def loadData(): DataMatrix = [] LabelMatrix = [] with open("testSet.txt") as fr: for line in fr.readlines(): datas = line.strip().split('\t') DataMatrix.append([float(datas[0]), float(datas[1])]) LabelMa

02-32 线性支持向量9-机(鸢尾花分类)

目录 线性支持向量机(鸢尾花分类) 一.导入模块 二.获取数据 三.构建决策边界 四.线性可分支持向量机 4.1 训练模型 4.2 可视化 五.线性支持向量机 5.1 训练模型(C=0.01) 5.2 可视化 5.3 训练模型(C=100) 5.4 可视化 更新.更全的<机器学习>的更新网站,更有python.go.数据结构与算法.爬虫.人工智能教学等着你:https://www.cnblogs.com/nickchen121/ 线性支持向量机(鸢尾花分类) 一.导入模块 import num

《机器学习技法》---支持向量回归

1 核型岭回归 首先,岭回归的形式如下: 在<核型逻辑回归>中我们介绍过一个定理,即以上这种形式的问题,求得的w都能表示为z的线性组合: 因此我们把w代入,问题就转化为求β的问题,同时引入核技巧: 求解这个问题,先求梯度: 令

[学习记录]sklearn贝叶斯及SVM文本分类

贝叶斯分类首先准备好数据材料 第一次获取20newsgroups时会花费数分钟时间来获取数据,通过获得target_names可以查看其中的类型. 为了进行分类,采用词袋模型的方法,即统计每篇新闻的单词,不考虑单词间的联系,仅仅考虑它们出现的频率. 11314代表有11314篇文章,130107意思为词典中一共有130107个单词,这11314篇文章中所有的单词都来自于此. 我们可以获得列表中每个对象(文章),并通过一些属性获得我们想要的信息 接下来进行贝叶斯分类,这里采用Multinomial