Python数据科学库(一)数据分析环境准备
1. 工作环境准备
1.1 Python环境准备
Anaconda:是一个科学计算软件发行版,集成了大量常用扩展包的环境,包含了 conda、Python 等 180 多个科学计算包及其依赖项,并且支持所有操作系统平台。
安装包:pip install xxx,conda install xxx
卸载包:pip uninstall xxx,conda uninstall xxx
升级包:pip install upgrade xxx,conda update xxx
IDE:
- Jupyter Notebook:
Anaconda自带,无需单独安装
实时查看运行过程
基本的web编辑器(本地)
.ipynb 文件分享
可交互式
记录历史运行结果 - IPython:
Anaconda自带,无需单独安装
Python的交互式命令行 Shell
可交互式
记录历史运行结果
及时验证想法 - Spyder:
Anaconda自带,无需单独安装
完全免费,适合熟悉Matlab的用户
功能强大,使用简单的图形界面开发环境
PyCharm:https://www.jetbrains.com/pycharm/download
2. Python3新特性和字符串编码格式
2.1 Python3新特性
- print() 是函数,不是一个语句
- raw_input()输入函数,改为 input()
- Python 3 对文本和二进制数据做了更为清晰的区分:文本由unicode表示,为str类型
二进制数据由bytes (字节包)表示,为bytes类型 - 新增数据类型 bytes (字节包),代表二进制数据以及被编码的文本字符串前有个前缀b
- Python3中 bytes 与 str 转换:str 可以编码(encode)成 bytes;bytes 可以解码(decode)成 str
- 字符串格式化输出方式:新增format()方式
- dict类型变化
2.2 字符串编码格式
ASCII
:早期计算机保存英文字符的编码方式
GB2312
:对ASCII的中文扩展
GBK/GB18030
:包括了GB2312的所有内容,同时又增加了近20000个新的汉字和符号
Unicode
:包括了全球的符合和编码。每个字符用3~4个字节表示,浪费空间
UTF-8
:可变长的编码方式,在互联网上使用最广泛的一种Unicode的实现方式,根据语种决定字符长度,如一个汉字3个字节,一个字母1个字节,也是Linux环境下默认编码格式。
3. DIKW模型与数据工程
3.1 数据分析中的DIKW模型
D:Data (数据),是 DIKW 体系中最低级的材料,一般指原始数据,包含(或不包含)有用的信息。
I:Information (信息),作为一个概念,信息有着多种多样的含义。在数据工程里,表示由数据工程师(使用相关工具)或者 数据科学家(使用数学方法),按照某种特定规则,对原始数据进行整合提取后,找出来的更高层数据(具体数据)。
K:Knowledge (知识),是对某个主题的确定认识,并且这些认识拥有潜在的能力为特定目的而使用。在数据工程里,表示对信息进行针对性的实用化,让提取的信息可以用于商业应用或学术研究。
W:Wisdom (智慧),表示对知识进行独立的思考分析,得出的某些结论。在数据工程里,工程师和科学家做了大量的工作用计算机程序尽可能多地提取了价值(I/K),然而真正要从数据中洞察出更高的价值,甚至能够对未来的情况进行预测,则需要数据分析师。
3.2 数据分析的过程和工具
过程:
- 数据收集:本地数据或者网络数据的采集与操作.
- 数据处理:数据的规整,按照某种格式进行整合存储。
- 数据分析:数据的科学计算,使用相关数据工具进行分析。
- 数据展现:数据可视化,使用相关工具对分析出的数据进行展示。
工具:
SAS:SAS(STATISTICAL ANALYSIS SYSTEM,简称SAS)公司开发的统计分析软件,是一个功能强大的数据库整合平台。价格昂贵,银行或者大企业才买的起,做离线的分析或者模型用。
SPSS:SPSS(Statistical Product and Service Solutions,统计产品与服务解决方案)是IBM公司推出的一系列用于统计学分析运算、数据挖掘、预测分析和决策支持任务的产品,迄今已有40余年的成长历史,价格昂贵。
R/MATLAB:适合做学术性质的数据分析,在实际应用上需要额外转换为Python或Scala来实现,而且MATLAB(MathWorks公司出品的商业数学软件)是收费的。
Scala:是一门函数式编程语言,熟练使用后开发效率较高,配合Spark适合大规模的数据分析和处理,Scala的运行环境是JVM。
Python:Python在数据工程领域和机器学习领域有很多成熟的框架和算法库,完全可以只用Python就可以构建以数据为中心的应用程序。在数据工程领域和机器学习领域,Python非常非常流行。
4. 数据分析建模基础
大数据分析场景:
数据分析建模需要先明确业务需求,然后选择是描述型分析还是预测型分析:
- 如果分析的目的是描述目标行为模式,就采用描述型数据分析,描述型分析就考虑 关联规则、 序列规则 、 聚类 等模型。
- 如果是预测型数据分析,就是量化未来一段时间内,某个事件的发生概率。有两大预测分析模型, 分类预测 和 回归预测。
常见的数据分析应用场景如下:
- 市场营销
营销响应分析建模(逻辑回归,决策树)
净提升度分析建模(关联规则)
客户保有分析建模(卡普兰梅尔分析,神经网络)
购物蓝分析(关联分析Apriori)
自动推荐系统(协同过滤推荐,基于内容推荐,基于人口统计推荐,基于知识推荐,组合推荐,关联规则)
客户细分(聚类)
流失预测(逻辑回归) - 风险管理
客户信用风险评分(SVM,决策树,神经网络)
市场风险评分建模(逻辑回归和决策树)
运营风险评分建模(SVM)
欺诈检测(决策树,聚类,社交网络)
…