python数据分析&挖掘,机器学习环境配置
一.什么是数据分析
1.这里引用网上的定义:
数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。
2.数据分析发展与组成
数据分析的数学基础在20世纪早期就已确立,但直到计算机的出现才使得实际操作成为可能,并使得数据分析得以推广。数据分析是数学与计算机科学相结合的产物。
常用的分析工具是Excel。
数据分析过程的主要活动由识别信息需求、收集数据、分析数据、评价并改进数据分析的有效性组成。
3.特点
多维性和描述性
它们通常与数据可视化工具进行配套使用。
二.python数据分析环境及各类常用分析包配置
1.处理的数据类型
主要是结构化数据,包括表格型的数据,多维数组(矩阵),数据库多表结构等。
又是根据需要,可以把数据集转换为一个更易分析,建模的结构形式。
2.为什么选择python
在python中,有好多已经很完善的类库,而且很容易整合C,C++和FORTRAN等语言的代码,并配合很好的算法进行数据操作。
其实python也有很多缺点,这里先忽略它们,下面向大家介绍一些python重要的数据分析库。
三.python数据分析环境安装
1.Ipython
(1)简介
IPython是一个交互式计算系统。又是一个更具交互性的python解释器,其本身并不提供任何计算或数据分析工具,它主要是提供了一个环境,而且比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。
可以用cmd启动ipython
不过一般的话还是在anaconda中启动ipython。
它的工作流是执行-探索。并不仅仅可以使用python,其他语言也针对Juptyter实现了内核,允许在Jupyter中使用多种语言。
那么什么是Jupyter呢?
(2)安装方法如下
直接用pip进行安装:
pip install ipython
2.Jupyter
(1)简介
全称Jupyter Notebook是一个交互式笔记本,支持运行 40 多种编程语言。
本质:是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。
用途包括:数据分析,清理和转换,数值模拟,统计建模,机器学习等等。
其实,在Jupyter Notebook 中,代码可以实时的生成图像,视频,LaTeX和JavaScript。
Jupyter Notebooks 成了数据科学家最常用的工具之一。
(2)安装
官网上有详细教程https://jupyter.org/install
用pip,或者使用Anaconda安装Jupyter
打开Jupyter:
然后自动跳转到网页,就可以编辑了:
可以先跳转到指定文件夹,然后再打开jupyter notebook:
会生成这些文件:
3.Anaconda安装器
(1)简介
Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。
它其实就是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,即可以很方便的切换不同的版本(包括各个版本的python和各个版本的类库),并能够在不同的环境之间切换。
Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等。
它是适用于企业级大数据分析的Python工具。其包含了720多个数据科学相关的开源包,在数据可视化、机器学习、深度学习等多方面都有涉及。不仅可以做数据分析,甚至可以用在大数据和人工智能领域。
安装完anaconda,就相当于安装了Python、IPython、集成开发环境Spyder、一些包等等。
可以理解为,一个python环境中需要有一个解释器, 和一个包集合。
(2)安装
进入官网https://www.anaconda.com/
安装后会有下面的应用
- Anaconda Navigtor :用于管理工具包和环境的图形用户界面,后续涉及的众多管理命令也可以在 Navigator 中手工实现。
- Jupyter notebook :基于web的交互式计算环境,可以编辑易于人们阅读的文档,用于展示数据分析的过程。
- qtconsole :一个可执行 IPython 的仿终端图形界面程序,相比 Python Shell 界面,qtconsole 可以直接显示代码生成的图形,实现多行代码输入执行,以及内置许多有用的功能和函数。
- spyder :一个使用Python语言、跨平台的、科学运算集成开发环境。
有时候有问题,可能是环境路径问题。
在windows下,在计算机->右键选择属性->高级系统设置->环境变量->系统变量->path。在path中加入anaconda安装的目录就可以了。
安装后在cmd中输入conda --version,会看到版本:
或者直接进入Anaconda Prompt终端:
用conda list列出已经安装的所有库:
有关不同的环境的创建,在下一个教程会介绍。
4.Jupyter与集成开发环境与文本编辑器
一般在Juptyter中进行交互式操作,在集成开发环境(IDE)中进行大型数据处理,在文本编辑器中进行简单操作。
三.常用数据分析包
1.NumPy
NumPy是使用Python进行科学计算的基础包。 它包含:
- 一个强大的N维数组对象
- 复杂的(广播)功能
- 用于集成C / C ++和Fortran代码的工具
- 有用的线性代数,傅里叶变换和随机数功能
作用:这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多。
numpy和稀疏矩阵运算包scipy配合使用更加方便。
2.pandas
pandas 是 是python的一个数据分析包,是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
数据结构如下:
- Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近。Series如今能保存不同种数据类型,字符串、boolean值、数字等都能保存在Series中。
- Time- Series:以时间为索引的Series。
- DataFrame:二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。
- Panel :三维的数组,可以理解为DataFrame的容器。
3.matplotlib
Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。
可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。
4.sciPy
SciPy是一款方便、易于使用、专为科学和工程设计的Python工具包.它包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等等.
5.scikit-learn
它是一个机器学习工具包,在后面会介绍。
6.statsmodels
Statsmodels是Python的统计建模和计量经济学工具包,包括一些描述统计、统计模型估计和推断。
这些库在anaconda中都有,安装了anaconda安装器,相当于把这些都安装上去了。