sklearn快速入门教程 – 准备工作

1. 前言

sklearn全称 scikit-learn,它是一个集成了目前市面上最常用的机器学习模型的库,使用起来非常轻松简单,因此获得了广泛的应用。

从官网显示数据来看,这个项目始于2007年,工具箱在2011年正式发布,并且在机器学习顶级杂志 Journal of Machine Learning Research 发表了对应的论文。能在JMLR上发文章就已经能说明该工具箱的水平不一般。论文全文可以直接在官网免费下载。不过论文本身并不是很重要,重要的是要了解sklearn究竟能用来做什么,以及它如何用。

目前市面上的教程也是一层出不穷,但许多同学仍然表示不好懂。这里我个人觉得不好懂的原因有这么几点:

  • 从教程本身而言,讲太多的理论,看得云里雾里。
  • 从自身而言,基础不扎实,尤其python本身不熟悉,学起来头疼

因此,本系列打算从更为直接的方面来讲解sklearn的使用方法,让新手能够快速上手,在学会使用工具的同时再慢慢去补充理论。

2. 准备工作

首先要明确一点,任何一个工具箱都不是独立存在的,要使用这些工具箱就必然要掌握一些其它的辅助技能,否则根本无法运用这些工具箱。作为一个以数据模型为主的工具箱,那么基本的处理数据的技能就是最为重要的,因此在此之前我们需要做一些准备工作。当然要全面地理解一套工具箱其实也并不是一朝一夕的,但我们可以在最开始适当降低要求,针对这些工具箱的特性做出一些取舍。这样可以明显地提高学习的速度,尤其是能增大初学时的自信心。在掌握了基本的框架的时候,再去慢慢补回相应的深层次的知识,也能够让自己的认识逐渐深入。

  • Python的基本语法和Python中的面向对象的概念与操作。既然sklearn是python的库,那么会用python自然是学习这个库的基本前提。当然Python作为一门系统的程序语言内容的确也有点太多,因此我们可以先重点学习一些直接相关,也就是直接会用到的一些知识和技能。针对这个库我们需要掌握的Python基本知识与技能有:

    • 学会1-2种IDE的使用。这里我们强力推荐pycharm。虽然它的功能可能90%我们都用不到,但一旦需要用到某些高级功能的时候,其它的工具就显得更浪费时间。比如pycharm的智能提示功能,虽然在notebook里面也能实现,但还得单独去配置,配置完了可能还会出问题,一不小心可能大半天就过去了。与其纠结这些问题,不如直接一步到位,适应个几天也就会了。
    • Python基本语法。这个不用多说,肯定要会写点简单的pyhon程序,比如for循环怎么用,如何导入库,怎样处理数组等等。
    • Python中的面向对象的概念与操作。这个说法本身其实不是很严谨,因为面向对象是通用的,与程序语言无关。但这样说的目的主要是想强调Python中面向对象的操作,因为它还是与其它许多语言的特性是不太一样的,也得单独去看一看。如果实在一开始弄不懂,那么最起码的如何初始化一个class,如何对它进行实例化,如何使用它的方法,理解一下什么叫静态方法、动态方法等这些问题也应该事先掌握。
  • Numpy的基本数据结构和操作方法。Numpy实际上是现在Python直接自带的一个库,基本上Python在处理数据的时候几乎就是调用Numpy中的类型和方法。我们在做机器学习的时候必然会涉及到数据的整理、简单预处理、格式化等等问题,因此这些内容也得事先有所了解。当然,我们是快速入门教程,肯定不用一下子把Numpy的教程看完。但最起码的,Numpy中有哪些数据结构,这些数据结构的基本操作(加减乘除、排序、查找、矩阵的计算等)得要事先熟悉一遍。
  • Pandas - 读写数据的利器。当然也要强调一点Pandas并不是读写数据唯一的方法。只不过直接用Python自带的方法来做太过繁琐,而其它的库虽然也有,但目前能像Pandas一样既完整又好用的也不是太多。举个例子,比如我们要读一个csv文件中的数据,用Pandas也就一句data = pandas.read_csv('data.csv')就行了。查询整理数据更是有类似SQL一样的机制。那么这个工具很显然能给我们提供极大的便利。
  • Matplotlib - 绘图工具。 绘图这件事在任何数据处理中其实都有非常重要的作用,因为它能最直观地给我们反馈各种结果,从而加深我们对结果的理解。Matplotlib基本上能够满足我们对基本的数据结果的各种展示需求。其中的pyplot模块用法也基本和其它一些常用的语言差不多,基本上只要用过类似R、Matlab等语言画过图的,看几分钟文档就能弄明白怎么画曲线图了。

至此,一个极简的准备工作就算完成一半了。还有一半就是装好sklearn。然后收藏好它的官方网站,我们在后面会经常使用。

千里之行,始于足下!

希望大家都能坚持下去,尽快地掌握sklearn的使用。

  • klearn快速入门教程:(二)线性回归
  • sklearn快速入门教程:(三)机器学习的通用模式及实现方法
  • sklearn快速入门教程:(四)模型自动调参
  • sklearn快速入门教程:(五)集成学习

sklearn快速入门教程:(一)准备工作相关推荐

  1. sklearn快速入门教程:(五)集成学习

    sklearn快速入门教程–(五)集成学习 一.集成学习简述 集成学习是目前各类竞赛和工程中应用最广泛的模型提升方法.比如在kaggle中就有关于集成学习的介绍(Kaggle模型融合原文).这里所谓的 ...

  2. sklearn快速入门教程:(四)模型自动调参

    上个教程中我们已经看到在sklearn中调用机器学习模型其实非常简单.但要获得较好的预测效果则需要选取合适的超参数.在实际的项目中其实也有不少参数是由工程师借助其经验手动调整的,但在许多场景下这种方式 ...

  3. sklearn快速入门教程:(三)机器学习的通用模式及实现方法

    一.从线性回归总结机器学习的通用模式 从上篇博客我们详细讲述了线性回归的实现方式.线性回归的调用方式实际上是sklearn的典型方式,在掌握这个方法之后我们继续进一步深入,探索其它的模型的使用. 回顾 ...

  4. sklearn快速入门教程:(二)线性回归

    文章目录 一.从本文起学会快速阅读和学习 二.线性回归的原理回顾及官方文档 三.官方文档的分析 四.举一反三 五.小结 一.从本文起学会快速阅读和学习 本来是想把关于快速阅读的说明写在前一节,但最后还 ...

  5. sklearn快速入门教程:补充内容 -- sklearn模型评价指标汇总(聚类、分类、回归)

    sklearn集成了大多数模型评价指标,这可以很大程度上方便我们的使用,尤其在对进行进行自动调参时可以方便我们进行选择. 做下这个笔记主要是为了补充之前的内容:sklearn快速入门教程:(四)模型自 ...

  6. sklearn快速入门教程 -- 机器学习工具的快速入门指引

    本系列教程旨在提供一个直观.快速的入门指引,从应用的角度进行阐述,提供框架性的理解方式. 全程共5篇教程.若抛开下载和安装的过程,应在2小时左右全部阅读和动手测试完成. (一)准备工作 (二)线性回归 ...

  7. sklearn 快速入门教程

    本教程使用于对理论知识具有一定的了解但编码能力稍弱且对sklearn不太了解的同学 本文为转载文章,原文地址:https://www.cnblogs.com/lianyingteng/p/781112 ...

  8. sklearn快速入门教程:独热编码

    import pandas as pd data = pd.read_csv(r"D:\本科\kaggle数据挖掘\titanic\train.csv", index_col = ...

  9. sklearn快速入门教程:处理分类型数据

    许多特征不是用数字来表达的,而是文字语言,如:北京.上海.广州.深圳.为了适应算法和库,要将文字型数据转换成数值型. import pandas as pd data = pd.read_csv(r& ...

最新文章

  1. 2021年大数据Spark(九):Spark On Yarn两种模式总结
  2. 怎样在javascript函数中将变量传递给服务端脚本程序?
  3. 安全测试-抓包工具BurpSuite
  4. IT人员健康信号之鼻炎养护
  5. 欧几里得算法和扩展欧几里得算法(Euclidean_Algorithm and Extended_Euclidean_Algorithm)
  6. iOS 项目经验以及APP上架流程 _Dylan
  7. linux怎么修改sftp默认端口,转:linux 修改sftp服务默认提供者sshd的session timeout
  8. Matlab--二次多项式曲面拟合
  9. 蓝桥杯2018年第九届C/C++省赛B组第七题-螺旋折线
  10. php中的ul怎么居中,让 UL 与 LI 左对齐
  11. openCV银行卡号识别
  12. CentOS8下安装snort2.9.18.1
  13. TDDL分布式数据库
  14. 未能找到主机服务器是什么鬼,未能找到指定主机服务器是什么意思
  15. 使用批处理批量安装TCP/ip打印机
  16. jdbc批量插入、批量删除、批量更新
  17. 项目经理之项目经理的选拔
  18. 颜色帮你缓解职场压力 给你的心情换个色
  19. 直播app开发解决方案
  20. android水平波浪扩散动画,Android实现水波纹扩散效果

热门文章

  1. 我的爱好html子页模板,我的爱好
  2. 在HTML中将垂直转换为平行,大物实验答案
  3. iphone以旧换新活动_iPhone销量靠降价,安卓终于要赢了?
  4. Ubuntu 16.04与Apache虚拟主机配置的步骤详解
  5. git 恢复被覆盖本地提交内容
  6. SNOI 2019 退役记
  7. [LeetCode] Binary Tree Postorder题解
  8. 关于UC、火狐、谷歌浏览器屏蔽布局中广告的解决办法
  9. 2017春季华为实习生编程题
  10. 推荐一个十分好看的开源博客系统