搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
出版时间 :
无库存
数据科学理论与实践--基于Python的实现
0.00     定价 ¥ 68.00
泸西县图书馆
此书还可采购1本,持证读者免费借回家
  • ISBN:
    9787030784063
  • 作      者:
    何曙光,张敏
  • 出 版 社 :
    科学出版社
  • 出版日期:
    2024-05-01
收藏
畅销推荐
内容介绍
当前我们正处于大数据时代,不同类型的数据正以前所未有的速度累积和存储,数据将成为未来组织运营的重要资源。大数据正改变着企业的运行逻辑和管理问题的解决方式与手段。对于管理学科的研究者和实践者来说,具备处理动辄几十万条甚至更大规模的数据的能力,逐渐成为一项**技能。《数据科学理论与实践——基于Python的实现》从这一目的出发,介绍了基于Python的数据科学理论和实践相关内容。《数据科学理论与实践——基于Python的实现》共8章,内容包括数据科学概论、Python基础、Python常用模块、基于Python的*优化、基于Python的统计分析、基于Python的机器学习、基于PyTorch的神经网络、网络文本数据分析与实践。《数据科学理论与实践——基于Python的实现》以适用为目标,在简要介绍相关理论的基础上重点介绍如何通过Python进行数据分析、建模和问题解决。同时,《数据科学理论与实践——基于Python的实现》还包含了大量的Python源代码,可以作为参考资料,具有很强的实用性。
展开
精彩书摘
第1章 数据科学概论
  本章对数据、大数据及数据科学进行简要介绍。
  1.1 数据与大数据
  1.1.1 数据、信息和知识
  数据(data)一般指未经加工处理的原始记录,是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合,数据一般可以通过观察或度量得到。它是可识别的、抽象的符号。它不仅指狭义上的数字,还可以是具有一定意义的文字、字母、数字符号的组合、图形、图像、视频、音频等,也是客观事物的属性、数量、位置及其相互关系的抽象表示。
  我们日常生活中可以接触到大量的数据,这些数据类型多样,可能是一条新闻、一篇文章、股票的历史交易数据、企业的财务报表、汽车的行驶轨迹,也可能是一段语音、一幅图片、一段视频等。在我们身处的信息化时代,我们每个人都在使用数据同时也在产生数据,如浏览记录、点赞转发评论、购物记录等。
  绝大多数情况下,我们收集到的原始数据都是杂乱无章的,数据之间的关系不清晰、对决策的作用有限。在对数据进行整理、加工和挖掘的过程中就产生了信息(information)。信息由数据加工得来,但*终也往往以数据的形式存在。信息的重要作用在于让我们能够对事情有更多的了解,并形**的观点或为决策服务。信息是具有相关性和目的性的数据。无论信息以何种形式存在,如果我们无法解读,就不能称其为信息。判断信息和数据的重要标准是看它是否承载了有用的内容。按照信息论的观点,信息可以消除不确定性,信息熵就是对信息不确定性的度量。当然,信息和数据的划分也不是完全绝对的,如企业的一份财务报表,对于专业人士来说是信息,而对于没有财务会计基础知识的人来说就是数据。在实际应用中,有时数据和信息会互换使用。
  知识(knowledge)是对信息的高度概括和凝练,知识主要是揭示和建立数据与信息、信息与信息之间的联系,它体现了信息的本质、原则和经验。此外,知识基于推理和分析,还可能产生新的知识。
  以我们日常生活举例,我们每天都在不知不觉地根据天气预报做日常决策,比如我们早晨要决定穿多少衣服、是否带雨伞、是否洗车等。对于这样的决策,天气预报中的气温、风力、降雨概率等就是信息,因为对我们的决策是有用的。那么什么是数据呢?对气象预报来说,卫星云图就是数据,当然在卫星云图后面还有很多更加复杂的数据。对于绝大多数人来说是没有办法根据卫星云图作出判断的,还需要专业人士对其进行提炼和加工再辅以其他方面的数据和知识,从而形成天气预报。这里天气预报就是信息,气象云图则是数据。
  再如,一个企业在日常运营中会产生大量的财务数据,这些数据描述不同业务如采购、销售、工资、财务费用、固定资产等,对于普通人而言,财务数据纷繁复杂、内容分散,很难直接对公司的运营做出分析和评估。
  财务人员对财务数据按照既定的规范进行汇总、加工和整理后,就会产生我们比较熟悉的财务报表。财务报表是对财务数据的加工和提炼,可以理解为是财务信息。相对于原始财务数据而言,财务报表结构清晰、内容高度凝练,很容易使用。而且财务报表信息可以有效地反映企业的资产负债、现金流和损益等内容,可以用于指导企业的经营活动,因此是有用的数据。
  从应用的角度,财务报表仍然比较专业,非财务专业人员理解起来仍然比较困难。于是,在财务报表的基础上,进一步加工凝练出各种指标,如反映企业偿债能力的速动比率、流动比率等;反映企业运营能力的存货周转率、流动资产周转率等;反映企业盈利能力的销售毛利率、资产净利率等。这些财务指标是对财务信息的进一步加工和凝练,高度概括企业的经营能力,能够很容易地被非专业人员使用。
  那么各类财务指标是否就是知识呢?事实上,财务报表和财务指标描述的仍然都是信息。比如,脱离具体的企业和行业特征财务指标的意义并不大,换句话说不同规模、不同行业、不同类型企业之间的财务指标对比意义并不是很大,知识是要建立它们之间的关联。如特定规模、特定类型、特定行业的企业在特定的经济环境下,具有何种财务指标属于优秀、良好、一般等,这就是知识,描述了财务指标之间的关系。有的研究将我国的上市企业按照是否ST(special treatment,特别处理)划分为两类,研究财务数据、财务指标与企业是否ST的关系,这就是从数据中提取知识的过程。经过这样的研究得到的就是:什么样的数据会预示企业的经营变差。
  知识的更高层面是智慧(wisdom),是人类所表现出来的一种*有的能力,主要表现为收集、加工、应用、传播知识的能力,特别是对事物发展的前瞻性预测;是在知识的基础之上,通过经验、阅历、见识的累积,形成的对事物的深刻认识及由此形成的判断力和决断力。
  数据、信息、知识和智慧之间的关系如图1.1所示。
  图1.1 数据、信息、知识和智慧之间的关系
  1.1.2 大数据
  时至今日,人类已进入大数据(bigdata)时代。在大数据时代,数据正以前所未有的速度被累积、存储和处理。同时,数据在日常生活、企业运营、国家治理等方方面面都发挥着越来越重要的作用,数据作为资源的价值日益凸显。大数据研究机构Gartner将大数据定义为:需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力来适应海量、高增长率和多样化的信息资产。目前被大家接受的关于大数据的描述是5V。
  (1)容量(volume):大数据*重要的特征是采集、存储、管理和分析的数据量巨大。在我们所处的数字化和信息化时代,数据正在以前所未有的速度被累积,IDC (International Data Corporation,国际数据公司)2017年发布的《数据时代2025》指出,全球每年产生的数据将从2018年的33ZB增长到2025年的175ZB,相当于每天产生491EB的数据。这样的数据超出了传统的数据库和分析处理软件工具的能力。
  (2)种类(variety):大数据的另一个特征是数据种类和来源多样。可能包括不同类型的数据如文本、图像、音频、视频、位置等非结构化数据以及各种结构化、半结构化数据。种类繁多的大数据给数据预处理、分析方法提出了更高的要求。特别是在很多情况下,我们还需要对这些多源异构数据进行融合,为后续分析奠定基础。
  (3)速度(velocity):数据增长速度快也是大数据的重要特征。例如,视频数据每时每刻都在增加,而有的传感器数据的采样频率极高(采样间隔可能是毫秒级)。快速增长的数据对数据分析和处理的速度提出了很高的要求,很多时候需要对数据进行实时的加工和处理,有时处理完的数据甚至不需要再保存而直接丢弃。例如,视频分析中的危险行为识别、设备状态监控等。这样的情景往往需要高效的分析处理算法,有时需要在线和离线相结合,与传统的离线批处理和数据挖掘有所区别。
  (4)真实(veracity):数据的真实性一般指大数据的质量,即大数据应该是与真实事件相关、对真实世界的反映,是通过观察、测量、采集等方式获得的真实数据。当然,在数据的采集过程中也不可避免地会发生数据缺失、数据错误等问题,但不应该是造假的数据。在大数据时代,数据质量已成为一个重要的话题和研究方向。
  (5)价值(value):相对于大数据的庞大体量而言,数据中的价值密度相对较低,如何从低价值密度的数据中进行建模、分析和预测,找到有意义的特征,是机器学习和人工智能的重要研究领域和方向。比如,在智能工厂的多路传感器以极高的频率采集数据,但实际上绝大多数的数据都是没有用处的,有时为了存储处理和分析的方便,甚至需要通过采样降低数据量。一些监控视频数据往往也有类似的问题,有价值的数据往往仅占极小的部分。在大数据时代,还有一个突出的问题,即数据丰富而知识贫乏(data rich and information poor)现象,表现为很多企业都有海量数据存储在介质中,但是却没有进行有效的开发和利用。如何从海量数据中挖掘信息和知识,为我们的决策服务,是大数据时代面临的主要挑战,这也正是数据科学的主要任务。
  1.2 数据科学及其工作流程概述
  1.2.1 数据科学概述
  维基百科对数据科学(data science)的定义如下:数据科学又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取有价值的部分来生产数据产品。数据科学结合了诸多领域中的理论和技术,包括应用数学、统计学、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。数据科学的知识体系如图1.2所示。
  图1.2 数据科学的知识体系
  数据科学与传统的数据分析的重要区别是所面对的问题和所使用的数据往往差别很大,因此,数据科学经常需要根据数据的特征选择合适的分析方法和算法,在特殊情况下甚至需要设计全新的算法。因此,在数据科学的知识体系中计算机特别是程序开发是一项重要的技能。常用于数据科学的编程语言包括开源Python、R以及支持矩阵运算的平台MATLAB等。
  数据科学在分析和解决问题的时候,以数据分析为基础,但并不是将数据作为唯一的基础,将领域相关的知识、工程经验以及方法等应用于数据科学中,能够帮助我们更好地理解问题并有针对性地提出解决问题的思路和框架。
  数学和统计学是数据科学的基础,数据科学的常用模型(包括线性回归、支持向量机、深度神经网络等)都是以矩阵运算、优化、统计分析为基础的,因此数学中的微积分、线性代数、概率论与数理统计都是我们理解和灵活应用已有模型或开发新的算法的基础。
  1.2.2 数据科学工作流程
  数据科学的工作流程如图1.3所示,主要过程简述如下。
  图1.3 数据科学的工作流程
  (1)问题定义。数据科学工作流程的**步是从现实世界发现并定义问题,即数据科学家需要在了解专业知识的基础上,提出能够通过数据科学解决的问题,实现数据驱动决策。在数据科学实践中,有时也可以在对已有数据的分析中发现规律,得到新的知识,在这种工作模式下,提出的问题往往更开放。
  (2)数据收集。收集数据并对原始数据进行处理,使之能够用于数据分析或者机器学习模式训练,是一个识别、收集、合并、预处理一个或多个数据集合的处理过程。数据收集的方式有很多种,有的甚至要付出高昂的成本和很长的时间,因此数据收集是一个需要规划和设计的过程,有时也需要在成本和分析精度之间做出妥协与平衡。
  (3)数据清洗。数据清洗是一个非常耗时的工作,主要包括缺失值的处理、错误数据的识别和排除等、离群值的识别和处理等。此外,对于一些非结构化数据还需要完成结构化工作。清洗后的数据可以保存在数据库中或以文件的形式(常用的如csv、excel、json等格式)保存。
  (4)数据准备。数据准备,又称为数据预处理。数据预处理的主要工作包括数据编码、数据标准化、特征选择等。由于不同的模型对数据预处理方法有特殊要求,因此在很多情况下数据预处理与建模之间往往有反复。
  (5)模型构建。建模阶段根据已有的数据和拟解决的问题构建模型。在建模过程中,一般分为两步:**步是探索性数据分析(exploratory data analysis,EDA),第二步是选择恰当的模型对数据进行分析。探索性数据分析涵盖的数据分析方法种类很多,对于连续数据*常见的分析就是直方图绘制和核密度估计,离散数据常见的是频数统计和分析。在探索性数据分析阶段还有一个常见的工作是对数据进行相关性分析,这有时也是去除明显不相关特征的常用方法。在探索性数据分析的过程中,可能还会发现数据中存在的重复、错误和缺失值,需要根据实际情况进行进一步的数据清洗,甚至有时还需要收集更多的数据。完成探索性数据分析后,数据的质量显著提高,基本可以满足建模的需要,接下来就可以进行数据建模和分析了。在数据科学中,*常用的数据建模方法就是机器学习,根据数据和问题
展开
目录
目录
前言
第1章 数据科学概论1
1.1 数据与大数据1
1.1.1 数据、信息和知识1
1.1.2 大数据3
1.2 数据科学及其工作流程概述4
1.2.1 数据科学概述4
1.2.2 数据科学工作流程4
习题6
第2章 Python基础7
2.1 Python概述7
2.1.1 计算机语言概述7
2.1.2 Python语言简介8
2.1.3 Python解释器及开发环境的安装9
2.2 Python基础12
2.2.1 Python基础语法12
2.2.2 Python复杂数据类型13
2.2.3 Python运算符19
2.2.4 Python控制语句20
2.3 函数和类的定义27
2.3.1 Python函数的定义和调用27
2.3.2 Python与面向对象编程30
2.4 Python包31
2.4.1 Python包的结构和导入31
2.4.2 Python常用包简介33
习题33
第3章 Python常用模块35
3.1 numpy与矩阵运算35
3.1.1 numpy多维数组基础35
3.1.2 数组索引39
3.1.3 数组运算40
3.1.4 numpy简单统计函数41
3.2 基于pandas的数据操纵与管理42
3.2.1 pandas基础43
3.2.2 DataFrame的切片和计算45
3.2.3 DataFrame数据运算48
3.2.4 数据的合并54
3.3 基于matplotlib和seaborn的数据可视化57
3.3.1 matplotlib数据可视化概述57
3.3.2 matplotlib数据可视化示例60
3.3.3 seaborn数据可视化67
3.4 基于sympy的符号计算74
3.4.1 sympy基础74
3.4.2 表达式操作75
3.4.3 积分与微分78
3.4.4 sympy方程求解81
3.4.5 sympy与函数可视化82
3.5 基于scipy的科学计算83
3.5.1 scipy线性代数84
3.5.2 数值积分86
3.5.3 插值87
习题91
第4章 基于Python的*优化92
4.1 *优化问题的形式化定义与分类92
4.2 基于scipy的函数优化93
4.2.1 无约束*优化93
4.2.2 约束*优化98
4.2.3 其他*优化算法101
4.3 基于cvxpy的凸优化建模与求解103
4.3.1 凸优化的基本概念104
4.3.2 cvxpy及凸优化问题求解106
4.3.3 凸优化问题实例116
4.4 基于gurobipy的数学规划建模与求解134
4.4.1 Gurobi简介134
4.4.2 基于gurobipy求解数学规划的步骤135
4.4.3 gurobipy建模与求解实例138
4.4.4 gurobipy中的常用问题转换技巧145
习题147
第5章 基于Python的统计分析148
5.1 scipy与统计分布148
5.1.1 基于scipy的基本统计分布148
5.1.2 主要离散分布简介149
5.1.3 主要连续分布简介153
5.1.4 抽样分布158
5.1.5 基本统计分析160
5.2 基于Python的分布参数估计163
5.2.1 参数的点估计164
5.2.2 参数的区间估计165
5.2.3 存在截尾数据的韦布尔分布参数估计实例167
5.3 假设检验169
5.3.1 假设检验的基本概念169
5.3.2 scipy中的假设检验170
5.4 基于Python的统计模型174
5.4.1 线性回归174
5.4.2 广义线性模型179
5.4.3 广义估计方程181
5.4.4 广义加性模型182
5.4.5 基于表达式的模型定义184
习题186
第6章 基于Python的机器学习187
6.1 机器学习概述187
6.1.1 机器学习及相关概念187
6.1.2 机器学习的结构189
6.1.3 基于Python的机器学习192
6.1.4 sklearn基础192
6.2 监督学习模型199
6.2.1 分类模型199
6.2.2 回归模型217
6.2.3 集成方法223
6.3 非监督学习算法229
6.3.1 聚类229
6.3.2 高斯混合模型234
6.3.3 流形学习235
6.3.4 信号成分分解237
6.3.5 异常检测239
6.4 机器学习模型选择和评估242
6.4.1 模型选择与评估242
6.4.2 超参数设置247
6.4.3 特征选择250
6.4.4 模型的保存和读取252
习题253
第7章 基于PyTorch的神经网络254
7.1 神经网络254
7.1.1 神经网络基本原理254
7.1.2 激活函数255
7.1.3 神经网络训练过程256
7.2 基于PyTorch的神经网络建模257
7.2.1 Torch简介258
7.2.2 变量和自动求导机制autograd259
7.3 PyTorch神经网络建模262
7.4 基于PyTorch的神经网络示例267
7.4.1 回归问题267
7.4.2 分类问题268
7.4.3 多项式拟合问题269
习题271
第8章 网络文本数据分析与实践272
8.1 网络文本数据分析概述272
8.1.1 网络数据分析的基本流程272
8.1.2 网络数据分析主要应用场景273
8.1.3 网络数据分析典型案例273
8.2 Web应用构成要素及工作流程275
8.2.1 网页构成要素276
8.2.2 Web访问请求和响应过程277
8.2.3 静态网页和动态网页280
8.2.4 审查网页元素282
8.3 基于Python的网络数据获取283
8.3.1 User-Agent283
8.3.2 基于urllib的网络数据获取284
8.3.3 基于requests包的网络数据获取287
8.4 网络数据解析289
8.4.1 正则表达式289
8.4.2 基于lxml的信息提取291
8.4.3 Beautiful Soup293
8.5 文本处理298
8.5.1 数据预处理298
8.5.2 中文分词300
8.5.3 去除停用词301
8.5.4 关键词分析302
8.6 文本数据建模与分析306
8.6.1 文本主题模型306
8.6.2 情感分析模型309
习题311
参考文献312
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

温馨提示:请使用泸西县图书馆的读者帐号和密码进行登录

点击获取验证码
登录