[机器学习与scikit-learn-1]:Python科学计算库三剑客之一scikit-learn概述与机器学习

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址: https://blog.csdn.net/HiWangWenBing/article/details/123099802


目录

第1章 Python科学计算三剑客 

1.1 NumPy、SciPy、scikit-learn共称为Python科学计算库三剑客。

1.2 NumPy、SciPy、scikit-learn的区别

1.3 scikit-learn概述与用途

第2章 Scikit-learn与机器学习

2.1 机器学习与人工智能、深度学习的关系

2.2 机器学习与Scikit-learn

2.3 监督学习、无监督学习、强化学习与Scikit-learn

2.4 算法大全
​​​​​​​


第1章 Python科学计算三剑客 

1.1 NumPy、SciPy、scikit-learn共称为Python科学计算库三剑客。

(1)NumPy:

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

(2)SciPy

SciPy 是一个开源的 Python 算法库和数学工具包,它是基于 Numpy 的科学计算库基础之上构建的更高阶的数学工具库,用于数学、科学、工程学等领域,很多有一些高阶抽象和物理模型需要使用 Scipy。

SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换信号处理图像处理、常微分方程求解和其他科学与工程中常用的计算。

(3)scikit-learn:

Scikit-learn(以前称为scikits.learn,也称为sklearn)是针对Python 编程语言的免费软件机器学习库 。是三个字母的组合:science-kit-learn

它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度提升,k均值和DBSCAN。

其他两个数学函数库在给定的输入下,输出是确定性的。

1.2 NumPy、SciPy、scikit-learn的区别

NumPy和SciPy:在给定的输入情况下,输出是确定性的、唯一的,与外界无关,只与自身的算法有关。

Scikit-learn:在给定的输入的情况下,输出不是确定的,即其算法不是唯一确定的,与之前提供给模型的历史数据有关,通过历史数据获取模型算法的过程,就是机器学习!

1.3 scikit-learn概述与用途

scikit-learn,又写作sklearn,是一个开源的基于python语言的机器学习工具包。

它通过NumPy, SciPy和Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法。

http://scikit-learn.org/stable/index.html

在工程应用中,用python手写代码来从头实现一个算法的可能性非常低,这样不仅耗时耗力,还不一定能够写出构架清晰,稳定性强的模型。更多情况下,是分析采集到的数据,根据数据特征选择适合的算法,在工具包中调用算法,调整算法的参数,获取需要的信息,从而实现算法效率和效果之间的平衡。而sklearn,正是这样一个可以帮助我们高效实现算法应用的工具包

sklearn有一个完整而丰富的官网,里面讲解了基于sklearn对所有算法的实现和简单应用。然而,这个官网是全英文的,并且现在没有特别理想的中文接口,市面上也没有针对sklearn非常好的书。因此,这门课的目的就是由简向繁地向大家解析sklearn的全面应用,帮助大家了解不同的机器学习算法有哪些可调参数,有哪些可用接口,这些接口和参数对算法来说有什么含义,又会对算法的性能及准确性有什么影响。我们会讲解sklearn中对算法的说明,调参,属性,接口,以及实例应用。

第2章 Scikit-learn与机器学习

2.1 机器学习与人工智能、深度学习的关系

[机器学习与scikit-learn-1]:Python科学计算库三剑客之一scikit-learn概述与机器学习_第1张图片

(1)人工智能:

其范围最广,人工智能(Artificial Intelligence),英文缩写为AI。

它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。包含了机器学习和深度学习。

(2)机器学习

专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

机器学习获得的新知识和技能:机器学习的模型的参数。

机器学习学习的内容是:提供给模型的已知的输入数据和输出数据,通过机器学习过程,获得输入数据与输出数据的映射关系,这种映射关系通过模型的参数来体现。

机器学习包括传统的学习和深度神经网络的机器学习,前者简称机器学习,后者简称深度学习。

(3)深度学习

深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI, Artificial Intelligence)。

深度学习通过模拟人脑的神经元与神经网络来构建数学模型,并学习的方式,获得神经网络模型的参数。

2.2 机器学习与Scikit-learn

机器学习有很多传统的算法,这些算法可以通过各种途径实现,其中一个非常重要的实现库,就是Scikit-learn是众多机器学习算法中的一个,与NumPy、SciPy一起共称为Python科学计算库三剑客。可以看出Scikit-learn在Python的科学计算库中的地位,也是我们选择Scikit-learn作为学习传统机器学习算法的重要原因之一。

2.3 监督学习、无监督学习、强化学习与Scikit-learn

[机器学习与scikit-learn-1]:Python科学计算库三剑客之一scikit-learn概述与机器学习_第2张图片

目前Scikit-learn只支持监督学习、无监督学习,不支持强化学习。

2.4 算法大全

  • 1.有监督学习
    •  1.1 线性模型
    •  1.2 线性和二次判别分析
    •  1.3 内核岭回归
    •  1.4 支持向量机
    •  1.5 随机梯度下降
    •  1.6 最近邻
    •  1.7 高斯过程
    •  1.8 交叉分解
    •  1.9 朴素贝叶斯
    •  1.10 决策树
    •  1.11 集成算法
    •  1.12 多类和多标签算法
    •  1.13 特征选择
    •  1.14 半监督学习
    •  1.15 Isotonic回归
    •  1.16 概率校准
    •  1.17 神经网络模型(有监督)
  • 2.无监督学习
    •  2.1. 高斯混合模型
    •  2.2. 流形学习
    •  2.3. 聚类
    •  2.4. 双聚类
    •  2.5. 分解成分中的信号(矩阵分解问题)
    •  2.6. 协方差估计
    •  2.7. 奇异值和异常值检测
    •  2.8. 密度估计
    •  2.9. 神经网络模型(无监督)

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/123099802


你可能感兴趣的:(python,机器学习,scikit-learn)