gamma值时在调整模型复杂度

  • 越大越倾向于过拟合
  • 越小越倾向于欠拟合
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
X,y = datasets.make_moons(noise = 0.15,random_state = 666)plt.scatter(X[y == 0,0],X[y == 0,1])
plt.scatter(X[y == 1,0],X[y == 1,1])


使用SVC之前必须标准化

from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
from sklearn.pipeline import Pipelinedef RBFKernelSVC(gamma=1.0):return Pipeline([('std_scaler',StandardScaler()),('svc',SVC(kernel='rbf',gamma=gamma))])
svc = RBFKernelSVC(gamma=1.0)
svc.fit(X,y)

绘制决策边界

def plot_decision_boundary(model, axis):x0, x1 = np.meshgrid(np.linspace(axis[0], axis[1], int((axis[1]-axis[0])*100)).reshape(-1, 1),np.linspace(axis[2], axis[3], int((axis[3]-axis[2])*100)).reshape(-1, 1),)X_new = np.c_[x0.ravel(), x1.ravel()]y_predict = model.predict(X_new)zz = y_predict.reshape(x0.shape)from matplotlib.colors import ListedColormapcustom_cmap = ListedColormap(['#EF9A9A','#FFF59D','#90CAF9'])plt.contourf(x0, x1, zz, linewidth=5, cmap=custom_cmap)
plot_decision_boundary(svc,axis=[-2,2.5,-1,1.5])
plt.scatter(X[y==0,0],X[y==0,1])
plt.scatter(X[y==1,0],X[y==1,1])


gamma100

#针对其中一类,边界看起来每一个蓝色周围围绕了一个区域
#显然过拟合了。太敏感了
svc_gamma100 = RBFKernelSVC(gamma=100)
svc_gamma100.fit(X,y)
plot_decision_boundary(svc_gamma100,axis=[-2,2.5,-1,1.5])
plt.scatter(X[y==0,0],X[y==0,1])
plt.scatter(X[y==1,0],X[y==1,1])

#稍微减少γ
svc_gamma10 = RBFKernelSVC(gamma=10)
svc_gamma10.fit(X,y)
plot_decision_boundary(svc_gamma10,axis=[-2,2.5,-1,1.5])
plt.scatter(X[y==0,0],X[y==0,1])
plt.scatter(X[y==1,0],X[y==1,1])


继续减小γ

#如果gama变小
svc_gamma05 = RBFKernelSVC(gamma=0.5)
svc_gamma05.fit(X,y)
plot_decision_boundary(svc_gamma05,axis=[-2,2.5,-1,1.5])
plt.scatter(X[y==0,0],X[y==0,1])
plt.scatter(X[y==1,0],X[y==1,1])


伽马0.01,欠拟合了

#明显欠拟合了。。。线性的
#如果gama变小
svc_gamma01 = RBFKernelSVC(gamma=0.1)
svc_gamma01.fit(X,y)
plot_decision_boundary(svc_gamma01,axis=[-2,2.5,-1,1.5])
plt.scatter(X[y==0,0],X[y==0,1])
plt.scatter(X[y==1,0],X[y==1,1])
#gamma值时在调整模型复杂度
#越大越倾向于过拟合
#越小越倾向于欠拟合

Python机器学习:SVM008scikit-learn中的高斯核函数相关推荐

  1. Python机器学习:SVM004Scikit-learn中的SVM

    纵向值很大 数据尺度归一化 #SCikit-learn中的SVN import numpy as np import matplotlib.pyplot as plt from sklearn imp ...

  2. 一文彻底理解机器学习高斯核函数和基函数

    本文介绍了高斯核函数的感性理解,以及从线性代数角度求解.推导高斯核函数.基函数的公式,并用pyhon实现了其函数以及图像绘制. 如何理解高斯核函数呢?我建议从用途入手. 作为机器学习中的一种算法,在解 ...

  3. python机器学习案例系列教程——支持向量机SVM、核函数

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 线性函数.线性回归.线性分类 参考:http://blog.csdn.net/luanpeng825485697/article/de ...

  4. 数值实验-高斯核函数 python/matlab 实现

    支持向量机 支持向量:支持平面把两类类别划分开的超平面的向量点 机:一种算法 SVM 是一种二分类模型 线性可分支持向量机:通过硬间隔最大化,学习一个线性分类器 线性支持向量机:通过软间隔最大化,学习 ...

  5. 机器学习笔记(二十八):高斯核函数

    凌云时刻 · 技术 导读:核函数是机器学习算法中一个重要的概念.简单来讲,核函数就是样本数据点的转换函数.这一节我们来看看应用非常广泛的一个核函数,高斯核函数. 作者 | 计缘 来源 | 凌云时刻(微 ...

  6. Python机器学习中的数学原理详解(补充勘误表)

    数学是机器学习和数据科学的基础,任何期望涉足相关领域并切实领悟具体技术与方法的人都无法绕过数学这一关.在一篇题为<放弃幻想,搞AI必须过数学关>的网文中,作者一针见血地指出想从事AI相关工 ...

  7. 高斯核函数python代码_单类SVM:SVDD

    话接上文(SVM的简单推导),这篇文章我们来看单类SVM:SVDD.可能大家会觉得很奇怪,我们为什么需要单分类呢?有篇博客举了一个很有意思的例子. 花果山上的老猴子,一生阅猴无数,但是从来没有见过其它 ...

  8. python网格搜索核函数_(转载)Python机器学习笔记GridSearchCV(网格搜索)

    转载声明 介绍 在机器学习模型中,需要人工选择的参数称为超参数.比如随机森林中决策树的个数,人工神经网络模型中隐藏层层数和每层的节点个数,正则项中常数大小等等,他们都需要事先指定.超参数选择不恰当,就 ...

  9. 机器学习--SVM(支持向量机)核函数原理以及高斯核函数

    最近小小地研究了一下SVM,发现这个算法还是相当有意思,今天来给大家讲讲其原理. 首先假设每个样本的特征值为X1.X2...到Xn,即有n个特征值.θ1.θ2.θ3...θn为对应权值. 那么要将上图 ...

最新文章

  1. qii, sopc, nios ii 10.1 IP核设计,LED验证死活不行,感觉很神奇
  2. SecureCRT 连接虚拟机Linux
  3. 微信小程序实现支付功能
  4. .NETCore3.1中的Json互操作最全解读-收藏级
  5. 超全Typora快速入门
  6. oracle trigger 延迟执行_一文详解Spring任务执行和调度
  7. 面试官系统精讲Java源码及大厂真题 - 08 HashMap 源码解析
  8. lua urlencode urldecode URL编码
  9. 【转】关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题
  10. 视觉定位VBL 视觉里程计VO 视觉SLAM 区别与联系
  11. 哪里下载全部股票历史数据?下载全部股票历史数据怎么下?
  12. 文件上传漏洞—蚁剑连接地址错误、一句话木马php语法错误
  13. weex请求方法stream 的封装
  14. 我使用的安卓软件名单_我是亲民_新浪博客
  15. VS Code中使用PlantUML绘图
  16. 让Atmega8A-PU 支持外部晶振的熔丝设置
  17. 青龙-今日头条极速版更新
  18. 蓝绿部署、金丝雀发布(灰度发布)、A/B测试的准确定义
  19. 基于K均值算法的鸢尾花聚类实验(Sklearn实现)
  20. iOS适配之autolayout和sizeclass(二)

热门文章

  1. HLA程序:HelloWorld.hla
  2. 【BZOJ2456】mode,卡内存
  3. 游戏教玩家学java,技术|帮你学习Java语言的游戏
  4. java 实例域_Java实例域初始化方法及顺序
  5. 台湾大学公开课《概率》第五周一道不会作的作业题 ,一种看不懂的解法
  6. SPH(光滑粒子流体动力学)流体模拟实现三:Marching Cube算法(2)
  7. 移动端海洋实时仿真技术研究与实现
  8. Unity有哪些让做项目事半功倍的插件值得推荐?
  9. Simpleperf: 一款能在Android 做 Native Profiling 的工具
  10. 如何把域名解析到网站空间IP上?