【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
来源:互联网 发布:网络加速器永久免费版 编辑:程序博客网 时间:2024/05/23 23:59
中文文档: http://sklearn.apachecn.org/cn/stable/tutorial/statistical_inference/model_selection.html
英文文档: http://sklearn.apachecn.org/en/stable/tutorial/statistical_inference/model_selection.html
官方文档: http://scikit-learn.org/stable/
GitHub: https://github.com/apachecn/scikit-learn-doc-zh(觉得不错麻烦给个 Star,我们一直在努力)
贡献者: https://github.com/apachecn/scikit-learn-doc-zh#贡献者
关于我们: http://www.apachecn.org/organization/209.html
模型选择:选择估计量及其参数
分数和交叉验证分数
如我们所见,每一个估计量都有一个可以在新数据上判定拟合质量(或预期值)的 score
方法。越大越好.
为了更好地预测精度(我们可以用它作为模型的拟合优度代理),我们可以连续分解用于我们训练和测试用的 折叠数据。
这被称为 KFold
交叉验证.
交叉验证生成器
scikit-learn 有可以生成训练/测试索引列表的类,可用于流行的交叉验证策略。
类提供了 split
方法,方法允许输入能被分解的数据集,并为每次选择的交叉验证策略迭代生成训练/测试集索引。
下面是使用 split
方法的例子。
然后就可以很容易地执行交叉验证了:
交叉验证分数可以使用 cross_val_score
直接计算出来。给定一个估计量,交叉验证对象,和输入数据集, cross_val_score
函数就会反复分解出训练和测试集的数据,然后使用训练集和为每次迭代交叉验证运算出的基于测试集的分数来训练估计量。
默认情况下,估计器的 score
方法被用于运算个体分数。
可以参考 metrics 模块 学习更多可用的评分方法。
n_jobs=-1 意味着运算会被调度到所有 CPU 上进行。
或者,可以提供 scoring
参数来指定替换的评分方法。
交叉验证生成器
KFold
(n_splits, shuffle, random_state)StratifiedKFold
(n_splits, shuffle, random_state)GroupKFold
(n_splits)将其分解为 K 个折叠,在 K-1 上训练,然后排除测试。和 K-Fold 一样,但会保留每个折叠里的类分布。确保相同组不会在测试和训练集里。ShuffleSplit
(n_splits, test_size, train_size, random_state)StratifiedShuffleSplit
GroupShuffleSplit
生成基于随机排列的训练/测试索引。和 shuffle 分解一样,但会保留每个迭代里的类分布。确保相同组不会在测试和训练集里。LeaveOneGroupOut
()LeavePGroupsOut
(n_groups)LeaveOneOut
()使用数组分组来给观察分组。忽略 P 组。忽略一个观察。LeavePOut
(p)PredefinedSplit
忽略 P 观察。生成基于预定义分解的训练/测试索引。练习
在数字数据集中,用一个线性内核绘制一个 SVC
估计器的交叉验证分数来作为 C
参数函数(使用从1到10的点对数网格).
方法: Cross-validation on Digits Dataset Exercise
网格搜索和交叉验证估计量
网格搜索
scikit-learn 提供了一个对象,在给定数据情况下,在一个参数网格,估计器拟合期间计算分数,并选择参数来最大化交叉验证分数。这个对象在构建过程中获取估计器并提供一个估计器 API。
默认情况下, GridSearchCV
使用一个三倍折叠交叉验证。但是,如果它检测到分类器被传递,而不是回归,它就会使用分层的三倍。
嵌套交叉验证
两个交叉验证循环并行执行:一个由 GridSearchCV
估计器设置 gamma
,另一个 cross_val_score
则是测量估计器的预期执行情况。结果分数是对新数据上的预期分数的无偏估计。
Warning
你不可以并行运算嵌套对象(n_jobs
与1不同)。
交叉验证估计量
设置参数的交叉验证可以更有效地完成一个基础算法。这就是为什么对某些估计量来说,scikit-learn 提供了 交叉验证 估计量自动设置它们的参数。
这些估计量和它们的副本称呼类似,在名字后加 ‘CV’。
练习
在糖尿病数据集中,找到最优正则化参数 α。
另外: 你有多相信 α 的选择?
方法: Cross-validation on diabetes Dataset Exercise
中文文档: http://sklearn.apachecn.org/cn/stable/tutorial/statistical_inference/model_selection.html
英文文档: http://sklearn.apachecn.org/en/stable/tutorial/statistical_inference/model_selection.html
官方文档: http://scikit-learn.org/stable/
GitHub: https://github.com/apachecn/scikit-learn-doc-zh(觉得不错麻烦给个 Star,我们一直在努力)
贡献者: https://github.com/apachecn/scikit-learn-doc-zh#贡献者
关于我们: http://www.apachecn.org/organization/209.html
有兴趣的们也可以和我们一起来维护,持续更新中 。。。
机器学习交流群: 629470233
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】四十六:模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】46 模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- 【scikit-learn】交叉验证及其用于参数选择、模型选择、特征选择的例子
- bootstrap popover动态显示时需要注意的地方
- centos安装出现 missing operating system
- android 分享纯图片到QQ空间实现方式
- linux平台设备驱动架构详解 Linux Platform Device and Driver——神文,非常详细
- BZOJ1507 [NOI2003]Editor 【splay】
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- oracle 使表主键失效,外键失效
- Ceph 学习——OSD读写流程与源码分析(一)
- 关于ajax请求后台接口无法进行页面跳转的问题
- 查看剩余内存size
- ResultMap与ResultSet
- js常用对象
- Oracle 中delete truncate 及drop的区别
- teetcode Remove Linked List Elements我的笨方法