作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址: https://blog.csdn.net/HiWangWenBing/article/details/123099802
目录
1.1 NumPy、SciPy、scikit-learn共称为Python科学计算库三剑客。
1.2 NumPy、SciPy、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 机器学习与人工智能、深度学习的关系
(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只支持监督学习、无监督学习,不支持强化学习。
2.4 算法大全
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/123099802