《Python工程应用—机器学习方法与实践第2章Python机器学习基础库》由会员分享,可在线阅读,更多相关《Python工程应用—机器学习方法与实践第2章Python机器学习基础库(63页珍藏版)》请在金锄头文库上搜索。
1、第一章第一章 概论概论西华大学西华大学机器学习第二章 Python机器学习基础库XXX学校XXXXXX20222022目录ContentsNumpyPandasMatplotlibScipyScikit-LearnTensorFlow 3 XXXXXXXXXXXXXXXXX 本章知识图谱本章知识图谱3求是 明德 卓越 Numpy一 5 XXXXXXXXXXXXXXXXX1 Numpy1 Numpy库库5 Numpy(Numeric Python)库是Python当中一个开源的数值计算扩展库,它可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结
2、构要高效得多(该结构也可以用来表示矩阵(matrix)。Numpy和稀疏矩阵运算包Scipy配合使用更加方便。Numpy提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库,多用于严格的数字处理,在很多大型金融公司业务中广泛使用,一些核心的科学计算组织(如:Lawrence Livermore,NASA等)用其处理一些本来使用C+,Fortran或Matlab等完成的任务。6 XXXXXXXXXXXXXXXXX1.1 Numpy1.1 Numpy库的安装库的安装6Numpy库在Windows下可以通过下面的步骤进行安装:启动Anaconda下面的“Anaconda Pro
3、mpt”或系统的“cmd”命令窗口,输入如下命令即可完成安装:pip install numpy 7 XXXXXXXXXXXXXXXXX1.2 Numpy1.2 Numpy库的导入库的导入7 首先,在使用Numpy库之前,我们需要使用import语句引入该模块,代码如下所示:import numpy as np#导入numpy模块并命名为np,方便后面调用 或者:from numpy import*8 XXXXXXXXXXXXXXXXX1.2 Numpy1.2 Numpy库的导入库的导入8import 语句和 fromimport 语句的区别:import 语句:直接导入一个模块,同一模块不管
4、执行多少次,import都只会被导入一次。from import 语句:导入一个模块中的一个函数。import引入模块之后,如果需要使用模块里的函数方法,则需要加上模块的限定名字,而fromimport语句则不用加模块的限定名字,直接使用其函数方法即可。9 XXXXXXXXXXXXXXXXX1.3 1.3 创建数组创建数组9 a=np.array(1,2,3,4)#创建一维数组 b=np.array(5,6,7,8)c=np.array(1,2,3,4,5,6,7,8,7,8,9,10)#创建二维数组 创建一维数组和二维数组的代码:数组的大小可以通过其shape属性获得,例:a.shape b
5、.shape c.shape 10 XXXXXXXXXXXXXXXXX1.3 1.3 创建数组创建数组10 c.shape=(4,3)修改数组的shape属性的代码:创建一个改变尺寸的新数组,原数组保持不变,代码如下:d=a.reshape(2,2)a1=10 修改数组中指定位置的元素的代码:11 XXXXXXXXXXXXXXXXX1.4 1.4 查询数组类型查询数组类型11 数组的元素类型可以通过dtype属性获得,实现代码如下:通过dtype参数在创建数组的时候指定元素类型,实现代码如下:e=np.array(1,2,3,4,4,5,6,7,7,8,9,10,dtype=np.float)
6、a.dtype 12 XXXXXXXXXXXXXXXXX1.5 1.5 查询数组类型查询数组类型121.arange()函数类似于Python的range()函数,通过指定开始值、终值和步长来创建一维数组(注意数组不包括终值),实现代码如下:f=np.arrange(0,1,0.1)2.linspace()函数通过指定开始值、终值和元素个数来创建一维数组(等差数列),可以通过endpoint关键字指定是否包括终值(默认设置包括终值),实现代码如下:g=np.linsspace(0,1,12)13 XXXXXXXXXXXXXXXXX1.5 1.5 查询数组类型查询数组类型133.logspace
7、()函数和linspace()类似,但是它创建的是等比数列,实现代码如下:h=np.logspace(0,2,10)14 XXXXXXXXXXXXXXXXX1.6 1.6 数组元素的存取数组元素的存取14 数组元素的存取方法和Python标准方法相同,代码如下:a=np.arange(10)以下代码可以实现对数组中部分连续元素的存取:a3:5 15 XXXXXXXXXXXXXXXXX1.7 ufunc1.7 ufunc运算运算15ufunc是universal function的缩写,是一种能对ndarray的每个元素进行操作的函数。它支持数组广播、类型转换和其他一些标准功能。也就是说,ufu
8、nc是函数的“矢量化”包装器,它接受固定数量的特定输入并生成固定数量的特定输出。NumPy内置的许多ufunc函数是在C语言级别实现的,因此它们的计算速度非常快。比如numpy.sin()的速度就比Python自带的math.sin()的速度要快得多。16 XXXXXXXXXXXXXXXXX1.8 1.8 矩阵的运算矩阵的运算16 a=np.matrix(1 2;3 4)b=a.T#返回矩阵a的转置矩阵并存储于b c=a.I#返回矩阵a的逆矩阵并存储于c Numpy库提供了matrix类,使用matrix类创建的是矩阵对象,它们的加、减、乘、除运算默认采用矩阵方式,因此其用法和Matlab十分
9、相似。具体使用方法如下:17 XXXXXXXXXXXXXXXXX1.8 1.8 矩阵的运算矩阵的运算17 a=np.zeros(5,),dtype=np.int#使用zero方法创建0矩阵 b=np.empty#使用empty方法创建一个2行4列任意数据的矩阵 c=np.array(1,2,3,4,5,6)#使用array方法创建换一个2行3列指定数据的矩阵 d=np.dot(b,c)#使用dot函数实现交叉运算 由于Numpy中同时存在ndarray和matrix对象,读者很容易混淆,一般情况下,不推荐在较复杂的程序中使用matix,通常可以通过ndarray对数组进行各种操作来实现矩阵运算
10、。下面是一些创建特殊矩阵的代码示例:求是 明德 卓越 Pandas二 19 XXXXXXXXXXXXXXXXX2 Pandas2 Pandas库的安装库的安装19 Pandas是 Python的 一 个 数 据 分 析 包,最 初 是 由 AQR Capital Management于2008年4月开发的,目前由专注于Python数据包开发的PyData开发团队继续开发和维护,属于PyData项目的一个部分。Pandas的名称来自面板数据和Python数据分析。Pandas引入了大量库和一些标准的数据模型,提供了高效的操作大型数据集所需要的工具。Pandas也提供了大量可以快速便捷处理数据的函
11、数和方法,是Python成为强大而高效的数据分析工具的重要因素之一。Pandas的基本数据结构是Series和DataFrame。其中Series称为序列,用于产生一个一维数组,DataFrame用于产生二维数组,它的每一列都是一个Series。20 XXXXXXXXXXXXXXXXX2.1 Pandas2.1 Pandas库的安装库的安装20 在Windows下,Pandas库可以通过启动Anaconda下的“Anaconda Prompt”或系统的“cmd”命令窗口,输入如下命令完成安装:pip install pandas 21 XXXXXXXXXXXXXXXXX2.2 Pandas2.
12、2 Pandas库的导入库的导入21使用Pandas库,首先需要使用import语句引入该模块,代码如下:import pandas as pd 或者:from pandas import*222.3 Series2.3 Series22 Series是一维标记数组,可以存储任意数据类型,如整型、字符串、浮点型和Python对象等,轴的标签称为索引(index)。from pandas import Series,DataFrame#通过传递一个list对象来创建Series,默认创建整型索引 a=Series(1,2,3,4)print(创建Series:n,a)#创建一个用索引来决定每一个
13、数据点的Series b=Series(1,2,3,4,index=a,b,c,d)print(创建带有索引的Series:n,b)#如果有一些数据在一个Python字典中,可以通过传递字典来创建一个Series sdata=Tom:123456,John:12654,Cindy:123445 23 XXXXXXXXXXXXXXXXX2.4 DataFrame2.4 DataFrame23DataFrame是二维标记数据结构,其列可以是不同的数据类型,它是最常用的Pandas对象,像Series一样可以接收多种输入(lists、dicts、series和DataFrame等)。#DataFra
14、me的简单实例代码如下:from pandas import Series,DataFrame#创建一个空的DataFrame df=DataFrame(columns=a:,b:,c:,index=0)a=2,1.2,4.2,0,10,0.3,1,5,0 print(df)#使用list的数据创建DataFrame df=DataFrame(a,columns=one,two,three)print(df)求是 明德 卓越 Matplotlip三 253 Matplotlip3 Matplotlip库库 Matplotlib是Python的一个绘图库,是Python中最常用的可视化工具之一,
15、可以非常方便地创建2D图表和3D图表。通过Matplotlib,开发者可能仅需要几行代码,便可以生成各种图表,如直方图、条形图、散点图等。它提供了一整套和Matlab相似的命令API,十分适合交互式制图。也可以方便地将Matplotlib作为绘图控件,嵌入GUI应用程序中。263.1 Matplotlip3.1 Matplotlip安装安装 在Windows下,Matplotlib库可以通过启动Anaconda下的“Anaconda Prompt”或系统的“cmd”命令窗口,输入如下命令完成安装:pip install matplotlip 27 XXXXXXXXXXXXXXXXX3.2 Ma
16、tplotlip3.2 Matplotlip库的导入库的导入27使用Matplotlib库之前需要先使用import语句引入该模块,代码如下:import matplotlip as pd 或者:from matplotlip import*283.3 3.3 基本绘图基本绘图plotplot命令命令 Matplotlib库中,最常使用的命令就是plot,常用的绘图方法实现代码如下:import matplotlib.pyplot as pltimport numpy as np#导入numpy模块方便后续使用numpy模块中的函数x=np.linspace(0,-2*np.pi,100)#使用linspace函数创建等差数列y=np.sin(x)plt.figure(1)plt.plot(x,y,label=$sin(x)$,color=red,linewidth=2)#指定绘制函数的图像plt.xlabel(Time(s)#设置x坐标名称plt.ylabel(Volt)#设置y坐标名称plt.title(First Example)#设置图像标题plt.ylim(-1.2,1.2)