前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python数据分析与实战挖掘

Python数据分析与实战挖掘

作者头像
企鹅号小编
发布2018-02-07 15:53:24
3.6K0
发布2018-02-07 15:53:24
举报
文章被收录于专栏:企鹅号快讯企鹅号快讯

基础篇

书推荐:《用python做科学计算》

扩展库 简介

Numpy数组支持,以及相应的高效处理函数

Scipy矩阵支持,以及相应的矩阵数值计算模块

Matplotlib强大的数据可视化工具、作图库

Pandas强大、灵活的数据分析和探索工具

StatsModels 统计建模和计量经济学,包括描述统计、统计模型估计和推断

Scikit-Learn支持回归、分类、聚类等的强大机器学习库

Keras深度学习库,用于建立神经网络以及深度学习模型

Gensim 文本主题模型的库,文本挖掘用

----- 贵阳大数据认证 -----

Numpy

提供了数组功能,以及对数据进行快速处理的函数。是Scipy、Matplotlib、Pandas等高级扩展库的依赖库。其内置函数处理速度是C语言级别的。

Scipy

包含最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程常用的计算

Matplotlib

提供二维绘图,也可以三维绘图,与Matlab相似但更为丰富

使用时如果使用中文无法正常显示,需要作图前手动指定默认字体为中文,如SimHei

Pandas

python下最强大的数据分析和探索工具。构建在Numpy之上。

支持类似于SQL的增删改查,有丰富的数据处理函数,支持时间序列分析功能,支持灵活处理缺失数据等

Pandas基本的数据结构实Series和DataFrame,序列(一维数组)和表格(二维数组)

StatsModels

Pandas着眼于数据的读取、处理和探索;而StatsModels更注重数据统计建模分析(R的味道)

StatsModels和Pandas——python最强数据挖掘组合

Scikit-Learn

机器学习库,包括数据预处理、分类、回归、聚类、预测和模型分析等;依赖于NumPy、SciPy、Matplotlib

Keras

Scikit-Learn没有人工神经网络模型,Keras用于搭建神经网络,是一个机遇Theano的深度学习库。

安装Keras前需要安装Numpy、Scipy和Theano,安装Theano要先准备一个C++编译器。在windows下需要先安装MinGW(Windows下的GCC和G++),然后安装Theano,最后Kera。如果要实现GPU加速还要配置CUDA

Gensim

用于处理语言方面的任务,如文本相似度计算、LDA、Word2Vec等

--贵阳大数据培训--

数据探索

1、数据质量分析:检查原始数据中是否存在不符合要求的数据。主要包括缺失值、异常值、不一致值、重复数据及特殊符号数据

缺失值,包括记录缺失和记录的某字段缺失等

产生原因:无法获取、遗漏、属性值不存在;

影响:有用信息缺乏、不确定性加重、不可靠

异常值,不合常理的数据,剔除可消除不良影响,分析可进行改进。异常值分析也称离群点分析。

常用的分析方法:简单统计量分析(如max、min);3σ原则(99.7%);箱型图(QL-1.5IQR,QU+1.5IQR)

一致性分析:直属局矛盾性、不相容性

产生原因:数据集成过程中,数据来自不同数据源,存放等未能进行一致性更新

2、数据特征分析

分布分析:数据分布特征与分布类型

定量数据分布分析:求极差(其最大值与最小值之间的差距;即最大值减最小值后所得之数据)——决定组距和组数——决定分点——列频率分布表——绘频率分布直方图

定性数据分布分析:采用分类类型来分组,用饼图或条形图来描述分布

对比分析:两个指标进行比较,展示说明大小水平高低,速度快慢,是否协调等

绝对数比较

相对数比较:结构相对数(比重),比例相对数(比值),比较相对数(同类不同背景),强度相对数(密度),计划完成程度相对数,动态相对数

统计量分析:统计描述

集中趋势:均值、中位数、众数

离中趋势:极差、标准差、变异系数(CV=标准差/平均值*100%)、四分位数间距(上下四分位数之差)

周期性分析:是否随时间呈周期变化趋势

贡献度分析:又称帕累托分析,原理是帕累托法则,又称20/80定律。同样的投入在不同的地方产生不同的收益。

相关性分析

直接绘制散点图

绘制散点图矩阵,对多个变量两两关系的散点图

计算相关系数,[1]Pearson相关系数(要求数据服从正态分布);[2]Spearman秩相关系数。两者都要经过假设检验,t检验方法检验其显著性水平以确定其相关成。正态分布下,二者效率等价。对连续测量值,更适合pearson相关系数。[3]判定系数r²

3、主要函数

主要是Pandas用于数据分析和Matplotlib用于数据可视化

《贵阳大数据分析师培训机构 》

Pandas主要统计特征函数

sum 总和(按列)

mean 算数平均值

var 方差

std 标准差

corr Spearman/Pearson相关系数矩阵

cov 协方差矩阵

skew 偏度(三阶矩)

kurt 峰度(四阶矩)

describe 基本描述

《贵州数据分析培训班》

cumsum 依次给出前1-n个数的和

cumprod 依次给出前1-n个数的积

cummax 。。。最大值

cummin 。。。最小值

rolling_sum(D,n)、rolling_mean。。。。D中相邻n个数的计算特征

《贵州大数据培训机构 》

统计作图函数,基于Matplotlib

Python主要统计作图函数

《贵阳大数据报名学习 》

plot 绘制线性二维图,折线图

pie 绘制饼图

hist 绘制二维条形直方图

boxplot 绘制箱型图 Pandas

plot(logy=True) 绘制y轴的对数图形 Pandas

plot(yerr=error) 绘制误差条形图 Pandas

《贵阳大数据培训中心》

作图前通常要加上以下代码

import matplotlib.pyplot as plt #导入图像库

plt.rcParams[‘font.sans-serif’] = [‘SimHei’] #用来正常显示中文标签

plt.rcParams[‘axes.unicode_minus’] = False #用来正常显示负号

plt.figure(figsize=(7,5))#创建图像区域,指定比例

完成后用plt.show()显示

数据预处理

数据清洗:删除原始数据集中的无关数据、重复数据、平滑噪声数据,处理缺失值、异常值等

缺失值处理

删除记录、数据插补、不处理

常用插补方法

《贵阳数据分析人才培训》

均值/中位数/众数 根据属性值类型,取均值、中位数、众数进行插补

使用固定值 将缺失属性用常量替代

最近邻插补法 在记录中找到与缺失样本最接近的样本的该属性值进行插补

回归方法 根据已有数据和与其有关的其他变量数据建立拟合模型来预测

插值法 建立合适的插值函数f(x),未知值计算得到。

拉格让日插值法、牛顿插值法。前者不灵活,增删节点要重来。Scipy库中提供前者。

例:将异常点取空,然后取缺值点前后5个值进行拉格朗日插值

异常值处理:异常值是否剔除看情况,因为有些异常值可能含有有用信息

常用异常值处理方法

删除记录 直接删除

视为缺失值 视为缺失值进行缺失值的处理

平均值修正 取前后两个正常值的平均

不处理 判断其原因,若无问题直接使用进行挖掘

《贵阳大数据培训中心》

数据集成:将多个数据源合并存在一个一致的数据存储中,要考虑实体识别问题和属性冗余问题,从而将数据在最低层上加以转换、提炼和集成

实体识别:同名异义、异名同义、单位不统一

冗余属性识别:多次出现、同属性不同名导致重复

数据变换:对数据规范化处理

简单函数变换,如平方、开方、对数、差分运算

规范化,也称归一化,消除量纲和取值范围的差异,进行标准化处理。映射到[-1,1]或[0,1]内。

[1]最小-最大规范化,也称离差标准化。x*=(x-min)/(max-min);缺点:异常值影响;之后的范围限制在[min,max]中

[2]零-均值规范化,也称标准差规范化,处理后[0,1]。x*=(x-mean)/std

[3]小数定标规范化,移动属性值小数位,映射到[-1,1]。x*=x/10^k

离散化过程就是在取值范围内设立若干个离散花粉店,将取值范围划分为离散区间

等宽法、等频发、基于聚类分析方法

属性构造

小波变换:信号分析手段,小波分析的理论和方法在信号处理、图像处理、语音处理、模式识别、量子物理等领域得到越来越广泛的应用

数据规约:产生更小且保持数据完整性的新数据集。意义在于降低无效、错误数据;降低存储成本;少量且具有代表性的数据大幅加快。

属性规约:属性合并或删除无关维,目标是寻找最小子集使子集概率分布尽可能与原来相同

属性规约常用方法

《贵州大数据培训》

合并属性 将就属性合并为新属性 ——

逐步向前选择 从空集开始,逐个加入最优属性,直到无最优或满足条件 {}——

逐步向后删除 从全集开始,每次删除最差属性,直到无最差或满足阈值

决策树归纳 利用决策树归纳能力进行分类,删除未出现的属性,即效果差的属性

主成分分析 用少量变量解释大部分变量,保留大部分信息,将相关性高的数据转为彼此独立

数值规约:通过选择替代的、较小的数据来较少数据量,包括有参数(回归、对数线性模型)和无参数方法(直方图、聚类、抽样)

Python主要数据预处理函数

《贵阳大数据培训》

interpolate 一维、高维插值,如拉格朗日、样条插值等 Scipy

unique 去除重复 Pandas/Numpy

isnull 判断是否为空 Pandas

notnull 判断是否非空 Pandas

PCA 主成分分析 Scikit-Learn

random 生成随机矩阵 Numpy

挖掘建模

分类与预测

主要分类与预测算法

回归分析 确定预测值与其他变量关系。线性、非线性、Logistic、岭回归、主成分回归等

决策树 自顶向下分类

人工神经网络 用神经网络表示输入与输出之间的关系

贝叶斯网络 又称信度网络,是不确定知识表达和推理领域最有效的理论模型之一

支持向量机 将低维非线性可分转化为高维线性可分进行分析

常用插补方法

《 贵阳数据分析师》

均值/中位数/众数 根据属性值类型,取均值、中位数、众数进行插补

使用固定值 将缺失属性用常量替代

最近邻插补法 在记录中找到与缺失样本最接近的样本的该属性值进行插补

回归方法 根据已有数据和与其有关的其他变量数据建立拟合模型来预测

插值法 建立合适的插值函数f(x),未知值计算得到。

拉格让日插值法、牛顿插值法。前者不灵活,增删节点要重来。Scipy库中提供前者。

例:将异常点取空,然后取缺值点前后5个值进行拉格朗日插值

异常值处理:异常值是否剔除看情况,因为有些异常值可能含有有用信息

常用异常值处理方法

《贵州大数据培训》

删除记录 直接删除

视为缺失值 视为缺失值进行缺失值的处理

平均值修正 取前后两个正常值的平均

不处理 判断其原因,若无问题直接使用进行挖掘

数据集成:将多个数据源合并存在一个一致的数据存储中,要考虑实体识别问题和属性冗余问题,从而将数据在最低层上加以转换、提炼和集成

实体识别:同名异义、异名同义、单位不统一

冗余属性识别:多次出现、同属性不同名导致重复

数据变换:对数据规范化处理

简单函数变换,如平方、开方、对数、差分运算

规范化,也称归一化,消除量纲和取值范围的差异,进行标准化处理。映射到[-1,1]或[0,1]内。

[1]最小-最大规范化,也称离差标准化。x*=(x-min)/(max-min);缺点:异常值影响;之后的范围限制在[min,max]中

[2]零-均值规范化,也称标准差规范化,处理后[0,1]。x*=(x-mean)/std

[3]小数定标规范化,移动属性值小数位,映射到[-1,1]。x*=x/10^k

离散化过程就是在取值范围内设立若干个离散花粉店,将取值范围划分为离散区间

等宽法、等频发、基于聚类分析方法

属性构造

小波变换:信号分析手段,小波分析的理论和方法在信号处理、图像处理、语音处理、模式识别、量子物理等领域得到越来越广泛的应用

数据规约:产生更小且保持数据完整性的新数据集。意义在于降低无效、错误数据;降低存储成本;少量且具有代表性的数据大幅加快。

属性规约:属性合并或删除无关维,目标是寻找最小子集使子集概率分布尽可能与原来相同

属性规约常用方法

《贵州大数据培训中心》

合并属性 将就属性合并为新属性 ——

逐步向前选择 从空集开始,逐个加入最优属性,直到无最优或满足条件 {}——

逐步向后删除 从全集开始,每次删除最差属性,直到无最差或满足阈值

决策树归纳 利用决策树归纳能力进行分类,删除未出现的属性,即效果差的属性

主成分分析 用少量变量解释大部分变量,保留大部分信息,将相关性高的数据转为彼此独立

数值规约:通过选择替代的、较小的数据来较少数据量,包括有参数(回归、对数线性模型)和无参数方法(直方图、聚类、抽样)

Python主要数据预处理函数

interpolate 一维、高维插值,如拉格朗日、样条插值等 Scipy

unique 去除重复 Pandas/Numpy

isnull 判断是否为空 Pandas

notnull 判断是否非空 Pandas

PCA 主成分分析 Scikit-Learn

random 生成随机矩阵 Numpy

主要回归模型分类

线性回归 因/自变量是线性关系 对一个或多个自/因变量线性建模,用最小二乘法求系数

非线性回归 因/自变量是非线性 非线性建模

Logistic回归 因变量为0或1 广义线性回归特例,利用Logistic函数将因变量控制0-1内表示取值为1的概率

岭回归 参与建模的自变量间具有多重共线性 改进的最小二乘法

主成分回归 同上 根据PCA提出,是参数估计的一种有偏估计

逻辑回归——Scikit-Learn

决策树——sklearn.tree;输出一个tree.dot文件,许安装Graphviz进行可视化

人工神经网络——keras

BP神经网络 信息正传播,误差逆传播

LM神经网络 给予梯度下降法和牛顿法的多层前馈神经网络,迭代次数少,收敛块,精度高

RBF径向基神经网络 能以任意精度逼近任意连续函数,输入层-隐含层是非线性,隐含层-输出成是线性,特别适合解决分类问题

FNN模糊神经网络 具有模糊权系数或输入信号是模糊两的神经网络,汇聚NN和模糊系统的有点

GMDH神经网络 也称多项式网络,网络结构在训练中变化

ANFIS自适应神经网络 NN镶嵌在一个全模糊的结构中,自动产生、修正、高度概括出最佳隶属函数和模糊规则

SVM——sklearn.svm

随机森林——sklearn.ensemble

朴素贝叶斯——sklearn.naive_bayes

建模的第一步都是建立一个空白的对象,然后设置模型参数,利用fit进行巡林啊,最后用predict方法预测结果,之后进行一些评估如score等

误差评价:绝对误差、相对误差、平均绝对误差、均方误差、均方根误差、平均绝对百分误差、Kappa统计、识别准确度、识别精确率、反馈率、ROC曲线、混淆矩阵

聚类分析

常用方法:划分方法、层次分析方法、基于密度的方法、基于网格的方法、给予模型的方法

常用算法:K-Means、K-中心点、系统聚类(多层次聚类)

评价方法:purity评价法(正确的比例)、RI评价法、F值评价法

聚类可视化工具——TSNE

关联规则:也称为购物篮分析,目标是找出各项之间的关系

常用算法:Apriori、FP-Tree、Eclat算法、灰色关联法

时序模式:给定一个已被观测的时间序列,预测该序列的未来值

常用模型:平滑法、趋势你合法、组合模型、AR模型、MA模型、ARMA模型、ARIMA、ARCH、GARCH模型及衍生

python主要时序算法函数:acf自相关,plot_acf画自相关系数图、pacf计算偏相关系数、plot_pacf画偏相关系数图、adfuller对观测值序列进行单位根检验、diff差分计算、ARIMA创建ARIMA时序模型、summary或summaty2给出ARIMA模型报告、aic/bic/hqic计算ARIMA模型的指标值、forecast预测、acorr_ljungbox检验白噪声

离群点检测

成因:数据源不同、自然变异、测量和收集误差

类型:全局离群点和局部离群点;数值型离群点和分类型离群点;一维离群点和多维离群点

检测方法:基于统计、基于邻近度、基于密度、基于聚类

END.

本文来自企鹅号 - CPDA数据分析师媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - CPDA数据分析师媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据集成
数据集成(DataInLong)源于腾讯开源并孵化成功的 ASF 顶级项目 Apache InLong(应龙),依托 InLong 百万亿级别的数据接入和处理能力支持数据采集、汇聚、存储、分拣数据处理全流程,在跨云跨网环境下提供可靠、安全、敏捷的全场景异构数据源集成能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档