版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章Python机器学习的使用2.1Python语言介绍2.2Python平台搭建2.3Python入门2.4Python库的使用2.5小结2.1Python语言介绍
Python作为一门开源语言使用广泛,入手非常快语法简单,简单易读,是一种解释性强、交互式、面向对象、跨平台的语言。Python被称为“胶水语言”,不仅可以使用Python编程,还可以使用C语言、C++编写,他把耗时的代码交给C/C++等高效率的语言进行实现,然后通过粘合来使用,这样就使得Python运行时间得到简化。Python还具有列表、元组、字典等核心数据类型,以及集合、队列等无需进一步编程就能直接使用。由于Python可以应用到多个领域,功能比较广泛,可扩展性强,所以基于Python生成了非常多的第三方库,这些库Python本身不带,运用时需要先安装,然后才能导入,Python包含了大量的第三方库可以运用到机器学习,比如:图形库,数学函数库,机器学习算法库等。2.2Python平台搭建Python适用于多个平台,并且拥有多个版本,可以根据平台选择合适的版本Python可以通过官方网站下载:/Python下载软件安装第三方库的安装2.3Python入门数据类型基本运算控制语句复杂数据类型函数数据类型数值型a=123print(a)a=3.14print(a)a=1.23456890print("{:0.2f}".format(a))字符串str='thisisaprogram'print(str[0])print(str[-1])print(str[0:4])print(len(str))print(str)print("{2}{1}{3}".format("this","is","a","program"))在Python中有两种索引方式,一种是正索引,一种是负索引,我们既可以通过正索引进行查询,也可以通过负索引进行查询。在进行切片操作时,一般通过如下方式:object[start_index:end_index:step]step:步数,其正负值决定了切片方向。start_index:开始索引(包括自身)。end_index:结束索引(不包括自身)。布尔类型 空值true=True a=Nonefalse=False
print(a)print(true)print(false)基本运算基本运算符a=1+2print(a)a=1-2print(a)a=1*2print(a)a=1/2print(a)a=1//2print(a)a=1%2print(a)a=10**32print(a)多变量赋值a=1b=2a,b=b,a+bprint(a,b)控制语句条件控制语句year=int(input("请输入年份:"))ifyear%4==0andyear%100!=0:print("{}年isleap".format(year))elifyear%400==0:print("{}年isleap".format(year))else:print("{}年isn'tleap".format(year))循环控制语句foriinrange(5):print(i)条件循环n=5while(n):print(n)n=n-1复杂数据类型列表(list)、元组(tuple)、字典(dict)、集合(set)列表:列表是可变的数据类型,在创建列表后可以添加、删除或者搜索数据,在Python中用[]表示。list=['a','b','c']print(list)list.append('d')print(list)list.extend('e')print(list)list.remove('e')print(list)元组:元祖和列表相似,但元组不可变。即不能添加或删除元组内的信息,但元组可以嵌套。在Python中用()表示。list=['b','c']tuple=('a',list,'d')print(tuple)list.remove('c')print(tuple)tuple[1].append('c')print(tuple)字典:字典是可变的,其数据类型包括键和值,键和值之间用“:”隔开,每个元素间以“,”隔开。且字典中的键是唯一的。在Python中用{}表示。dict={'a':1,'b':2,'c':'three'}print(dict.keys())print(dict.values())print(dict['c'])dict['c']=3print(dict['c'])dict.setdefault('d',4)print(dict)dict.pop('a')print(dict)dict.clear()print(dict)集合:集合与字典类似,但只包含键,没有对应的值,且包含的键不能重复。在Python中用set()或{}表示,set()中可以是列表、元组、字符串等。s=set([1,2,3])print(s)s={1,2,3}print(s)s=set("aabbc")print(s)函数:函数在任何时候都非常重要,能够自己建立函数解决机器学习问题,是一件不容易的事。我们先介绍Python中函数的语法:Python中建立函数利用def作为关键字开头,然后后面跟函数名、参数、“()”、“:”等,通过缩进表示函数内的内容。deffun(n):ifn==1orn==0:return1else:returnn*fun(n-1)print(fun(5))2.4Python库的使用scikit-learnmglearnnumpyscipypandasmatplotlibGraphvizscikit-learnscikit-learn简称为sklearn,是机器学习最重要的一个机器学习库,包括了大量的机器学习算法,而且还包括了大量的小型数据集,节省了获取数据集所花费的时间,使新手很容易上手,因而成为了广泛应用的重要的机器学习库。sklearn还包括了许多功能,例如:分类任务、回归任务、聚类任务、降维任务、模型选择和数据的预处理。mglearn机器学习主要运用到这个库的两个方面,一是利用matlotlib作图时,库中有配置好的cm2、cm3配色方案,二是库中有加载和获取常用数据集、人工生成数据集的模板load,可以引用sklearn.datasets模块。numpynumpy支持高级大量的维度数组与矩阵运算,它要求列表中所有元素类型都是相同的,然后将列表转化成相对应的数组进行运算。而且具有矢量运算能力,快速、节省空间。此外也针对数组运算提供大量的数学函数库。建立列表importnumpyasnpdata=[[1,2,3],[4,5,6],[7,8,9]]print(data)将列表转换为数组importnumpyasnpdata=[[1,2,3],[4,5,6],[7,8,9]]ndarray=np.array(data)print(ndarray.shape)print(ndarray)比较两者的运算importnumpyasnpdata=[[1,2,3],[4,5,6],[7,8,9]]ndarray=np.array(data)print("data数据:\n{}".format(data*2))print("ndarray数据:\n{}".format(ndarray*2))对数组进行切片importnumpyasnpdata=[[1,2,3],[4,5,6],[7,8,9]]ndarray=np.array(data)print(ndarray[1,2])print(ndarray[1,:])print(ndarray[:,2])scipyscipy建立在numpy的基础之上,用于数学、科学、工程领域的第三方库。它主要用于用于有效计算numpy矩阵,使numpy和scipy协同工作,高效解决问题。如统计、优化、数值积分、图像处理、信号处理以及常微分方程数值解的求解功能。建立稀疏矩阵importnumpyfromscipyimportsparsea=[[1,0,0,2],[0,0,3,0],[0,3,0,0]]a=numpy.array(a)print(a)转换importnumpyfromscipyimportsparsea=[[1,0,0,2],[0,0,3,0],[0,3,0,0]]a=numpy.array(a)array=sparse.csr_matrix(a)print(array)pandaspandas也是基于numpy创建的一个为了解决数据分析任务的一种数据处理工具。pandas是一款最具有统计意义的统计包,它纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具和大量能使我们快速便捷地处理数据的函数和方法。pandas常用的是series,dataframe,panel等,分别用来处理一维、二维和三维数据,应用最多的是dataframe,它能将numpy数组或者字典转化为类似于表格的类型,有行标签和列标签。importnumpyasnpimportpandasaspdarray=[[1,2],[3,4]]array=np.array(array)row=['r1','r2']col=['c1','c2']dataframe=pd.DataFrame(array,row,col)print(dataframe)importpandasaspddic={'name':["zhao","qian","sun","li"],'sex':['m','f','f','m']}dic=pd.DataFrame(dic)print(dic)matplotlibmatplotlib是一款绘图工具,用于绘制散点图、直方图、线型图等,类似于matlab,有matlab基础的同学能够快速上手matplotlib。importmatplotlib.pyplotaspltimportnumpyasnpdata=np.random.randn(200)plt.hist(data)plt.xlabel("XLabel")plt.ylabel("YLabel")plt.title("Title")plt.show()importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(-10,10)y=np.abs(x)plt.plot(x,y)plt.xlabel("XLabel")plt.ylabel("YLabel")plt.title("Title")plt.show()importmatplotlib.p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专业化通风空调安装项目协议2024版A版
- 三方债务责任转移协议2024版
- 2025年度农业园区场地租赁安全管理合同范本4篇
- 专业劳务分包协议(2024年版)样本版A版
- 二零二四实习生就业权益与培训协议范本规范5篇
- 2025年度测绘数据安全保密协议4篇
- 专业标识标牌定制及施工服务协议版B版
- 专业摄影委托协议细则(2024年)版B版
- 2024物业管理权转让服务合同
- 2024版食品安全购销合作合同范本一
- 微机原理与接口技术考试试题及答案(综合-必看)
- 劳务投标技术标
- 研发管理咨询项目建议书
- 湿疮的中医护理常规课件
- 转钱委托书授权书范本
- 一种配网高空作业智能安全带及预警系统的制作方法
- 某墓园物业管理日常管护投标方案
- 苏教版六年级数学上册集体备课记载表
- 内蒙古汇能煤电集团有限公司长滩露天煤矿矿山地质环境保护与土地复垦方案
- 22S702 室外排水设施设计与施工-钢筋混凝土化粪池
- 2013日产天籁全电路图维修手册45车身控制系统
评论
0/150
提交评论