我是靠谱客的博主 纯真曲奇,最近开发中收集的这篇文章主要介绍数据挖掘1,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

数据质量分析的主要任务是检查原始数据中是否存在脏数据,脏数据一般是指不符合要求、以及不能直接进行相应分析的数据。在常见的数据挖掘工作中,脏数据包括如下内容:
缺失值。
异常值。
不一致的值。
重复数据及含有特殊符号(如#、*)的数据。

 

缺失值的分析:
使用简单的统计分析,可以得到含有缺失值的属性的个数,以及每个属性的未缺失数、缺失数与缺失率等。

 

缺失值的处理:
总体上来说,处理方式分为3种情况:删除存在缺失值的记录、对可能值进行插补、不处理。

 

异常值分析:
是检验数据是否有录入错误以及含有不合常理的数据。指样本中的个别值,其数值明显偏离其余的观测值。
df.describe()是检测异常值的方法之一。len(data)可知数据记录总条数,count是非空值数,前者减去后者可得缺失值个数。


一致性分析:
是指数据的矛盾性、不相容性。主要发生在数据集成的过程中,可能是由于被挖掘数据是来自于不同的数据源、对于重复存放的数据未能进行一致性更新造成的。


分布分析:
能揭示数据的分布特征和分布类型。对于定量数据,欲了解其分布形式是对称的还是非对称的,发现某些特大或特小的可疑值,可通过绘制频率分布表、绘制频率分
布直方图、绘制茎叶图进行直观的分析;对于定性分类数据,可用饼图和条形图直观地显示分布情况。


对比分析:
是指把两个相互联系的指标进行比较,从数量上展示和说明研究对象规模的大小、水平的高低、速度的快慢,以及各种关系是否协调。特别适用于指标间的横纵向比
较、时间序列的比较分析。在对比分析中,选择合适的对比标准是十分关键的步骤,只有选择合适,才能做出客观的评价,选择不合适,评价可能得出错误的结论。


统计量分析:
用统计指标对定量数据进行统计描述,常从集中趋势离散趋势两个方面进行分析。

平均水平的指标是对个体集中趋势的度量,使用最广泛的是均值和中位数

反映变异程度的指标则是对个体离开平均水平的度量,使用较广泛的标准差(方差)、四分位间距


作为一个统计量,均值的主要问题是对极端值很敏感。如果数据中存在极端值或数据是偏态分布的,那么均值就不能很好地度量数据的集中趋势。为了消除少数极端
值的影响,可以使用截断均值或中位数来度量数据的集中趋势。截断均值是去掉高、低极端值之后的平均数。


极差=极大值-极小值;
标准差-度量数据偏离均值的程度。
变异系数-度量标准差相对于均值的离中趋势,计算公式为:CV=标准差/平均值,主要用来比较两个或多个具有不同单位或不同波动幅度的数据集的离中趋势。

变异系数(Coefficient of Variation)当需要比较两组数据离散程度大小的时候,如果两组数据的测量尺度相差太大,或者数据量纲的不同,直接使用标准差来进行比较不合适,此时就应当消除测量尺度和量纲的影响,而变异系数可以做到这一点,它是原始数据标准差与原始数据平均数的比。CV没有量纲,这样就可以进行客观比较了。

事实上,可以认为变异系数和极差、标准差和方差一样,都是反映数据离散程度的绝对值。其数据大小不仅受变量值离散程度的影响,而且还受变量值平均水平大小的影响。


四分位数间距-包括上四分位数和下四分位数。将所有数值由小到大排列并分成四等份,处于第一个分割点位置的数值是下四分位数,处于第二个分割点位置的数值是中位数,处于第三个分割点位置的数据是上四分位数。四分位数间距,是上四分位数与下四分位数之差,其间包含了全部观察值的一半。其值越大,说明数据的变异程度越大,反之,说明变异程度越小。

#保存基本统计量
stat=df[['序号','经纪人回复数']].drop_duplicates().经纪人回复数.describe()
#极差
stat.loc['range']=stat.loc['max']-stat.loc['min']
#变异系数
stat.loc['var']=stat.loc['std']/stat.loc['mean']
#四分位数间距
stat.loc['dis']=stat.loc['75%']-stat.loc['25%']
print(stat)
#out:
count    14838.000000
mean         6.711821
std          8.022176
min          0.000000
25%          2.000000
50%          4.000000
75%          8.000000
max        129.000000
range      129.000000
var          1.195231
dis          6.000000
Name: 经纪人回复数, dtype: float64


周期性分析:
是探索某个变量是否随着时间变化而呈现出某种周期变化趋势。时间尺度相对较长的周期性趋势有年度周期性趋势、季节性周期趋势,相对较短的有月度周期性趋势、周度周期性趋势,甚至更短的天、小时周期性趋势。


贡献度分析:
又称帕累托分析,它的原理是帕累托法则,又称20/80定律。同样的投入放在不同的地方会产生不同的效益。例如,对一个公司来讲,80%的利润常常来自于20%最畅销的产品,而其它80%的产品只产生了20%的利润。
如菜单A1-A7共7个菜品,占菜品种类数的70%,总盈利额占该月盈利额的85%。根据帕累托法则,应该增加对菜品A1-A7的成本投入,减少对菜品A8-A10的投入以获
得更高的盈利额。

相关性分析:
分析连续变量之间线性相关程度的强弱,并用适当的统计指标表示出来的过程称为相关分析。
Pearson线性相关系数要求连续变量的取值服从正态分布。不服从正态分布的变量、分类或等级变量之间的关联性可采用Spearman秩相关系数,也称等级相关系数。
在实际应用计算中,上述两种相关系数都要对其进行假设检验,使用T检验方法检验其显著性水平以确定其相关程度。研究表明,在正态分布假定下,Spearman秩相关系数与Pearson相关系数在效率上是等价的,对于连续测量数据,更适合用Pearson相关系数来进行分析。
判定系数-是相关系数的平方,用r2表示;用来衡量回归方程对y的解释程度。r2越接近于1,表明x与y之间的相关性越强;r2越接近于0,表明两个变量之间几乎没有直线相关关系。


分析这些菜品销售量之间的相关性可以得到不同菜品之间的关系,比如是替补菜品、互补菜品或者没有关系,为原材料采购提供参考。
data.corr() #相关系数矩阵,即给出了任意两款菜品之间的相关系数。
data.corr()['A'] #只显示A菜品与其它菜品的相关系数。
data['A'].corr(data['B']) #计算A菜品与B菜品的相关系数。


数据变换之简单函数变换:
简单函数变换是对原始数据进行某些数学函数变换,常用的变换包括平方、开方、取对数、差分运算等。
简单的函数变换常用来将不具有正态分布的数据变换成具有正态分布的数据。在时间序列分析中,有时简单的对数变换或者差分运算就可以将非平稳序列转换成平稳
序列。在数据挖掘中,简单的函数变换可能更有必要,比如个人年收入的取值范围为10000元到1亿元,这是一个很大的区间,使用对数变换对其进行压缩是常用的一种变换处理方法。

数据变换之规范化:
数据规范化(归一化)处理是数据挖掘的一项基础工作。不同评价指标往往具有不同的量纲,数值间的差别可能很大,不进行处理可能会影响到数据分析的结果。为
了消除指标之间的量纲和取值范围差异的影响,需要进行标准化处理,将数据按照比例进行缩放,使之落入一个特定的区域,便于进行综合分析。如将工资收入属性
值映射到[-1,1]或者[0,1]内。
数据规范化对于基于距离的挖掘算法尤为重要。
(1)最小-最大规范化
也称为离差标准化,是对原始数据的线性变换,将数值映射到[0,1]之间。
(2)零一均值规范化
也称标准差标准化,经过处理的数据的均值为0,标准差为1.
(3)小数定标规范化
通过移动属性值的小数位数,将属性值映射到[-1,1]之间,移动的小数位数取决于属性值绝对值的最大值。

数据规约:
在大数据集上进行复杂的数据分析和挖掘需要很长的时间,数据规约产生更小但保持原数据完整性的新数据集。在规约后的数据集上进行分析和挖掘将更有效率。
数据规约的意义在于:
1、降低无效、错误数据对建模的影响,提高建模的准确性。
2、少量且具代表性的数据将大幅缩减数据挖掘所需的时间。
3、降低储存数据的成本。

np.ceil():
np.ceil 函数返回输入值的上限,即对于输入 x ,返回最小的整数 i ,使得 i> = x。
import numpy as np
n = np.array([-1.7, -2.5, -0.2, 0.6, 1.2, 2.7, 11])
ceil = np.ceil(n)
print(ceil)  # [ -1.  -2.  -0.   1.   2.   3.  11.]

最后

以上就是纯真曲奇为你收集整理的数据挖掘1的全部内容,希望文章能够帮你解决数据挖掘1所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部