广义的数据分析包括狭义数据分析和数据挖掘(详见下图) 狭义的数据分析是指根据分析目的,采用对比分析、分组分析、交叉分析和回归分析等分析方法,对收集来的数据进行处理与分析,提取有价值的信息,发挥数据的作用,得到一个特征统计量结果的过程。 数据挖掘则是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,通过应用聚类、分类、回归和关联规则等技术,挖掘潜在价值的过程。
目前主流的数据分析语言有R、Python、MATLAB三种程序语言,我们从语言学习难易程度、使用场景、第三方支持库、流行领域、以及软件成本这几个方面来考虑。Python相比于其R、MATLAB语言而言,应用更广泛一点,成为了数据科学、机器学习、学界和工业界软件开发最重要的语言之一。同时随着第三方库的不断改进,使其成为数据分析任务的一个优选方案。结合其在通用编程方面的强大实力,我们完全可以只使用Python这一种语言构建以数据为中心的应用。 Python 数据分析主要包含以下 5 个方面优势 1、语法简单精练。对于初学者来说,比起其他编程语言,Python更容易上手。 2、有很强大的库。可以只使用Python这一种语言去构建以数据为中心的应用程序。 3、功能强大。Python是一个混合体,丰富的工具集使它介于传统的脚本语言和系统语言之间,Python不仅具备所有脚本语言简单和易用的特点,还提供了编译语言所具有的高级软件工程工具。 4、不仅适用于研究和原型构建,同时也适用于构建生产系统。研究人员和工程技术人员使用同一种编程工具,会给企业带来非常显著的组织效益,并降低企业的运营成本。 5、Python是一门胶水语言。Python程序能够以多种方式轻易地与其他语言的组件“粘接”在一起。
是Python科学计算的基础包,都是基于Numpy构建其他的库, 主要功能:
快速高效的多维数组对象ndarray。用于对数组执行元素级计算以及直接对数组执行数学运算的函数。 用于读写硬盘上基于数组的数据集的工具。线性代数运算、傅里叶变换,以及随机数生成的功能 C、C++、Fortran 代码集成到 Python 的工具。成熟的API,用于Python插件和原生C、C++、Fortran代码访问NumPy的数据结构和计算工具。除了为Python提供快速的数组处理能力,NumPy在数据分析方面还有另外一个主要作用,即作为在算法和库之间传递数据的容器。对于数值型数据,NumPy数组在存储和处理数据时要比内置的Python数据结构高效得多。数据分析核心库,提供了快速便捷处理结构化数据的大量数据结构和函数 主要功能:
提供了一系列能够快速、便捷地处理结构化数据的数据结构和函数。高性能的数组计算功能以及电子表格和关系型数据库(如SQL)灵活的数据处理功能。复杂精细的索引功能,以便便捷地完成重塑、切片和切块、聚合及选取数据子集等操作。有标签轴的数据结构,支持自动或清晰的数据对齐。这可以防止由于数据不对齐,或处理来源不同的索引不同的数据,所造成的错误。 集成时间序列功能。相同的数据结构用于处理时间序列数据和非时间序列数据。 保存元数据的算术运算和压缩。 灵活处理缺失数据。合并和其它流行数据库(例如基于SQL的数据库)的关系操作。绘制数据图表的 Python 库
Python的2D绘图库,非常适合创建出版物上用的图表。操作比较容易,只需几行代码即可生成直方图、功率谱图、条形图、错误图和散点图等图形。提供了pylab的模块,其中包括了NumPy和pyplot中许多常用的函数,方便用户快速进行计算和绘图。交互式的数据绘图环境,绘制的图表也是交互式的。专门解决科学计算中各种标准问题域的模块的集合 SciPy 主要包含了 8 个模块,不同的子模块有不同的应用,如插值、积分、优化、图像处理和特殊函数等。 scipy.integrate 数值积分例程和微分方程求解器 scipy.linalg 扩展了由 numpy.linalg 提供的线性代数例程和矩阵分解功能 scipy.optimize 函数优化器(最小化器)以及根查找算法 scipy.signal 信号处理工具 scipy.sparse 稀疏矩阵和稀疏线性系统求解器 scipy.special SPECFUN(这是一个实现了许多常用数学函数的 Fortran 库)的包装器 scipy.stats 检验连续和离散概率分布、各种统计检验方法,以及更好的描述统计法 scipy.weave 利用内联 C++代码加速数组计算的工具
数据挖掘和数据分析工具
简单有效,可以供用户在各种环境下重复使用。封装了一些常用的算法方法。基本模块主要有数据预处理、模型选择、分类、聚类、数据降维和回归 6个,在数据量不大的情况下,scikit-learn可以解决大部分问题。