1、5.2黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践nPython环境搭建1.Python 安装2.Jupyter notebook 编程器安装使用 nPython编程基础1.Python标识符2.Python标准数据类型3.Python语句4.Python运算符5.代码组6.Python流程控制7.Python 函数8.Python 模块9.Python 类10.命名空间和作用域nPython标准库nPython机器学习库1.NumPy2.SciPy3.Pandas4.Scikit-learn5.3黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensor
2、flow实践实践Python环境搭建环境搭建-Python 安装安装Python是Guido van Rossum发明的一种解释型、面向对象、动态数据类型的高级程序设计语言。Python解释器 和JAVA一样是跨平台的,可以运行在Windows、Mac和各种Linux/Unix系统上。目前,Python解释器有两个版本-2.x版和3.x版,这两个版本是不兼容的。所以大量的针对2.x版本的代码要修改后才能在3.x版运行。TensorFlow要求3.x版,但基本安装使用与2.7版本相同。Python 在Windows、Mac、Linux 安装很简单。Windows上的安装。首先,从Python的官
3、方网站python.org下载最新的2.7版本。然后,运行下载的MSI安装包,在选择安装组件步骤时,勾上所有的组件。特别要注意选上pip和Add python.exe to Path,然后一直点“Next”即可完成安装。安装目录是默认到C:Python27目录下(但你可以修改目录如:E:python27)。安装结束后,打开命令提示符窗口,敲入python后,出现提示符。这表示我们已经进入Python交互式环境中。可以输入任何Python代码,回车后会立刻得到执行结果。输入exit()并回车,就可以退出Python交互式环境。5.4黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorf
4、low实践实践Python环境搭建环境搭建-Jupyter notebook 编程器n安装Python以后(pip也已安装),在命令行窗口输入:pip install jupyter。如果 pip 不是最新版,会有 pip升级提醒。在这种情况下,命令行输入 python-m pip install-upgrade pip 升级pip到最新版。再一次命令行窗口输入:pip install jupyter,会有successfully installed5.5黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python环境搭建环境搭建-Jupyter notebook
5、 编程器n jupyter 显示界面5.6黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python环境搭建环境搭建-Jupyter notebook 编程器notebook 界面由以下部分组成:nnotebook 的名称。n菜单栏,提供了保存、导出、重载 notebook,以及重启内核等选项。n工具栏,提供部分菜单栏功能的工具按钮使用方式。n快捷键,提供菜单栏功能的键盘键组合使用方式。nnotebook 主要区域,包含了 notebook 的内容编辑区。5.7黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python环境搭建环境
6、搭建-Jupyter notebook 编程器 代码单元格(code cell),以 开头。在这种类型的单元格中,可以输入任意代码并执行。5.8黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python环境搭建环境搭建-Jupyter notebook 编程器 jupyter notebook 的Python代码计算 5.9黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python环境搭建环境搭建-Jupyter notebook 编程器n更改Jupyter notebook的工作空间 在cmd中输入jupyter noteboo
7、k-generate-config,找到配置文件的位置。#The directory to use for notebooks and kernels.#c.NotebookApp.notebook_dir=u 改为如下形式:c.NotebookApp.notebook_dir=e:pythontestn保存单元格为.py程序文件。File 菜单-download as-Python(.py)。n将本地的.py文件上载到jupyter的一个单元格中 loadl test.pyn从网络上载代码到jupyter 例如,%load https:/matplotlib.org/mpl_examples
8、/color/color_cycle_demo.pynjupyter运行python文件%run test.py 5.10黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础-Python标识符nPython标识符由英文字母、数字、下划线组成,但不能以数字开头。Python 中的标识符是大小写敏感的。n以下划线开头的标识符是有特殊意义的。以单下划线开头(如_foo)表示不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import*而导入;n以双下划线开头(如_foo)代表类的私有成员;以双下划线开头和结尾(如 _
9、foo_)代表 Python 里专用的特殊方法标识,如 _init_()代表类的构造函数。n有时候单独单下划线在程序中会作为临时性的名称单独使用。_表示并不会在后面再次用到该名称以及它的值。例如,下面的例子中,循环体中对循环计数中的实际值并不需要,此时就可以使用_。5.11黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础-Python标准数据类型nNumbers(数字):Python支持四种不同的数字类型:int(有符号整型)、long(长整型也可以代表八进制和十六进制)、float(浮点型)和complex(复数)。nString(字
10、符串):python的字串列表有2种取值顺序,从左到右索引默认0开始的,最大范围是字符串长度减1 和从右到左索引默认-1开始的,最大范围是字符串开头。nList(列表):列表用 标识,是 python 最通用的复合数据类型。列表中值的切割也可以用到变量 头下标:尾下标,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认-1 开始,下标可以为空表示取到头或尾。加号+是列表连接运算符,星号*是重复操作。nTuple(元组):元组是另一个数据类型,类似于List(列表)。元组用()标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。nDictionary(字典):字典(d
11、ictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。字典用 标识。字典由索引(key)和它对应的值value组成。5.12黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python语句nPython语句中一般以新行作为语句的结束符。但是我们可以使用斜杠()将一行的语句分为多行显示,然而,语句中包含,或()括号就不需要使用多行连接符。n Python可以在同一行中使用多条语句,语句之间使用分号(;)
12、分割。nPython允许同时为多个变量赋值。例如:a=b=c=1。nPython 可以使用引号()、双引号()、三引号(或 )来表示字符串。但引号的开始与结束必须的相同类型的。其中三引号可以由多行组成,常用于文档字符串,在文件的特定地点,被当做注释。n函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。5.13黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python运算符n 5.14黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Pytho
13、n编程基础编程基础 Python运算符 5.15黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python运算符n 5.16黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python运算符n 5.17黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python运算符n 5.18黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python运算符n 5.19
14、黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python运算符n 5.20黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 代码组5.21黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python流程控制5.22黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python流程控制n 5.23黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorf
15、low实践实践Python编程基础编程基础 Python流程控制Python循环语句控制块-1,控制块-25.24黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python 函数5.25黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python 函数n 5.26黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python 函数n 5.27黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实
16、践Python编程基础编程基础 Python 模块模块nPython 模块(Module),是一个 Python 文件,以.py 结尾,包含了 Python 对象定义和Python语句。模块逻辑地组织相关的 Python 代码段。模块能定义函数、类和变量,模块里也能包含可执行的代码。这些可执行语句通常用来进行模块的初始化工作并且只在模块第一次被导入时执行。由于相同名字的函数和变量可以分别存在不同的模块中,不同的开发者使用各自模块可以避免函数名和变量名冲突。5.28黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python 模块模块n
17、模块定义好后,我们可以使用 import 语句来引入模块,语法如下:import module1,module2,.moduleNn搜索路径 当导入一个模块,Python 解析器对模块位置的搜索顺序是:1、当前目录 2、如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。3、如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。n dir()函数 查看模块定义的名字可以使用dir()函数。dir()函数返回的列表包含了一个模块中定义的所有模块、变量和函数。n重新执行模块reload 当一个模
18、块被导入到一个脚本,模块顶层部分的代码只会被执行一次。如果需要重新执行模块里顶层部分的代码,可以用 reload()函数。该函数会重新导入之前导入过的模块。语法:reload(module_name)5.29黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python 模块模块n 5.30黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python类类n类是面向对象编程引入的编程机制。类具有封装、继承的优点。类类是面向对象编程引入的编程机制。类具有封装、继承的优点。类为编程语
19、言中的类型,而类实例化后称为对象。类具有数据成员和为编程语言中的类型,而类实例化后称为对象。类具有数据成员和方法。方法。从父类继承的方法可以重写,这个过程叫方法的覆盖(从父类继承的方法可以重写,这个过程叫方法的覆盖(override)。)。n定义类:使用定义类:使用 class 语句来定义一个新类,语句来定义一个新类,class 之后为类的名称之后为类的名称并以冒号结尾并以冒号结尾:class ClassName:类的帮助信息类的帮助信息#类文档字符串类文档字符串 class_suite#类体类体n类的帮助信息可以通过类的帮助信息可以通过ClassName._doc_查看。查看。nclass_
20、suite 由类成员,方法,数据属性组成。由类成员,方法,数据属性组成。5.31黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python类类 5.32黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python类类Python 类方法 n类内部,使用 def 关键字来定义一个方法。Python中有3种方式定义类方法,常规方式,classmethod修饰方式,staticmethod修饰方式。n常规方式与一般函数定义不同,常规类方法必须包含参数 self,且为第一个参数,s
21、elf 代表的是类的实例。类方法(classmethod)将self换成任意标识。静态方法(staticmethod)允许用“类名.静态方法名称”方式调用。n _init_ 为构造函数,在生成对象时调用,并赋予成员变量初值。n 两个下划线开头,声明的方法为私有方法(_private_method),不能在类外部调用。在类的内部通过self._private_methods调用。5.33黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python类类5.34黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践P
22、ython编程基础编程基础 Python类类5.35黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 Python类类n Python类实例创建与调用 n实例化类其他编程语言中一般用关键字 new,但是在 Python 中并没有这个关键字,类的实例化类似函数调用方式,类似x=MyClass()。如果定义了 _init_ 方法,采用x=MyClass(a,b,c,.)并通过 _init_ 方法接收参数,如上例的t=teacher(zhang shan,30,m,python,computer)。n使用形如“对象.属性”访问对象的属性,如例
23、子中的print(c.radius);“对象.方法”访问对象的方法,如例子中的p.showinfo()。方法对象可以保存到以后使用。5.36黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python编程基础编程基础 命名空间和作用域 命名空间和作用域一个 Python 表达式可以访问局部命名空间和全局命名空间里的变量。如果一个局部变量和一个全局变量重名,则局部变量会覆盖全局变量。每个函数都有自己的命名空间。类方法的作用域规则和函数相同。Python假设任何在函数内赋值的变量都是局部的。因此,如果要给函数内的全局变量赋值,必须使用 global 语句。global
24、 VarName 的表达式表示VarName 是一个全局变量。作用域为整个程序。Python 3 增加了nonlocal ValuearName的表达式表示VarName 是作用域为嵌套的函数的最外层范围的一个变量;可以通过nonlocal 从内层修改外层的变量值。Python有两个内置的函数locals()和globals(),可以显示所有基于字典的局部和全局变量。5.37黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python标准库标准库 nPython拥有一个强大的标准库。Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而Py
25、thon标准库则提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。标准库具体使用方法可参考Python官网。Python标准库的主要功能有:1)文本处理,包含文本格式化、正则表达式匹配、文本差异计算与合并、Unicode支持、二进制数据处理等功能。2)文件处理,包含文件操作、创建临时文件、文件压缩与归档、操作配置文件等功能。3)操作系统功能,包含线程与进程支持、IO复用、日期与时间处理、调用系统函数、日志(logging)等功能。4)网络通信,包含网络套接字,SSL加密通信、异步网络通信等功能。5)网络协议,支持HTTP,FTP,SMTP,POP,IMAP,NN
26、TP,XMLRPC等多种网络协议,并提供了编写网络服务器的框架。6)W3C格式支持,包含HTML,SGML,XML的处理。7)其它功能,包括国际化支持、数学运算、HASH、Tkinter等。5.38黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-NumPynNumPy是一个开源的Python科学计算库,许多其他著名的科学计算库如Pandas、Scikit-learn等都要用到NumPy库的一些功能。其主要功能如下:1、ndarray,一个具有矢量运算和复杂广播能力的快速且节省空间的多维数组。2、用于对数组数据进行快速运算的标准数
27、学函数。3、线性代数、随机数生成以及傅里叶变换功能。n安装NumPy非常简单,只要命令行输入pip install numpy即可。5.39黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-NumPy NumPy ndarray是NumPy重要的对象,具有以下属性:nndarray.ndim:数组的维数(即数组轴的个数),等于秩。最常见的为二维数组(矩阵)。nndarray.shape:数组的维度。为一个表示数组在每个维度上大小的整数元组。例如二维数组中,表示数组的“行数”和“列数”。ndarray.shape返回一个元组,这个元
28、组的长度就是维度的数目,即ndim属性。nndarray.size:数组元素的总个数,等于shape属性中元组元素的乘积。nndarray.dtype:表示数组中元素对象的类型,可使用标准的Python类型创建或指定dtype。nndarray.itemsize:数组中每个元素的字节大小。例如,一个元素类型为float64的数组itemsiz属性值为8(float64占用64个bits,每个字节长度为8,所以64/8,占用8个字节),又如,一个元素类型为complex32的数组item属性为4(32/8)。nndarray.data:包含实际数组元素的缓冲区,指向数组开始部分。由于一般通过数组
29、的索引获取元素,所以通常不需要使用这个属性。5.40黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-NumPy 5.41黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-NumPy Ndarray对象的方法nndarray.ptp(axis=None,out=None):返回数组的最大值最小值或者某轴的最大值最小值nndarray.clip(a_min,a_max,out=None):小于最小值的元素赋值为最小值,大于最大值的元素变为最大值。nndarray.all
30、():如果所有元素都为真,那么返回真;否则返回假。nndarray.any():只要有一个元素为真则返回真。nndarray.swapaxes(axis1,axis2):交换两个轴的元素,nndarray.reshape(shape,order):返回重命名数组大小后的数组,不改变元素个数。nndarray.resize(new_shape,refcheck):改变数组的大小(可以改变数组中元素个数)。nndarray.transpose(*axes):返回矩阵的转置矩阵。nndarray.swapaxes(axis1,axis2):交换两个轴的元素后的矩阵。nndarray.flatten(
31、order):复制一个一维的array。nndarray.ravel(order):返回为展平后的一维数组。nndarray.squeeze(axis):移除长度为1的轴。nndarray.tolist():将数组转化为列表。nndarray.take(indices,axis=None,out=None,mode=raise):获得数组的指定索引的数据。nndarray.put(a,ind,v,mode=raise):用v的值替换数组a中的ind(索引)的值。Mode可以为raise/wrap/clip。Clip:如果给定的ind超过了数组的大小,那么替换最后一个元素。nndarray.re
32、peat(a,repeats,axis=None):重复数组的元素。nnumpy.tile(A,reps):根据给定的reps重复数组A,和repeat不同,repeat是重复元素,该方法是重复数组。nndarray.var(axis=None,dtype=None,out=None,ddof=0):返回数组的方差,沿指定的轴。nndarray.std(axis=None,dtype=None,out=None,ddof=0):沿给定的轴返回数则的标准差nndarray.prod(axis=None,dtype=None,out=None):返回指定轴的所有元素乘积。nndarray.cump
33、rod(axis=None,dtype=None,out=None):返回指定轴的累积nndarray.mean(axis=None,dtype=None,out=None):返回指定轴的数组元素均值。nndarray.cumsum(axis=None,dtype=None,out=None):返回指定轴的元素累计和。nndarray.sum(axis=None,dtype=None,out=None):返回指定轴所有元素的和。nndarray.trace(offset=0,axis1=0,axis2=1,dtype=None,out=None):返回沿对角线的数组元素之和。nndarray.
34、round(decimals=0,out=None):将数组中的元素按指定的精度进行四舍五入。nndarray.conj():返回所有复数元素的共轭复数。nndarray.argmin(axis=None,out=None):返回指定轴最小元素的索引。nndarray.min(axis=None,out=None):返回指定轴的最小值。nndarray.argmax(axis=None,out=None):返回指定轴的最大元素索引值。nndarray.diagonal(offset=0,axis1=0,axis2=1):返回对角线的所有元素。press(condition,axis=None,
35、out=None):返回指定轴上条件下的切片。nndarray.nonzero():返回非零元素的索引。5.42黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-NumPyn创建数组的方法有很多。如可以使用array函数从常规的Python列表和元组创造数组。所创建的数组类型由原序列中的元素类型推导而来。n可使用双重序列来表示二维的数组,三重序列表示三维数组,以此类推。n可以在创建时显式指定数组中元素的类型。n数组数组0、数组、数组1 用函数zeros可创建一个全是0的数组,用函数ones可创建一个全为1的数组,函数empty创建
36、一个依赖内存状态的随机数组。默认创建的数组类型(dtype)都是float64。nNumPy提供arange函数和linspace函数返回一个数列形式的数组。arange函数:参数一:起始值,参数二:结束值,参数三:步长(arange可接收浮点数)linspace函数:参数一:起始数值,参数二:结束数值,参数三:结果个数。5.43黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-NumPyn 5.44黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-NumPyn 5.
37、45黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-NumPyn 5.46黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-NumPynNumPy概率分布 5.47黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-NumPyn 5.48黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-SciPynScipy是一个高级的科学计算库,它和Num
38、Py联系很密切,Scipy一般都通过操控NumPy数组来进行科学计算,所以可以说Scipy是基于NumPy之上的库。Scipy有很多子模块可以应对不同的应用,例如插值运算、优化算法、图像处理、数学统计等。nScipy通过命令行进行安装:pip install scipy 5.49黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-SciPy5.50黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-SciPyn文件输入和输出:scipy.io 这个模块可以加载和保存mat
39、lab文件。n线性代数操作:scipy.linalg 假如我们要计算一个方阵的行列式,我们需要调用det()函数n快速傅里叶变换:scipy.fftpack。一般地,我们用NumPy初始化正弦信号;然后,如果我们要计算该信号的采样频率,可以用scipy.fftpack.fftfreq()函数,计算它的快速傅里叶变换使用scipy.fftpack.fft()。NumPy中也有用于计算快速傅里叶变换的模块:NumPy.fft,但是scipy.fftpack性能要高一些。n优化器:scipy.optimize scipy.optimize通常用来最小化一个函数值n 统计工具:scipy.stats5
40、.51黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-PandasPandas是一个提供快速处理、扩展和展现数据结构的Python库。是使用Python分析实际数据的模块。Pandas是强大的可扩展的数据操作与分析开源工具。主要的特性如下:n为浮点数和与浮点数精度丢失提供了简易的处理方法。n大数据的处理。n自动而准确地处理数据队列。n能方便地转换不规则数据和差异数据。n智能地处理大数据集的切片、子集。n智能合并和连接数据集。n灵活地调整数据集。Pandas安装:命令行输入pip install pandas。Python导入Pa
41、ndas模块:import pandas ad pd。5.52黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-PandasPandas数据类型 1.Series 可以看做为一个定长的有序字典。任意的一维基本类型数据都可以用来构造 Series 对象;就如同列表一样,一个系列数据,其中每个数据对应一个索引值。Series 就是“竖起来”的 list2.DataFrame 是一种二维的数据结构,非常接近于电子表格或者类似 mysql 数据库的形式。它的竖行称之为 columns,横行跟前面的 Series 一样,称之为 index,
42、也就是说可以通过 columns 和 index 来确定一个单元数据的位置5.53黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-Pandas文件操作 n存储数据集 把Pandas数据保存为csv文件n读取 csv 文件 读取csv文件为Pandas 数据5.54黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-Pandas数据预处理n数据清洗 对NA 数据的处理有 Dropna 放弃NA;fillna 填充为另一值n数据合并 使用键参数的DataFrame合并n数
43、据变换 利用函数映射进行数据转换、用替换值对数据转换5.55黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-Scikit-learnnScikit-learn的基本功能主要有:分类,回归,聚类,数据降维,模型选择和数据预处理。n 命令行输入Pip install Scikit-learn即可安装Scikit-learn。5.56黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-Scikit-learnnScikit-learn分类 目前Scikit-learn已经实
44、现的算法包括:支持向量机(SVM)、最近邻(KNN)、逻辑回归、随机森林、决策树以及多层感知器(MLP)神经网络等等。n决策树的一个示例,采用DecisionTreeClassifier函数优化决策树。可以看到决策树准确度与决策树深度的关系。5.57黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-Scikit-learnnScikit-learn回归 已经实现的算法包括:支持向量回归(support vector regression SVR)、脊回归或称岭回归((Ridge Regression)、Lasso回归(Least
45、absolute shrinkage and selection operator)、弹性网络回归(ElasticNet Regression)、最小角回归(Least Angle Regression LARS)、贝叶斯回归(Bayesian Linear Regression)以及各种不同的鲁棒回归(robust regression)等。5.58黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-Scikit-learnn Scikit-learn聚类 已经实现的聚类算法包括:K-均值聚类(见图),谱聚类,均值偏移,分层聚类,
46、DBSCAN聚类等。5.59黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-Scikit-learnnScikit-learn数据降维 数据降维是指使用主成分分析(PCA)、非负矩阵分解(NMF)或特征选择等降维技术来减少要考虑的随机变量的个数,其主要应用场景包括可视化处理和后续机器学习训练的效率提升。图 显示用make_classification生成的三元分类模型数据。5.60黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-Scikit-learnnPytho
47、n 机器学习库-Scikit-learn5.61黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-Scikit-learnnScikit-learn模型选择 模型选择是指对于给定参数和模型的比较、验证和选择,其主要目的是通过参数调整来提升精度。目前Scikit-learn实现的模块包括:格点搜索,交叉验证和各种针对预测误差评估的度量函数。图 显示Scikit-learn最近邻(KNN)模型选择的示例。不同的参数具有不同的准确度。5.62黄理灿黄理灿 2019深度学习原理与深度学习原理与Tensorflow实践实践Python 机器学习库机器学习库-Scikit-learnnScikit-learn数据预处理 数据的特征获取和归一化,是机器学习过程中重要的一个环节。这里归一化是指将输入数据转换为具有零均值和单位权方差的新变量。而特征获取是指将文本或图像数据转换为可用于机器学习的数字变量。图 通过preprocessing函数对数据进行预处理。第第章章 结束结束
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。