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作为一个常用机器学习包,熟练使用它对于减少工作时间提高效率十分重要;只要学到一个算法的使用流程,则可以触类旁通,快速掌握其它算法。

最新文章

  1. .Net环境下的缓存技术介绍 (转)
  2. HashMap原理与优化
  3. Xcode常用快捷键的使用
  4. bzoj1082[SCOI2005]栅栏
  5. 安装XDEBUG步骤及问题
  6. JAVA:抽象类VS接口
  7. Linux下cutecom使用USB转串口线
  8. delphi 转换sql server 中的 bit类型
  9. Linux 命令 - cd: 切换工作目录
  10. 【百度地图API】你看过房产地图吗?你知道房产标注是如何建立的吗?
  11. vi join
  12. 1.1.2.托管对象模型(Core Data 应用程序实践指南)
  13. ../../../../.. 太low了
  14. SpringBoot应用的属性管理
  15. vue scoped >>> & git conflict <<<<<<< HEAD
  16. (LIS) P1091 合唱队形 洛谷
  17. 【Linux】磁盘读写 测试
  18. badgeview
  19. CentOS6.5 安装openssl
  20. fastq-to-fasta转换及fasta拆分、合并

热门文章

  1. 团队项目-Beta冲刺1(七个小矮人)
  2. Nginx-入门(源码编译安装http://nginx.org/en/download.html)
  3. time 模块 和 random 模块常用方法讲解
  4. js 字符串方法 和 数组方法总览
  5. 娱乐往事,年初捡到1G PAR,平淡的日子泛起波澜
  6. PyCharm2019.3.3专业版完美激活
  7. cloud-init使用技巧
  8. python day02练习和作业
  9. non-local static 变量初始化顺序不确定,带来的问题
  10. lua学习之语句篇