数据分析挖掘相关技术选择

这是一个最好的年代

这是一个最好的年代,是信息爆炸时代。在移动互联的浪潮下,大家都成了数据的生产者和数据的消费者,给我们带来了更精彩的生活;企业走在信息智能化的道路上,并在持续在收集,整理,规范着数据,以支持更好的发展。

在这个最好的年代,我们可以更简便的获取信息进行学习,娱乐和社交;企业也依靠数据完成更好的发展。数据领域变得热门,相应的数据分析和挖掘也就变得时尚,而且变得越发的重要。

数据分析的几个阶段

对于以下说明的也是一些企业常规的数据治理的情况。

常规的统计

常规的数据统计分析,求均值,求方差,统计求和等。通过这些统计量直观的反应数据,但是过于简单,也只是片面的反应业务运转情况。这阶段最常见的也就是使用Excel等分析软件进行初步分析。

数据信息化

相关应用系统实现业务信息化(如ERP),在这些系统中的关系数据中,存储各种的关系数据。这阶段主要使用SQL,加上一些展示手段完成分析工作,这时已经可以完成一些复杂的分析工作。

体系化复用化

应用系统越来越多,数据也越来越多,这时复杂到了无法只依靠SQL就可以处理。这时开始数据复用化,构建数据集市,数据仓库,构造数据总线等。这时数据变得井然有序,且质量较为高,针对构建好的数据,更容易展开专题性的分析,分析复杂度也在增加。

复杂分析

构建商业智能系统,进行对业务数据进行多维分析,提供自动化,灵活的分析,支持即席数据分析,这步在数据已经体系化。在规范化的前提下,构建的时间较长。对于多维分析数据集使用特有的MDX语言进行分析,较难掌握。

挖掘分析并大数据化

深层次的数据分析已经到了挖掘的地步,应用各种的算法,找到数据内部的规律和联系,这时完备的分析工具是一方面,更重要一方面是挖掘分析人员。

响应时代的号召要有大数据,但前提你要有大量的数据。但多大的数据可以定义为大数据呢,没有那个权威机构给出界定,但有专家建议是以5个T的数据为起点。

分析步骤及技术体系

数据分析挖掘相关技术选择

结合相关体系说明

对SQLServer BI体系和Python体系的和mongodb大数据分析体系分析说明,对于这三者体系分别是各个领域和阶段较有代表性的。

  • SQLServer BI体系

其代表了各传统豪强在数据分析,商业智能领域的发展,诸如:IBM , Oracle,SAP等。特点是集成度较高,易用性可靠性较高,有良好的技术支持,价格死贵,大中型企业偏爱使用。

数据分析挖掘相关技术选择

  • Python体系

早期统计学,生物学家的热衷的分析语言之一,所以在分析领域沉淀了较多优秀的分析库,但要对各个库结合使用,集成度极差,能发挥多大的作用,主要看使用者能力。免费,但是主要的成本还是在开发人员上。

其代表了开源免费类的工具语言,如R等。但是如果想充分利用,需要有较好的技术基础,所以受一些互联网技术公司青睐。

数据分析挖掘相关技术选择

  • Mongodb大数据体系

新时代挑战者,MongoDB就可以扮演HDFS的角色来为Spark提供计算的原始数据,以及用来持久化分析计算的结果,但更多的还是大数据体系。

数据分析挖掘相关技术选择

确定问题或目标: 数据驱动业务,当然是为了解决遇到问题或达到更大的目标。需要业务人员,运营人员,管理人员等进行沟通后确认。

明确数据源:在明确了问题或目标后,在目前现有的数据体系中,选择可供使用的数据源,目前绝大多数来是存储在关系数据库中,部分在以文件信息存放或者需要从互联网上爬取。

数据质量检测:主要的分析的点就是: 缺失值 ;异常值 ;数据矛盾性分析

  • 对于SQLServer中可以使用SSIS中的 事件嗅探任务对数据质量进行检查

数据分析挖掘相关技术选择

  • 对于分析的结果

    候选键配置

    可用于ETL中,用于主键的列的参考

    列Null比率

    数据为null的比率,用于数据质量判断,便于ETL方案制定

    列模式配置

    判断列数据的变异长度,即可以发现异常数据的可能性

    列统计信息

    用于列信息有大体性认识

    列长度分布配置


    列值分布配置

    可以获取较为详细的值分类信息

  • 对于Python可以使用相关函数进行分析

分析项

分析函数

对应的库

基础描述性分析

describe();对数据均值,方差,最大最小值分析

pandas

四分位距分析

Plot();异常数据(过大,过小)分析

pandas

统计量分析

通过统计量,均值,方差等的进一步分析;求极值,求变异性等

pandas,numpy

  • 其他

从数据库中获取数据时,编写合理的sql语句获取合适的数据,会更利于分析,或是直接使用sql语句对缺失值 ;异常值 ;数据矛盾性分析。对于mongodb中的数据质量检测,使用的方法应该是类似python,需要需要相应的函数进行分析。

数据清洗(ETL)

在分析了数据质量后,需要对数据进行清洗,装换和装载,是一个相对耗时的工作。

  • 对于Sqlserver 使用SSIS中各功能组件进行分析,构建相应的数据流

数据分析挖掘相关技术选择

  • 对于python进行数据清洗中,方向性更为明确,当然也是使用相关函数

清洗项

操作

缺失值处理

删除数据;插补数据;不处理等,具体处理后续介绍

异常值处理

删除数据;修正数据;不处理等,具体处理后续介绍

数据变换

单位缩放;标准化;离散化等,具体处理后续介绍

  • 其他

必要的SQL语句进行让清洗事半功倍,对于mongodb的解决方案,通过已有大数据中的相关工具进行清洗。

构建数据模型

  • 对于SQLServer BI SSAS分为两种解决方案:使用多维分析模型;或使用构建表格分析模型。

  • 对于Python,在数据抽取清洗后,使用相关分析库进行分析,主要是 scikit-learn,scipy,keras等,这些抽取的数据是要契合相关库中函数的数据要求的

  • 使用Excel Pivot构建自助表格分析模型,其操作大体和SQLServer BI中的表格分析模型一样。

报表呈现

  • 对于SQLServer 使用 SSRS报表系统或者使用PowerBI进行构建报表

  • 对于python,使用matplot输出分析图表,后续可以将这些图表在Web上或者是在ppt中呈现。

这也是一个最坏的年代

各种终端产品收集着大家的数据;

信息消费时代,信息生产者需求更多的消费者,难免的生产写低俗,无聊的信息。

tip:

接下来,将SQL Server BI 和python 处理步骤的详细说明。


分享到:


相關文章: