考虑的问题
- 操作系统
选择操作系统的问题,主要是Windows和Linux之间选择。Python是跨平台的语言,因此脚本可以跨平台运行。- 不同的平台运行效率不一样,一般来说,在Linux下的运行速度比Windows快,而且是对于数据分析和挖掘任务。此外,
- 在Linux下搭建Python环境相对来说容易一些,很多Linux发行版自带了Python程序,并且在Linux下更容易解决第三方库的依赖问题。当然,
- Linux的操作门槛较高,可以先在Windows环境下熟悉,然后再考虑迁移到Linux环境中。
- Python版本
python 3.x是对python2.x一个较大的更新,并且越来越多的主流库已经开始支持3.x版本。
基础平台的搭建
Python核心程序的安装,分为Windows和Linux介绍:最后介绍一个Python的科学计算发行版——Anaconda。
- Windows
在Windows系统中安装Python比较容易,直接到官方网站下载相应的msi安装包安装即可,和一般软件安装无异。 - Linux
大多数Linux发行版,如CentOS、Debian、Ubuntu等。 - Anaconda
Anaconda集成一些第三方扩展库,一个常用的科学计算发行版,避免安装一些第三库插件出错。Anaconda的特点如下: - 包含了众多流行的科学、数学、工程、数据分析的Python包。
- 完全开源和免费。
- 额外的加速、优化是收费的,但对于学术用途可以申请免费的License。
- 全平台支持:Linux、Windows、Mac。
因此,推荐安装此Python发行版。
第三方库的安装
Python自带了很多库,但不一定可以满足我们的需求。就数据分析和数据挖掘而言,还需要添加一些第三方的库来扩展它的功能。
Python数据分析工具
Python数据挖掘相关扩展库
相关扩展库简介
Numpy
Python并没有提供数组功能。虽然列表可以完成基本的数组功能,但它不是真正的数组,而且在数据量较大时,使用列表的速度就会慢得让人难以接受。为此,Numpy提供了真正的数组功能,以及对数据进行快速处理的函数。值得强调的是,Numpy内置函数处理数据的速度时C语言级别的,因此在编写程序的时候,应当尽量使用它们内置的函数,避免出现效率瓶颈的现象(尤其时涉及循环的问题)。
参考链接:
Pandas-1
Pandas是Python下最强大的数据分析和探索工具。它包含高级的数据结构和精确的工具,使得在Python中处理数据非常快速和简单。Pandas构建在Numpy之上,它使得以Numpy为中心的应用很容易使用。
Pandas的功能非常强大:
- 支持类似于SQL的数据增、删、查、改,并且带有丰富的数据处理函数
- 支持时间序列分析功能
- 支持灵活处理缺失数据
参考链接
Pandas-2
Pandas-3
Keras
虽然Scikit-learn足够强大,但是它并没有包含一种强大的模型——人工神经网络。人工神经网络是功能强大的、但是原理相当简单的模型,在语言处理、图像识别等领域有着重要的作用。“深度学习”算法,本质也就是一种神经网络。
Keras库来搭建神经网络。事实上,Keras并非简单的神经网络库,而是基于Theano的强大的深度学习库,利用它不仅仅可以搭建普通的神经网络,还可以搭建各种深度学习模型,如自编码器、循环神经网络、递归神经网络、卷积神经网络等。由于它是基于Theano的,因此速度也相当快。
参考链接:
Matplotlib
无论是数据挖掘还是数据挖掘,都免不了数据可视化的问题。对于Python来说,Matplotlib是最著名的绘图库,它主要用于二维绘图,当然它也可以进行简单的三维绘图。
参考链接:
Scikit Learn
一个机器学习相关的库,scikit-learn是Python下强大的机器学习库学习工具包,它提供了完善的机器学习工具箱,包括数据预处理、分类、回归、聚类、预测和模型分析等。
Scikit-learn依赖于Numpy、Scipy和Matplotlib,因此,需要提前安装好这几个库,然后安装Scikit-learn基本没有什么问题。
参考链接:
Scipy