sklearn中文学习文档

文章目录

  • 0. 写在前面
  • 1. 形成测试集和训练集
  • 2. 交叉验证
    • 2.1 cross_val_score
    • 2.2 KFold
    • 2.3 网格搜索交叉验证GridSearchCV

0. 写在前面

本博客累积一些关于sklearn中model_selection中常用的函数.

1. 形成测试集和训练集

from sklearn.model_selection import train_test_split
Xtrain,Xtest,Ytrain,Ytest = train_test_split(wine.data,wine.target,test_size=0.3,shuffle=True)

2. 交叉验证

2.1 cross_val_score

Q1: 返回的评价指标是什么?

A1: 默认每次交叉验证,使用estimator本身的评价指标,具体可以参考sklearn对该estimator的介绍。当然也可以通过参数scoring来改变

Q2 :交叉验证时,使用训练集还是全部的数据集?

A2 :严谨来说,应该使用训练集。当使用全部数据集时,存在这样一个问题:有一个数据集第一次交叉验证时被作为训练集,第二次被作为验证集,这就相当于提前告诉了模型一些数据信息,使得模型过拟合。所以要使用训练集作为交叉验证的全部数据,在每一次交叉验证时,一份作为验证集,其余作为训练集,在验证集上表现好的,还要再测试集上测试,最后得出答案。

Q3 :estimator是训练后的还是未训练的

A3 :未训练的

注意:交叉验证本身就是一个经验技术,帮助我们更好的判断模型的训练效果,但并不是在验证集和测试集上都表现好的模型就是一个好模型,因为我们不确定它们对所有未知数据的预测


from sklearn.model_selection import cross_val_scorecross_val_score(estimator,X,y=None,*,groups=None,scoring=None,cv=None,n_jobs=None,verbose=0,fit_params=None,pre_dispatch='2*n_jobs',error_score=nan,
)
Docstring:
Evaluate a score by cross-validation

顺便提一下,你可以通过以下代码查看所有的评价指标:

import sklearn
sorted(sklearn.metrics.SCORERS.keys())

2.2 KFold

也许你还会碰到KFold对象用来交叉验证,它需要配合cross_val_score来使用,具体的:

cv = KFold(n_splits=5, shuffle = True, random_state=42)
results = cross_val_score(estimator,X,y,cv=cv)

2.3 网格搜索交叉验证GridSearchCV

目的:使用网格搜索法进行穷尽搜索最好的参数对(一般是两个参数)。

使用:GridSearchCV实现了fitscore方法。如果estimator本身实现了predictpredict_probadecision_functiontransforminverse_transform方法,则GridSearchCV的类对象也可以调用这些方法

GridSearchCV(estimator,     # √param_grid,    # √*,scoring=None,  # √n_jobs=None,iid='deprecated',refit=True,cv=None,       # √verbose=0,pre_dispatch='2*n_jobs',error_score=nan,return_train_score=False,
)

在实际使用中,一般下面的操作:

1. 定义一个字典类型变量param,其中key值是estimator的参数,value是该参数取值范围
2. 定义模型,该模型一定是未经过训练的
3. 定义交叉验证对象,可以使用KFold,该步可有可无
4. 定义GridSearchCV对象
5. 训练等后续操作

sklearn学习——model_selection相关推荐

  1. 机器学习Sklearn学习总结

    Sklearn学习资料推荐: sklearn中文文档 机器学习入门必看:使用 scikit-learn 构建模型的通用模板 机器学习神器Scikit-Learn保姆教程! python机器学习_FF_ ...

  2. sklearn学习07——集成学习

    sklearn学习07--集成学习 前言 一.集成学习 1.1.什么是集成学习? 1.2.Boosting 算法 二.AdaBoost算法及实现 2.1.AdaBoost算法 2.2.调sklearn ...

  3. sklearn学习04——DecisionTree

    sklearn学习04--DecisionTree 前言 一.决策树原理 1.1.算法基本流程 1.2.最优划分属性的选择 二.sklearn代码实践 2.1.引入库 2.2.查看数据集信息 2.3. ...

  4. SKlearn学习笔记——XGBoost

    SKlearn学习笔记--XGBoost 1. 概述 1.1 xgboost库与XGB的sklearn API 1.2 XGBoost的三大板块 2. 梯度提升树 2.1 提升集成算法:重要参数 n_ ...

  5. Sklearn学习-iris数据集学习

    Sklearn学习-逻辑回归(iris数据集) 使用load_iris加载数据集,查看包含的keys 查看数据的列名,分类目标的名称 获取data和target,并打印各自的shape 拆分训练集和测 ...

  6. sklearn学习05——K-means

    sklearn学习05--K-means 前言 一.K-means算法思想 二.代码实现 K-means算法 2.1.引入相关库 2.2.生成数据集 2.3.训练 + 预测 2.3.惯性指标(iner ...

  7. Sklearn学习笔记3 model_selection模块

    3 Model selection and evaluation 1 sklearn.model_selection: Model Selection 1.1 Splitter Classes(分组) ...

  8. sklearn 学习之 model_selection

    (1.1) sklearn.model_selection.KFold(n_splits=3, shuffle=False, random_state=None) 这个数据分割器与之前学到的 Grou ...

  9. sklearn pipeline_我的sklearn学习经验

    scikit-learn是python进行数据挖掘与分析的重要而有效的工具,学习scikit-learn最重要的资料来源就是它的官网: scikit-learn: machine learning i ...

最新文章

  1. 2016.1.20 dubbo启动之后机器ip有问题
  2. iOS开发-NSArray
  3. 如何获取版本的 Internet 信息服务器 (IIS)
  4. redis+aop防重复提交
  5. JavaScript动态加载js文件
  6. mysql存储过程执行报错1175_mysql 数据库 存储过程执行报错的解决办法
  7. JAVA实现Token学习笔记001--Token入门案例
  8. 瑞典抢发区块链数字货币 E-Krona!
  9. python打开鼠标指定文件夹_学会python文件操作,鼠标好像没用了,学习python第10天...
  10. 漫画贴:16岁和36岁打球的区别,你是否怀念球场上那个年少的你?
  11. Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)问题解决
  12. SQL NOTE-VARIABLE
  13. Flutter高级第5篇:官方推荐的状态管理库 provider 的使用
  14. 3DGIS 与 BIM 融合技术方案
  15. java 熄灯问题_遍历搜索空间的例子:熄灯问题
  16. oracle to_char 进制转换_ORACLE函数TO_CHAR以及数字转换格式
  17. 基于jsp+springboot+mybatis+mysql美食分享平台(含论文)
  18. godot学习笔记1前期摸索
  19. 中国56个民族脚本数据
  20. PLSQL查询语句中日期格式使用不当会导致性能和效率很低

热门文章

  1. 超轻量AI推理引擎MindSpore Lite新版本发布,支撑HMS Core AI领域全面升级
  2. es上安装x-park TLS/SSL认证
  3. 发泡奶精的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  4. 数据仓库模型篇-点外卖
  5. 解决!百度云管家使用QQ第三方登录时提示“由于网络原因无法载入页面 请点击刷新后重试”
  6. 提升工作效率技巧——360桌面美化-整理凌乱的桌面-Chinar
  7. java中必检异常有哪些_Java中的受检异常
  8. 「固件下载」分享两个下载iOS固件包的网址
  9. Linux笔记 [全文字数1.6W]
  10. 企业ERP实施之反思