一. 什么是数据分析与挖掘?
从数据中挖掘出隐含的,未知的,有潜在价值的关系,模式和趋势,并用这些知识建立用于决策的模型,来提供预测性的方法,就是数据挖掘。简单来说,就是从大量数据中找到有价值的信息。
二. 数据挖掘建模过程
- 定义挖掘目标:挖掘前必须要清楚自己要获取什么信息,到底想要干什么。
- 数据取样:从业务系统中,抽取数据样本,而不是动用全部数据,同时要保证样本的可靠性。
- 数据探索:了解数据的大概状态以及直观的规律和趋势,简单的周期性分析和缺失异常值分析。
- 数据预处理:数据筛选,处理异常值,缺失值,数据转化等,为接下来的挖掘做质量保证。
- 挖掘建模:根据问题的不同,选用不同的算法建模。
- 模型评价:找出最好的模型。
三. Python为什么适合做数据分析?
从我个人的角度来看,主要是以下几点原因:
- Python是动态编程语言,语法简单。
- 科学计算库很多,很全面,效率也不错。
- 免费,这才是重点!
四. Python不适合的场景
Python不是万能的,它是一种脚本语言(简陋的小程序),虽然可以构建庞杂的系统,但存在他的局限性:
- Python是解释型语言,运行时间要比编译型语言慢得多。
- Python有一个全局解释器锁(GIL),不适合做高并发。
五. Python科学计算的常用库(学习路线)
初识Python的时候感觉很迷茫,完全找不到方向,这里简单讨论一下,科研工作者常用的库,给其他小白们一个微弱的方向,不过要相信,计算机的学习之路,暴雨后还会有更大的暴雨。那么言归正传:
- Numpy
Python不提供数组功能(列表不是标准数组,效率很低),numpy填补了这个缺口,提供了数组功能以及相关函数,它是Python科学计算的基础,许多库都是基于Numpy衍生出来的。 - Scipy
在Numpy的基础上,scipy提供了矩阵运算功能,它是更加复杂且高效的科学计算函数库,支持比如微积分,离散概率,线代函数等等。 - Matplotlib
画图,将处理好的数据,用图表的形式表现出来,还可以画地理图形,基本可以媲美ArcGis。 - Pandas
《利用Python进行数据分析》中是这样描述pandas的,‘pandas提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数’。说通俗点,就是读取结构化的数据文件,并且处理数据。它的核心功能就是数据分析和探索。Pandas能读取和处理的数据量很大很大。 - StatsModels:pandas应用于数据读取,处理与探索;而statsModels更注重统计建模,而且支持与pandas交互,是挖掘的重要工具。
- Scikit-learn 机器学习相关库,不包含神经网络。
- Keras:神经网络深度学习库。
六. 新手搞不清楚的名词
Python与IPython
- Python是一门语言。
- IPython与Python shell相对应,是Python语言的一个交互式的开发环境,相对于标准的Python Shell,IPyhton提供了更加友好的开发辅助功能,如自动补全等。