python — 大数据挖掘和分析简述


大数据的4V特点:

  Volume(大量):数据巨大。
  Velocity(高速):数据产生快,每一天每一秒全球人产生的数据足够庞大且数据处理也逐渐变快。
  Variety(多样):数据格式多样化,如音频数据、文本数据等
  Value(价值):通过收集大量数据不相关数据探查并证明其两者之间的关联性,所产生的价值,如买啤酒的人通常会购买尿布的案例。

     

数据分析流程

  一般可以按“数据获取-数据存储与提取-数据预处理-数据建模与分析-数据可视化”这样的步骤来实施一个数据分析项目。按照这个流程,每个部分需要掌握的细分知识点如下:

  我们可以通过以下的工具包,来实现整个数据分析的流程:numpy(科学计算/矩阵)、Pandas(数据处理/分析)、Matplotlib(数据图表)、seaborn(数据可视化)等。

  数据分析中80%的时间都是在数据清理部分,loading, clearning, transforming, rearranging。而pandas非常适合用来执行这些任务。

  

数据分析的模块有哪些:

  1. numpy 高效处理数据,提供数组支持,很多模块都依赖它,比如pandas,scipy,matplotlib都依赖他,所以这个模块都是基础。所以必须先安装numpy。
  2. pandas 主要用于进行数据的采集与分析
  3. scipy 主要进行数值计算。同时支持矩阵运算,并提供了很多高等数据处理功能,比如积分,微分方程求样等。
  4. matplotlib 作图模块,结合其他数据分析模块,解决可视化问题
  5. statsmodels 这个模块主要用于统计分析
  6. Gensim 这个模块主要用于文本挖掘
  7. sklearn,keras 前者机器学习,后者深度学习。

数据获取:公开数据、Python爬虫

  外部数据的获取方式主要有以下两种。

  •   第一种是获取外部的公开数据集,一些科研机构、企业、政府会开放一些数据,你需要到特定的网站去下载这些数据。这些数据集通常比较完善、质量相对较高。
  •   另一种获取外部数据的方式就是爬虫。

  比如你可以通过爬虫获取招聘网站某一职位的招聘信息,爬取租房网站上某城市的租房信息,爬取豆瓣评分评分最高的电影列表,获取知乎点赞排行、网易云音乐评论排行列表。基于互联网爬取的数据,你可以对某个行业、某种人群进行分析。

  在爬虫之前你需要先了解一些 Python 的基础知识:元素(列表、字典、元组等)、变量、循环、函数………

  以及,如何用 Python 库(urllib、BeautifulSoup、requests、scrapy)实现网页爬虫。

  掌握基础的爬虫之后,你还需要一些高级技巧,比如正则表达式、使用cookie信息、模拟用户登录、抓包分析、搭建代理池等等,来应对不同网站的反爬虫限制。

数据存取:SQL语言

  在应对万以内的数据的时候,Excel对于一般的分析没有问题,一旦数据量大,就会力不从心,数据库就能够很好地解决这个问题。而且大多数的企业,都会以SQL的形式来存储数据。

  SQL作为最经典的数据库工具,为海量数据的存储与管理提供可能,并且使数据的提取的效率大大提升。你需要掌握以下技能:

  •   提取特定情况下的数据
  •   数据库的增、删、查、改
  •   数据的分组聚合、如何建立多个表之间的联系
  •   数据预处理:Python(pandas)
  •   很多时候我们拿到的数据是不干净的,数据的重复、缺失、异常值等等,这时候就需要进行数据的清洗,把这些影响分析的数据处理好,才能获得更加精确地分析结果。
  •   对于数据预处理,学会 pandas (Python包)的用法,应对一般的数据清洗就完全没问题了。需要掌握的知识点如下:
  •   选择:数据访问
  •   缺失值处理:对缺失数据行进行删除或填充
  •   重复值处理:重复值的判断与删除
  •   异常值处理:清除不必要的空格和极端、异常数据
  •   相关操作:描述性统计、Apply、直方图等
  •   合并:符合各种逻辑关系的合并操作
  •   分组:数据划分、分别执行函数、数据重组
  •   Reshaping:快速生成数据透视表

  

概率论及统计学知识

  需要掌握的知识点如下:

  •   基本统计量:均值、中位数、众数、百分位数、极值等
  •   描述性统计量:偏度、方差、标准差、显着性等
  •   统计知识:总体和样本、参数和统计量、ErrorBar
  •   概率分布与假设检验:各种分布、假设检验流程
  •   概率论知识:条件概率、贝叶斯等

  有了统计学的基本知识,你就可以用这些统计量做基本的分析了。你可以使用 Seaborn、matplotlib 等(python包)做一些可视化的分析,通过各种可视化统计图,并得出具有指导意义的结果。

  

Python 数据分析

  掌握回归分析的方法,通过线性回归和逻辑回归,其实你就可以对大多数的数据进行回归分析,并得出相对精确地结论。这部分需要掌握的知识点如下:

  •   回归分析:线性回归、逻辑回归
  •   基本的分类算法:决策树、随机森林……
  •   基本的聚类算法:k-means……
  •   特征工程基础:如何用特征选择优化模型
  •   调参方法:如何调节参数优化模型

  Python 数据分析包:scipy、numpy、scikit-learn等

  在数据分析的这个阶段,重点了解回归分析的方法,大多数的问题可以得以解决,利用描述性的统计分析和回归分析,你完全可以得到一个不错的分析结论。

  当然,随着你实践量的增多,可能会遇到一些复杂的问题,你就可能需要去了解一些更高级的算法:分类、聚类。

  然后你会知道面对不同类型的问题的时候更适合用哪种算法模型,对于模型的优化,你需要去了解如何通过特征提取、参数调节来提升预测的精度。

  你可以通过 Python 中的 scikit-learn 库来实现数据分析、数据挖掘建模和分析的全过程。