版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python数据挖掘编程基础Python使用入门Python数据挖掘建模的常用库基本命令1.基本运算初识Python,可以将其当作一个方便的计算器。Python支持对字符串的灵活操作。基本命令2.数据结构Python有4个内置的数据结构——列表、元组、字典和集合它们统称为容器。4个内置的数据结构实际上是由一些元素组合而成的结构,这些元素可以是数字、字符或列表,也可以是几种元素的组合。容器里的数据结构可以是任意的;且容器内部的元素类型不要求相同。数据结构1.列表和元组列表和元组都是序列结构,两者很相似,但又有一些不同的地方。列表与元组的区别是列表使用方括号进行标记,如m=[0,2,4]。元组使用圆括号进行标记,如n=(6,8,10)。访问列表和元组中的元素的方式都是一样的,如m[0]等于0,n[2]等于10等。外形上列表与元组的区别是列表可以被修改,而元组不可以。如果已经有了一个列表m,需要将列表m复制为列表n,那么使用语句n=m是无效的,因为这时n仅仅是m的别名(或引用),修改n的同时也会修改m。正确的复制语句应该是n=m[:]。功能上列表和元组与列表有关的函数是list,与元组有关的函数是tuple,其用法和功能几乎一样,都是将某个对象转换为列表或元组。例如,list('cd')的结果是['c','d'],tuple([0,1,2])的结果是(0,1,2)。函数功能函数功能cmp(m,n)比较两个列表或元组的元素min(m)返回列表或元组中元素的最小值len(m)返回列表或元组中元素的个数sum(m)对列表或元组中的元素求和max(m)返回列表或元组中元素的最大值sorted(m)对列表或元组中的元素进行升序排序列表和元组列表作为对象,自带了很多实用的方法。列表还有“列表解析”这一功能。列表解析功能能够简化操作列表内元素的代码。方法功能m.append(1)将1添加到列表m的末尾m.count(1)统计列表m中元素1出现的次数m.extend([1,2])将列表[1,2]中的内容追加到列表m的末尾数据结构2.字典在数学意义上,字典实际上是一个映射。字典也相当于一个列表,但是其下标不是以0开头的数字,而是自己定义的键(Key)。创建字典访问字典中的元素通过dict函数或dict.fromkeys创建字典数据结构3.集合Python内置了集合这一数据结构,它与数学中的集合的概念基本一致。集合中的元素是不重复的,而且是无序的。集合不支持索引。通过花括号或set函数来创建集合集合的运算循环与判断判断和循环是编程语言中的基本命令,Python判断语句的格式如下。if条件1:
语句1elif条件2:
语句2else:
语句3注意:代码缩进循环与判断Python的循环包括for循环和while循环,在绝大多数情况下,for循环和while循环可等价使用。for循环适合已知循环次数的操作,while循环适合循环次数是未知的操作。两种循环操作都可以用任意表达式表示条件;都需要在满足条件的前提下,才会进入循环体中执行语句。函数1.自定义函数Python使用关键字def定义自定义函数,函数返回值可以是各种形式。Python支持使用lambda定义“行内函数”。函数2.函数式编程函数式编程(FunctionalProgramming)或函数程序设计,又称泛函编程,是一种编程范型。函数式编程将计算机运算视为数学中的函数计算,并且避免了程序状态及易变对象对函数的影响。filterlambdamap…reduce库的导入与添加1.库的导入Python本身内置了很多强大的库,如可以完成更加丰富、复杂的数学运算的math库。使用“import库名”命令导入库为库起一个别名特别指定要导入的函数的名字直接导入库中的所有函数库的导入与添加2.安装第三方库常见的安装第三方库的方法如下。方法特点下载源代码自行安装安装灵活,但需要自行解决上级依赖问题用pip命令安装比较方便,可以自动解决上级依赖问题用easy_install命令安装比较方便,可以自动解决上级依赖问题下载编译好的可执行文件包一般只有Windows系统才提供现成的可执行文件包系统自带的安装方式Linux或Mac系统的软件管理器自带了某些库的安装方式Python使用入门Python数据挖掘建模的常用库Python数据挖掘建模的常用库Python拥有丰富的第三方库,在许多领域都有着广泛的应用。随着各种模块的逐步完善,Python在科学领域的地位越来越重要。Python部分库的作用如下表。类别核心库名称核心作用描述数据获取requests发送HTTP请求,获取网页/API数据,支持各种请求方法和参数配置。Scrapy专业爬虫框架,支持分布式爬取、数据解析、反爬处理,适合大规模数据采集。BeautifulSoup解析HTML/XML文档,提取标签内容、属性等,常与requests配合使用。数据预处理pandas处理结构化数据,提供缺失值填充、格式转换、数据过滤、合并等功能。NumPy提供高效数组操作,支持数值计算、维度转换,是多数数据处理库的基础。scikit-learn包含标准化、归一化、编码(One-Hot/Label)、特征选择等预处理工具。Python数据挖掘建模的常用库Python部分库的作用如下表(续)。类别核心库名称核心作用描述数据可视化Matplotlib基础绘图库,支持折线图、柱状图、直方图等,可高度自定义图表样式。Seaborn基于Matplotlib,专注统计可视化,简化热图、箱线图、分类散点图等绘制。Plotly交互式可视化库,生成可交互图表(缩放、悬停查看详情),支持Web展示。机器学习scikit-learn经典机器学习库,包含分类、回归、聚类、降维等算法,支持模型训练与评估。深度学习TensorFlow谷歌深度学习框架,支持构建复杂神经网络(CNN/RNN/Transformer),适合生产部署。PyTorch动态计算图深度学习框架,调试便捷,受科研领域青睐,支持快速原型开发。NumPyNumPy的前身为Numeric,最早由吉姆·弗贾宁(JimHugunin)与其他协作者共同开发。2005年,特拉维斯·奥利芬特(TravisOliphant)在Numeric中结合了另一个同性质的程序库Numarray的特色,并进行了其他扩展而开发出了NumPy。NumPy是用Python进行科学计算的基础软件包,同时也是一个Python库。NumPyNumPy提供多维数组对象和各种派生对象,以及用于数组快速操作的各种API,因而能够快速地处理数据量大且烦琐的数据运算。NumPy是很多更高级的扩展库的依赖库。NumPy内置函数处理数据的速度是C语言级别的,因此在编写程序的时候,应当尽量使用NumPy中的内置函数,从而避免效率瓶颈。pandaspandas的名称源自面板数据(PanelData)和Python数据分析(DataAnalysis),其最初被作为金融数据分析工具而开发出来,由AQRCapitalManagement于2008年4月开发,并于2009年底开源。pandas是Python的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。pandas能够与其他第三方科学计算支持库完美地集成。pandas还包含了高级的数据结构和精巧的工具,使得在Python中处理数据非常快速和简单。pandaspandas中的常用数据结构为Series(一维数据)与DataFrame(二维数据)。可提供高性能的矩阵运算可用于数据挖掘和数据分析提供数据清洗功能支持类似SQL的数据增、删、查、改操作有丰富的数据处理函数有时间序列分析功能可灵活地处理缺失数据pandas功能MatplotlibMatplotlib是由约翰·亨特(JohnHunter)等人研究发明出来的,最初只是为了可视化癞痢病人的一些健康指标。慢慢地,Matplotlib变成了Python中使用最广泛的可视化工具包。Matplotlib是Python的绘图库,主要用于二维绘图,也可以进行简单的三维绘。Matplotlib提供了一整套和MATLAB相似但更为丰富的命令,可以非常快捷地使用Python可视化数据,而且可以输出达到出版质量的多种图像格式,还十分适合交互式地制图。Matplotlib也可作为绘图控件,嵌入GUI应用程序或CGI、Flask、Django中。MatplotlibMatplotlib绘图库的特点如下。不仅支持交互式绘图,而且支持非交互式绘图支持绘制曲线(折线)图、条形图、柱状图、饼图可对绘制的图形进行配置支持Linux、Windows、macOSX与Solaris的跨平台绘图迁移学习的成本比较低支持LaTeX的公式插入scikit-learnscikit-learn(简称sklearn)项目最早由数据科学家大卫·库尔纳佩(DavidCournapeau)在2007年发起,其需要NumPy和SciPy等库的支持。scikit-learn是一个强大的Python机器学习库,提供了完善的机器学习工具,能完成数据预处理、分类、回归、聚类、预测、模型分析等操作。scikit-learn还是一种简单高效的数据挖掘和数据分析工具,并且可以在各种环境中重复使用。scikit-learn的内部实现了各种各样成熟的算法,容易安装和使用,样例也十分丰富。scikit-learn使用scikit-learn创建机器学习模型。所有模型提供的接口为model.fit(),用于训练模型。用于分类与回归算法的训练模型的语句为fit(X,y)。用于非分类与回归算法的训练模型需要的语句为fit(X)。分类与回归模型提供如下接口。model.predict(X_new):用于预测新样本。model.predict_proba(X_new):用于预测概率,仅对某些模型有用。model.score():得分越高,模型拟合效果越好。scikit-learn非分类与回归模型提供如下接口。model.transform():在fit函数的基础上,进行标准化、降维、归一化等数据处理操作。model.fit_transform():fit函数和transform函数的组合,既包含了训练又包含了数据处理操作。scikit-learn本身还提供了一些实例数据用于练习,常见的有安德森鸢尾花卉数据集、手写图像数据集等。深度学习框架1.TensorFlow2015年11月10日,Google推出了全新的开源工具TensorFlow。它是基于Google2011年开发的深度学习基础框架DistBelief构建而成的,主要应用于深度神经网络。TensorFlow即Tensor和Flow,Tensor意味着数据,Flow意味着流动、计算、映射,TensorFlow即数据的流动、数据的计算、数据的映射,同时也体现出数据是有向地流动、计算和映射的。深度学习框架1.TensorFlow具有高度灵活性具有可移植性可以自动计算梯度和函数导数可以将硬件的性能最优化可以将不同的计算任务分配到不同的单元之中支持多种编程语言TensorFlow深度学习框架2.KerasKeras由Python编写而成,它是使用TensorFlow、Theano和CNTK作为后端的一个深度学习框架。Keras的预测函数与scikit-learn有所差别Keras用model.predict()方法给出概率,scikit-learn用model.predict_classes()方法给出分类结果。Keras功能特点如下。Keras具有高度模块化、用户友好性和易扩展的特性支持卷积神经网络和循环神经网络,以及两者的组合可无缝衔接CPU和GPU的切换深度学习框架3.PyTorch2017年1月,Facebook人工智能研究院在GitHub上开源了PyTorch,PyTorch迅速成为GitHub热度榜的榜首。PyTorch是一个基于Torch的Python开源机器学习库,同时还是一个深度学习框架,可用于自然语言处理等应用程序。PyTorch不仅能够实现强大的GPU加速,同时还支持动态神经网络。PyTorch可以帮助用户构建深度学习项目。PyTorch可以提供命令式体验,直接使用nn.module封装便可使网络搭建更快速和方便。PyTorch调试起来很简单。深度学习框架3.PyTorchPyTorch中有较为完备的应用领域所对应的库。应用领域对应的PyTorch库计算机视觉TorchVision自然语言处理PyTorchNLP图卷积PyTorchGeometric工业部署Fastai深度学习框架4.PaddlePaddlePaddlePaddle(即飞桨)是一个易用、高效、灵活、可扩展的深度学习框架,于2016年正式向专业社区开源。PaddlePaddle支持超大规模深度学习模型的训练、多端多平台部署的高性能推理引擎等。提供命令式编程模式功能、性能和体验。原生推理库性能显著优化,轻量级推理引擎实现了对硬件支持的极大覆盖。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 成都中医药大学第二附属医院招聘笔试真题2025
- 资金拆借合同(2026版)
- 江苏南通科技职业学院招聘笔试真题2025
- 2026 年山体塌方救援基础安全注意事项
- 2026年秋季开学:中学开学第一课 创新思维训练
- 2026年感染性疾病科肠道传染病护理实操
- 高中英语选择性必修一 Unit3 Fascinating Parks 词汇知识点背诵记忆
- 高考地理一轮复习 小练习专练10 宇宙中的地球
- 某制药厂成本制度
- 某钢铁厂卫生安全准则
- 江苏无锡川埠220kV变电站110kV出线配套工程报告表
- 挤密碎石桩施工方案
- 人教出版小学一年级语文上册看拼音写汉字及单元检验测试题【全册】
- 2022电力工程导地线展放安装施工作业指导书
- T-CWEC17-2020水利水电勘测设计单位安全生产标准化评审规程
- 工艺管道试压、吹扫方案
- 与孩子达成的手机使用协议君子协议
- JB T 5082.7-2011内燃机 气缸套第7部分:平台珩磨网纹技术规范及检测方法
- 锅炉设备进口合同中英文对照版
- 2023年网格员招聘考试复习题库(含答案)
- 绍兴市利和文具有限公司年产50吨文具橡皮生产线项目立项环境评估报告表
评论
0/150
提交评论