python sklearn 归一化_第3章 Sklearn概述

v2-574d48a57688274d0936c14b34b673cf_1440w.jpg?source=172ae18b

Sklearn,该工具包是目前用于机器学习的五大主流Python包之一,适用于预处理、建模、验证及调优等机器学习开发的主要流程,覆盖除部分深度学习算法之外几乎所有常用的机器学习算法。

  • Sklearn的环境搭建与安装;
  • Sklearn的常用类及具体的使用场景。

3.1 Sklearn的环境搭建与安装

Sklearn又称为scikit-learn;

该库提供了机器学习涉及的4个流程中的函数接口--数据预处理、建模、模型校验评估及模型调优;

在建模方面提供的机器学习算法涵盖监督学习、无监督学习及半监督学习--其中包括但不限于分类、聚类、回归、降维等算法;

Sklearn并不是作为一个独立的库使用的,其在SciPy[1]及NumPy的基础上做了相应的扩展;

python3 -m pip install sklearn #安装Sklearn前需要安装scipy和numpy包依赖

3.2 Sklearn常用类及其结构

仅仅几行代码实现不同的算法;

脏数据清洗;

常用模块

1.数据处理

  • 数据源(sklearn.datasets)--该模块提供加载数据集的实用程序,以及人工数据生成器的方法。
#调用鸢尾花数据源
  • 一般数据预处理(sklearn.preprocessing)--模块包括但不限于缩放、中心化、归一化、二值化和归一化方法。其具体使用将在后面的章节详细介绍。

除此之外,对非一般数据,如文本数据或者图形数据,也存在对应的预处理方法,而这种方法也被称为特征提取。

  • 特征提取(sklearn.feature_extraction)--从原始数据中提取特征,目前包括从文本和图像中提取特征的方法。值得注意的是,对文本数据提取和图形数据提取在不同的模块。
  • 文本数据提取(sklearn.feature_extraction.image)--从图形数据中抽取特征,其方法有补丁提取、像素到像素梯度连接图转化(Graph of Pixel Gradient Connections)等。

2.模型建立:模型建立是模型开发整个流程中最关键的环节,其它环节都是围绕模型而存在的。模型从大的类目上分为监督学习[2]、无监督学习[3]和半监督学习;如果更近一步划分,在这些大的类目的基础上又存在诸如聚类、分类、回归、降维等小的类目:

  • 聚类(sklearn.cluster.*)——聚类是一种无监督方法,其将特征相近的数据划归到同一类,并不需要对其数据本身标注标签。在此类中,收录了几乎全部主流的聚类方法,如K-means聚类、均值偏移聚类、亲和传播、DBSCAN等。
  • 降维(sklearn.decomposition.*)——该模块包括一些矩阵分解算法,如主成分分析、NMF或者独立成因分析等,大部分算法都可以看作一种降维技术。降维属于一种无监督学习方法。
  • 高斯过程(sklearn.gaussian_process.*)——高斯过程既可以用于分类,也可以用于回归,其假设前提是大量独立的、均匀微小的随机变量的总和近似地服从高斯分布,通过对训练数据的高斯假设,生成相应的拟合函数。
  • 广义线性模型(sklearn.linear_model.*)——广义线性模型模块包含了常用的广义线性模型集。它包括岭回归、贝叶斯回归、LASSO和弹性网络回归。
  • 流形学习(sklearn.manifold.*)——流形学习的本质实际上是从高维采样数据中恢复低维流形结构,即找到高维空间中的低维流形,这也是一种降维方法,同样,该模块包含ISOMAP、局部线性嵌入等嵌入方法。
  • 高斯混合(sklearn.mixture.*)——该模块包括高斯混合建模方法,其假设前提是任意模型满足多个高斯模型的叠加组合。
  • 多类别、多标签分类(sklearn.multiclass.*)——该模块提供了多类别学习算法,其中包括一对多、多对多、纠错输出码等方法。
  • 朴素贝叶斯(sklearn.naive_bayes.*)——该模块包括朴素贝叶斯算法,是一种基于贝叶斯定理和强(朴素)特征独立性假设的监督学习方法。
  • 最临近方法(sklearnneighbors.*)——该模块包括最临近算法,是聚类中常见的一种方法。
  • 半监督学习(sklearn.semi_supervised.*)——该模块包括半监督学习算法,其思路是利用少量的标记数据和大量的未标记数据进行分类,代表性方法有标签传播及标签扩散。
  • 支持向量机(sklearn.svm.*)——该模块包括支持向量机的各种算法,其算法可用于回归、分类等场景。
  • 决策树(sklearn.tree.*)——该模块包括决策树算法,其算法可用于回归和分类。
  • 集成学习(sklearn.ensemble.*)——该模块包括基于集成的分类、回归和异常检测方法。

以上是Sklearn能够提供的主流机器学习方法,当然,它也提供深度学习的模型实现,但是更全面的模型实现在Keras库中,在Sklearn环境不进行介绍。

3.模型验证

模型验证(sklearn.metrics.*和部分sklearn.model_selection.*)还有成对验证(Pairwise Validation)、双聚类(Biclustering)验证等方法。

4.模型优化

模型验证之后,如果不能满足业务场景对模型的要求,那么此时需要提高模型的性能。

在Sklearn中,模型调优主要是对参数的尝试(穷举、随机或者给定参数集合),并通过验证得到最优解的超参数。其涉及的类为sklearn.model_selection.*。

每晚8点更新

|《机器学习从入门到入职-张威》解读,如有侵权立即删除|

参考

  1. ^Scipy是基于Numpy在科学计算领域非常强大的一个库。
  2. ^训练集有y
  3. ^训练集无y
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值