python学习笔记第二十天------------数据分析之建模理论基础

一、工作环境准备及数据分析建模理论基础

1.1 Python版本

Python 2 or Python 3

  • Python 2.x 是早期版本,Python 3.x是当前版本
  • Python 2.7 (2.x的最终版)于2010年发布后很少有大的更新
  • Python 2.x 比 Python3.x 拥有更多的工具库
  • 大多数Linux系统默认安装的仍是 Python 2.x
  • 版本选择取决于要解决的问题

建议选择 Python 2.x 的情况:

  • 部署环境不可控,Python版本不能自行选择
  • 某些工具库还没有提供支持 Python 3.x。
  • 如果选择使用 Python 3.x,需要确定要用的工具库支持新版本。

1.2 Python环境及IDE

Python环境

Anaconda(水蟒):是一个科学计算软件发行版,集成了大量常用扩展包的环境,包含了 conda、Python 等 180 多个科学计算包及其依赖项,并且支持所有操作系统平台。下载地址:https://www.continuum.io/downloads

安装包:pip install xxx,conda install xxx

卸载包:pip uninstall xxx,conda uninstall xxx

升级包:pip install upgrade xxx,conda update xxx

IDE

Jupyter Notebook:

命令:jupyter notebook

  1. Anaconda自带,无需单独安装
  2. 实时查看运行过程
  3. 基本的web编辑器(本地)
  4. .ipynb 文件分享
  5. 可交互式
  6. 记录历史运行结果

IPython:

命令:ipython

  1. Anaconda自带,无需单独安装
  2. Python的交互式命令行 Shell
  3. 可交互式
  4. 记录历史运行结果
  5. 及时验证想法

Spyder:

命令:spyder

  1. Anaconda自带,无需单独安装
  2. 完全免费,适合熟悉Matlab的用户
  3. 功能强大,使用简单的图形界面开发环境

二、编码回顾和Python 3.x新特性

2.1 字符串编码格式回顾:

  • ASCII:早起计算机保存英文字符的编码方式
  • GB2312:对ASCII的中文扩展
  • GBK/GB18030:包括了GB2312的所有内容,同时又增加了近20000个新的汉字和符号
  • Unicode:包括了全球的符合和编码。每个字符用3~4个字节表示,浪费空间
  • UTF-8:可变长的编码方式,在互联网上使用最广泛的一种Unicode的实现方式,根据语种决定字符长度,如一个汉字3个字节,一个字母1个字节,也是Linux环境下默认编码格式。

2.2 Python3.x 常用的新特性

  • print() 是函数,不是一个语句

  • raw_input()输入函数,改为 input()

  • Python 3 对文本和二进制数据做了更为清晰的区分。

    1. 文本由unicode表示,为str类型
    2. 二进制数据由bytes (字节包)表示,为bytes类型
  • 新增数据类型 bytes (字节包),代表二进制数据以及被编码的文本字符串前有个前缀b

  • Python3中 bytes 与 str 转换

    1. str 可以编码(encode)成 bytes
    2. bytes 可以解码(decode)成 str
  • 字符串格式化输出方式:新增format()方式

  • dict类型变化

    之前的 iterkeys(), itervalues(), iteritems(),

    改为现在的 keys(), values(), items()

三、数据分析

3.1 什么是数据分析

​ 数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。这一过程也是质量管理体系的支持过程。在实用中,数据分析可帮助人们作出判断,以便采取适当行动。

3.2 数据分析的过程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qLLI3zlD-1581656978765)(file:///E:/BaiduNetdiskDownload/21-%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E8%B5%84%E6%96%99/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E8%B5%84%E6%96%99/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90v1.0%E8%AF%BE%E4%BB%B6/%E8%AF%BE%E4%BB%B6/file/images/DataAnalysis.png)]

1. 数据收集:本地数据或者网络数据的采集与操作。

2. 数据处理:数据的规整,按照某种格式进行整合存储。

3. 数据分析:数据的科学计算,使用相关数据工具进行分析。

4. 数据展现:数据可视化,使用相关工具对分析出的数据进行展示。

3.3 数据分析的工具

  • 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.1 大数据分析场景和模型应用

数据分析建模需要先明确业务需求,然后选择是 描述型分析 还是 预测型分析

  • 如果分析的目的是描述目标行为模式,就采用描述型数据分析,描述型分析就考虑 关联规则序列规则聚类 等模型。
  • 如果是预测型数据分析,就是量化未来一段时间内,某个事件的发生概率。有两大预测分析模型, 分类预测回归预测

4.2 常见的数据建模分类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YcHs1esf-1581656978766)(file:///E:/BaiduNetdiskDownload/21-%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E8%B5%84%E6%96%99/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E8%B5%84%E6%96%99/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90v1.0%E8%AF%BE%E4%BB%B6/%E8%AF%BE%E4%BB%B6/file/images/model.png)]

4.2.1 分类与回归

  • 分类:是通过已有的训练样本去训练得到一个最优模型,再利用这个模型将输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的,也就具有了对未知数据进行分类的能力。
  • 回归:是基于观测数据建立变量间适当的依赖关系,以分析数据内在的规律,得到响应的判断。并可用于预报、控制等问题。

应用:

信用卡申请人风险评估、预测公司业务增长量、预测房价,未来的天气情况等

原理:

  • 回归:用属性的 历史数据 预测未来趋势。算法首先假设一些已知类型的函数可以匹配目标数据,然后分析匹配后的误差,确定一个与目标数据匹配程度最好的函数。回归是对真实值的一种 逼近预测
  • 分类:将数据映射到 预先定义的 群组或类。算法要求基于数据 特征值 来定义类别,把具有某些特征的数据项映射到给定的某个类别上。分类并没有逼近的概念,最终正确结果只有一个。 在机器学习方法里,分类属于监督学习。

区别:

分类模型采用 离散预测值,回归模型采用 连续的预测值

4.2.2 聚类

  • 聚类:就是将相似的事物聚集在一起,不相似的事物划分到不同的类别的过程。
  • 聚类分析:又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法,同时也是数据挖掘的一个重要算法。

应用:

根据症状归纳特定疾病、发现信用卡高级用户、根据上网行为对客户分群从而进行精确营销等。

原理:

在没有给定划分类的情况下,根据信息相似度进行信息聚类。

聚类的输入是一组 未被标记的数据,根据样本特征的距离或相似度进行划分。划分原则是保持最大的组内相似性和最小的组间相似性。

不同于分类,聚类事先 没有任何训练样本,直接对数据进行建模。聚类分析的目标,就是在相似的基础上收集数据来分类。 在机器学习方法里,聚类属于无监督学习。

4.2.3 时序模型

  • 不管在哪个领域中(如金融学、经济学、生态学、神经科学、物理学等),时间序列(time series)数据都是一种重要的结构化数据形式。在多个时间点观察或测量到的任何事物,都可以形成一段时间序列。时间序列大多都是固定频率的,数据点将根据某种规律定期出现。

应用:

下个季度的商品销量或库存量是多少?明天用电量是多少?今天的地铁13号线的人流情况?

原理:

描述 基于时间或其他序列的 经常发生的规律或趋势,并对其建模。 与回归一样,用已知的数据预测未来的值,但这些数据的区别是 变量所处时间的不同。重点考察数据之间在 时间维度上的关联性

发布了46 篇原创文章 · 获赞 27 · 访问量 8552

猜你喜欢

转载自blog.csdn.net/zenghongju/article/details/104310520
今日推荐