sklearn使用小贴士
1 sklearn简介
Scikit-learn(sklearn)是机器学习中的第三方模块,封装了常用的机器学习算法,涉及回归、降维、分类以及聚类等,提供python接口。
虽然sklearn容纳的算法众多,但使用其中大多数算法的模式(套路)都是一样的,一般流程如下:
1 引入相关数据(包括训练集与测试集),其实Sklearn也自带一些小型数据集,可以用来测试检验各种算法,方便快捷;
2 选择算法进行训练,若模型带有超参数,可以运用交叉验证方法调参;
3 训练完成后进行新数据预测,并可以通过引入MatPlotLib等库展示数据;
4 将已训练好的模型保存,避免往后用到时再重复训练。
2 sklearn的自带数据集
sklearn附带了一些小型常用数据集,调取方法如下:

调取其它数据集的方法和上图中的例子类似。
3 分层划分训练集与测试集
注意:为了使实验具有可重复性,在划分数据集时要设定随机数种子,以确保重复多次运行代码时得到的训练集与测试集是一样的;此外,为了平衡训练集与测试集中各类别的比例(特别是在分类任务中),常常需要分层划分数据集,这与统计学中分层抽样的原理一样。

4 数据标准化
常见的标准化方式有:离差标准化,高斯标准化。
离差标准化将所有数据变换到区间[0,1]中,高斯标准化将数据转成高斯分布(正态分布)形态:

5 模型的保存与调取
为了避免重复训练模型,同时方便后续直接调取已有模型,可以将训练好的模型保存:

上图中,将knn训练完成的模型保存到代码文件的同目录下,如下图(代码文件名为:kNN.ipynb,模型名为:train_model.m):

若要加载已有模型,操作如下:

sklearn作为一个常用机器学习包,熟练使用它对于减少工作时间提高效率十分重要;只要学到一个算法的使用流程,则可以触类旁通,快速掌握其它算法。
sklearn使用小贴士的更多相关文章
- Angular2 小贴士 Name
Angular2 正式版已经发布了一个月了,我也是通过各种方式在进行验证是否可以满足我们的需求,今天我就发现了一个问题.现在我们来一起说明一下,这个可能不算是bug,而应该需要我们记住就可以了. 我们 ...
- 【小贴士】虚拟键盘与fixed带给移动端的痛!
前言 今天来公司的主要目的就是研究虚拟键盘与fixed的问题,期间因为同事问起闭包与事件委托(阻止冒泡)相关问题,便穿插了一篇别的: [小贴士]工作中的”闭包“与事件委托的”阻止冒泡“,有兴趣的朋友可 ...
- SVN小贴士
我辛辛苦苦写的到哪里了? SVN小贴士SVN服务器上的代码项目组公用,你的每一个提交都会体现给项目组每个人,所以提交要慎重,要注意避免代码冲突,使用SVN小贴士: 1.提前宣布开发计划,保持项目组成员 ...
- android性能小贴士 翻译
转自http://developer.android.com/training/articles/perf-tips.html 性能小贴士: 这篇文档主要一些微优化可以提升应用程序性能,但是这些改变不 ...
- 小贴士——提高PHP程序在NGINX代理服务器的性能
NGINX本身就是面向最大性能的代理服务器,因此在使用NGINX,并没有性能调整的配置工作.但是却有很多选项可用于定制NGINX的行为,利用底层硬件和操作系统. 下面将介绍用于提供PHP在NGINX的 ...
- jprofiler8使用小贴士
说明:本文的小贴士是针对jprofiler8的,其他版本上可能有不适用的地方 贴士一:使用jpenable监控,无需增加jvm参数和重启 贴士一:使用jpenable监控,无需增加jvm参数和重启 j ...
- 初识bd时的一些技能小贴士
既然小豆腐如此给力,而且充分的利用主动学习的优势,已经有了迅速脑补,压倒式的优势,不过这只是表面而已,一切才刚刚开始,究竟鹿死谁手,还有待验证. 以上可以看到,小豆腐为什么拼命的要teach我们了么, ...
- SharePoint每日小贴士Web部件
SharePoint每日小贴士Web部件 项目描写叙述 此Web部件从指定SP自己定义列表或一个选定的 RSS源选择一个随机项目.并显示一张图片.标题和一个Tip. 适 ...
- C和C++的内存操作小贴士(一):const char*的内存释放问题
C和C++的内存操作一直是困扰开发人员的老问题,基本概念相信老司机们都很清楚了,在这里就不做过多的描述了,只是把在实际开发中可能遇到的一些小问题的案例列举下,供大家参考.“C和C++的内存操作小贴士” ...
随机推荐
- c#数字图像处理(六)直方图均衡化
直方图均衡化又称直方图修平,是一种很重要的非线性点运算.使用该方法可以加强图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候.通过这种方法,亮度可以更好的在直方图上分布. 直方图均衡化的基 ...
- SpringBoot整合三大组建(Servlet、Listener、Filter)
>[更多资源和教程请关注公众号:**非科班的科班**.如果觉得我写的还可以请给个赞,谢谢大家,你的鼓励是我创作的动力](https://blog.csdn.net/qq_43255017)## ...
- Python使用requests发送post请求的三种方式
1.我们使用postman进行接口测试的时候,发现POST请求方式的编码有3种,具体的编码方式如下: A:application/x-www-form-urlencoded ==最常见的post提交数 ...
- 自动化运维之Ansible入门
Ansible简介 Ansible是什么? Ansible 简单的说是一个配置管理系统(ConfiGuration Management System).你只需要可以使用ssh访问你的服务器或设备.它 ...
- Docker基础内容之镜像
概念 镜像是一个包含程序运行必要依赖环境和代码的只读文件,它采用分层的文件系统,将每一次改变以读写层的形式增加到原来的只读文件上.镜像是容器运行的基石. 下图展示的是Docker镜像的系统结构.其中, ...
- 关于Windows Server 服务器 安装tomcat部署Java Web 项母
抄至 http://blog.csdn.net/cx0330/article/details/68957914 我遇到的问题是:不知道怎么配置,感觉在服务器上部署一个web项目,应该是很高大上,步骤应 ...
- Linux防火墙之iptables常用扩展匹配条件(二)
上一篇博文我们讲到了iptables的一些常用的扩展匹配模块以及扩展模块的一些选项的说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12273755.htm ...
- Qt qApp
qApp A global pointer referring to the unique application object. It is equivalent to the pointer re ...
- 简单处理IP XML数据
///* 编译环境: visual c++ */ //#include <stdio.h> //#include <winsock2.h> //#pragma comment( ...
- SQL Server 2012 安装完成后,无法通过 sa账号登录
1.打开 SQL server configuration manager 2.打开 SQLserver 网络配置 打开 SQLSERVER的协议 3.右击 TCP/IP协议,选择 IPALL ,在 ...