上一回有个读者问我:回归模型与分类模型的区别在哪?有什么不同,我在这里给他回答一下 : : : :

回归问题通常是用来预测一个值,如预测房价、未来的天气情况等等,例如一个产品的实际价格为500元,通过回归分析预测值为499元,我们认为这是一个比较好的回归分析。
 
分类问题是用于将事物打上一个标签。分类有多个特征,一个标签  .例如判断一幅图片上的动物是一只猫还是一只狗,分类通常是建立在回归之上,分类的最后一层通常要使用softmax函数进行判断其所属类别。分类并没有逼近的概念,最终正确结果只有一个,错误的就是错误的,不会有相近的概念。

这篇的知识点: 1,支持向量机    2 置信度    3网格搜索 

支持向量机

支持向量机 : 是一种按照监督学习的方式对数据进行二元分类, SVM是(支持向量机) . 可以用来做分类和回归

SVC是SVM的一种Type,是用来的做分类的                SVR是SVM的另一种Type,是用来的做回归的

SVM里有两个参数 C 和 gamma:
C是    C是惩罚系数,就是说你对误差的宽容度,这个值越高,说明你越不能容忍出现误差

gamma是   gamma是你选择径向基函数作为kernel后,该函数自带的一个参数。隐含地决定了数据映射到新的特征空间后的分布

有人会问:径向基 是什么?    径向基又叫做 : 高斯核函数/他是一个核函数

classifier =SVC(kernel='rbf',probability=True)   #此处是径向基核函数
classifier=SVC(kernel='linear') # 构建线性分类器
svc(分类)    poly(多项式)    rbf(径向基)  linear(线性分类器)
 
 

置信度

置信度  可理解为:  类别概率值 //或者可以理解为可信度 //可以理解为一个人的信誉度为1,而这个1分为了80%和20%,你可以信他80%,这就叫做置信度

y_pred_proba =classifier.predict_proba(train_X)    #获取预测数据的置信度置信度
#####  predict_proba 是获取置信度

print(y_pred_proba ) #打印出这组参数的置信度

网格搜索(Grid Search)

网格搜索(Grid Search)名字非常大气,但是用简答的话来说就是你手动的给出一个模型中你想要改动的所用的参数,程序自动的帮你把所用的参数都运行一遍
用 GridSearch  来搜索最佳参数组合的方法  :试出来最优的,最好的那组参数

SVM利用网格搜索和交叉验证进行参数选择 ,GridSearchCV是网格搜索,param_grid,是SVM,  cv = 2是折叠次数

gride =GridSearchCV(classifier,param_grid,cv=2)

kerenl是键linear是他的值,线性分类器,C是他的惩罚系数,
param_grid =[{'kerenl':['linear'],'C':[1,10,100,300]}]
网格(gride)参数:
cv_results_ : 将键作为列标题和值作为列的字典
splits 有分离,切割的意思,拆分的意思
n_splits  :只能拆分整数,交叉验证拆分的数量(折叠/迭代)。
best最好的,score得分   estimate 估计
best_score_ :  float;
best_estimator  的平均交叉验证分数,对于多度量评估.

支持向量机(SVM)利用网格搜索和交叉验证进行参数选择的更多相关文章

  1. Python之网格搜索与检查验证-5.2

    一.网格搜索,在我们不确定超参数的时候,需要通过不断验证超参数,来确定最优的参数值.这个过程就是在不断,搜索最优的参数值,这个过程也就称为网格搜索. 二.检查验证,将准备好的训练数据进行平均拆分,分为 ...

  2. scikit-learn网格搜索来进行高效的参数调优

    内容概要¶ 如何使用K折交叉验证来搜索最优调节参数 如何让搜索参数的流程更加高效 如何一次性的搜索多个调节参数 在进行真正的预测之前,如何对调节参数进行处理 如何削减该过程的计算代价 1. K折交叉验 ...

  3. python进行机器学习(四)之模型验证与参数选择

    一.模型验证 进行模型验证的一个重要目的是要选出一个最合适的模型,对于监督学习而言,我们希望模型对于未知数据的泛化能力强,所以就需要模型验证这一过程来体现不同的模型对于未知数据的表现效果. 这里我们将 ...

  4. 利用JS验证查询参数-选择月份后必须选择年份

    js代码: function queryAgentInfo(){ // 标记 var flag=false; //遍历所有月份 $(".month").each(function( ...

  5. Python机器学习笔记 Grid SearchCV(网格搜索)

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

  6. 什么是机器学习的分类算法?【K-近邻算法(KNN)、交叉验证、朴素贝叶斯算法、决策树、随机森林】

    1.K-近邻算法(KNN) 1.1 定义 (KNN,K-NearestNeighbor) 如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类 ...

  7. 基于sklearn和keras的数据切分与交叉验证

    在训练深度学习模型的时候,通常将数据集切分为训练集和验证集.Keras提供了两种评估模型性能的方法: 使用自动切分的验证集 使用手动切分的验证集 一.自动切分 在Keras中,可以从数据集中切分出一部 ...

  8. 支持向量机SVM 参数选择

    http://ju.outofmemory.cn/entry/119152 http://www.cnblogs.com/zhizhan/p/4412343.html 支持向量机SVM是从线性可分情况 ...

  9. 机器学习——支持向量机(SVM)

    支持向量机原理 支持向量机要解决的问题其实就是寻求最优分类边界.且最大化支持向量间距,用直线或者平面,分隔分隔超平面. 基于核函数的升维变换 通过名为核函数的特征变换,增加新的特征,使得低维度空间中的 ...

随机推荐

  1. mysql查询正在执行的sql

    mysql> SHOW VARIABLES LIKE "general_log%"; +------------------+------------------------ ...

  2. Linux网络编程学习(十) ----- Socket(第六章)

    前言:由于第五章主要介绍了TCP和UDP协议以及两者的包头的字段以及相应的功能,这里就不介绍了,对着字段看功能就好了,后续开始学习第六章 1.Socket Socket实质上就是提供了通信的端点,每个 ...

  3. [GNU] 喝一杯咖啡, 写一写 Makefile

    Makefile 是 Linux 下组织程序的一个工具,它的命令是 make. (首字母M/m都可以) [Makefile] Makefile 编写的主旋律: target: [dependency] ...

  4. flex布局-css

    1.html <div id="parent"> <div id="child1"></div>  <div id=& ...

  5. IDEA中使用中jetty启动java项目(非springboot)

    1.安装maven helper插件,略 2.项目pom.xml文件中添加jetty插件配置 <build> <plugins> <plugin> <grou ...

  6. SpringCloud-day09-Feign与Hystrix整合

    8.5.Feign 与 Hystrix整合 服务熔断服务降级彻底解耦 前面的代码,用@HystrixCommand fallbackMethod是很不好的,因为和业务代码耦合度太高,不利于维护,所以需 ...

  7. 接口测试之——Charles抓包及常见问题解决(转载自https://www.jianshu.com/p/831c0114179f)

    简介 Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的.该软件是用Java写的,能够在Windows,Mac,Linux上使用,安装Charl ...

  8. CentOS7 安装phpMyAdmin-4.8.3-all-languages

    1 需要先安装好web服务(如nginx).PHP.数据库(如MySQL) 在此略过... wget -O /tmp/phpMyAdmin--all-languages.tar.gz https:// ...

  9. java中mysql查询报错java.sql.SQLException: Before start of result set

    异常:java.sql.SQLException: Before start of result set 解决方法:使用rs.getString();前一定要加上rs.next(); sm = con ...

  10. java程序员经常使用的Intellij Idea插件

    大概从去年年初开始慢慢抛弃习惯多年的eclipse,开始使用Intellij Idea,以下是我使用过的一些Intellij Idea插件: 1.lombok https://plugins.jetb ...