热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2019年大数据从入门到精通应该具备的知识体系

入门知识推荐书籍1、舍恩伯格的《大数据时代》;2、巴拉巴西的《爆发》;3、涂子沛的《大数据》;4、吴军《智能时代》;5、《大数据架构商业之路:从业务需求到技术方案》工具技能1、ha

《2019年大数据从入门到精通应该具备的知识体系》

入门知识

推荐书籍

1、舍恩伯格的《大数据时代》;

2、巴拉巴西的《爆发》;

3、涂子沛的《大数据》;

4、吴军《智能时代》;

5、《大数据架构商业之路:从业务需求到技术方案》

工具技能

1、hadoop: 常用于离线的复杂的大数据处理

2、Spark:常用于离线的快速的大数据处理

3、Storm:常用于在线的实时的大数据处理

4、HDFS:Hadoop分布式文件系统。HDFS有着高容错性的特点,并且设计用来部署在低廉的硬件上。而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。

5、Hbase:是一个分布式的、面向列的开源数据库。该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

6、Hive:hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

7、Kafka:是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消费。

8、redis:redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。

《2019年大数据从入门到精通应该具备的知识体系》

数据挖掘十大经典算法

1:C4.5

C4.5就是一个决策树算法,它是决策树(决策树也就是做决策的节点间像一棵树一样的组织方式,其实是一个倒树)核心算法ID3的改进算法,所以基本上了解了一半决策树构造方法就能构造它。决策树构造方法其实就是每次选择一个好的特征以及分裂点作为当前节点的分类条件。C4.5比ID3改进的地方时:

ID3选择属性用的是子树的信息增益(这里可以用很多方法来定义信息,ID3使用的是熵(entropy)(熵是一种不纯度度量准则)),也就是熵的变化值,而C4.5用的是信息增益率。也就是多了个率嘛。一般来说率就是用来取平衡用的,就像方差起的作用差不多,比如有两个跑步的人,一个起点是100m/s的人、其1s后为110m/s;另一个人起速是1m/s、其1s后为11m/s。如果仅算加速度(单位时间速度增加量)那么两个就是一样的了;但如果使用速度增加率(速度增加比例)来衡量,2个人差距就很大了。在这里,其克服了用信息增益选择属性时偏向选择取值多的属性的不足。在树构造过程中进行剪枝,我在构造决策树的时候好讨厌那些挂着几个元素的节点。对于这种节点,干脆不考虑最好,不然很容易导致overfitting。对非离散数据都能处理,这个其实就是一个个式,看对于连续型的值在哪里分裂好。也就是把连续性的数据转化为离散的值进行处理。能够对不完整数据进行处理,这个重要也重要,其实也没那么重要,缺失数据采用一些方法补上去就是了。

2:CART

CART也是一种决策树算法!相对于上着有条件实现一个节点下面有多个子树的多元分类,CART只是分类两个子树,这样实现起来稍稍简便些。所以说CART算法生成的决策树是结构简洁的二叉树。

3:KNN(K Nearest Neighbours)

这个很简单,就是看你周围的K个人(样本)中哪个类别的人占的多,哪个多,那我就是多的那个。实现起来就是对每个训练样本都计算与其相似度,是Top-K个训练样本出来,看这K个样本中哪个类别的多些,谁多跟谁。

4:Naive Bayes

(朴素贝叶斯NB)

NB认为各个特征是独立的,谁也不关谁的事。所以一个样本(特征值的集合,比如“数据结构”出现2次,“文件”出现1次),可以通过对其所有出现特征在给定类别的概率相乘。比如“数据结构”出现在类1的概率为0.5,“文件”出现在类1的概率为0.3,则可认为其属于类1的概率为0.5*0.5*0.3。

5:Support Vector Machine (支持向量机SVM)

SVM就是想找一个分类得最”好”的分类线/分类面(最近的一些两类样本到这个”线”的距离最远)。这个没具体实现过,上次听课,那位老师自称自己实现了SVM,敬佩其钻研精神。常用的工具包是LibSVM、SVMLight、MySVM。

6:EM (期望最大化)

这个我认为就是假设数据时由几个高斯分布组成的,所以最后就是要求几个高斯分布的参数。通过先假设几个值,然后通过反复迭代,以期望得到最好的拟合。

7:Apriori

这个是做关联规则用的。不知道为什么,一提高关联规则我就想到购物篮数据。这个没实现过,不过也还要理解,它就是通过支持度和置信度两个量来工作,不过对于Apriori,它通过频繁项集的一些规律(频繁项集的子集必定是频繁项集等等啦)来减少计算复杂度。

8:PageRank

大名鼎鼎的PageRank大家应该都知道(Google靠此专利发家,其实也不能说发家啦!)。对于这个算法我的理解就是:如果我指向你(网页间的连接)则表示我承认你,则在计算你的重要性的时候可以加上我的一部分重要性(到底多少,要看我自己有多少和我共承认多少个人)。通过反复这样来,可以求的一个稳定的衡量各个人(网页)重要性的值。不过这里必须要做些限制(一个人的开始默认重要性都是1),不然那些值会越来越大越来越大。

9:K-Means

K-Means是一种最经典也是使用最广泛的聚类方法,时至今日扔然有很多基于其的改进模型提出。K-Means的思想很简单,对于一个聚类任务(你需要指明聚成几个类,当然按照自然想法来说不应该需要指明类数,这个问题也是当前聚类任务的一个值得研究的课题),首先随机选择K个簇中心,然后反复计算下面的过程直到所有簇中心不改变(簇集合不改变)为止:步骤1:对于每个对象,计算其与每个簇中心的相似度,把其归入与其最相似的那个簇中。

步骤2:更新簇中心,新的簇中心通过计算所有属于该簇的对象的平均值得到。

k-means 算法的工作过程说明如下:首先从n个数据对象任意选择k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。

10:AdaBoost

AdaBoost做分类的一般知道,它是一种boosting方法。这个不能说是一种算法,应该是一种方法,因为它可以建立在任何一种分类算法上,可以是决策树,NB,SVM等。

Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。使用adaboost分类器可以排除一些不必要的训练数据,并将关键放在关键的训练数据上面。

《2019年大数据从入门到精通应该具备的知识体系》

应用数学基础

线性代数

1、标量、向量、矩阵和张量

2、矩阵和向量相乘

3、单位矩阵和逆矩阵

4、线性相关和生成子空间

5、范数

6、特殊类型的矩阵和向量

7、特征分解

8、奇异值分解

9、Moore-Penrose 伪逆

10、迹运算

11、行列式

12、实例:主成分分析

《2019年大数据从入门到精通应该具备的知识体系》

概率与信息论

1、为什么要使用概率?

2、随机变量

3、概率分布

4、边缘概率

5、条件概率

6、条件概率的链式法则

7、独立性和条件独立性

8、期望、方差和协方差

9、常用概率分布

10、常用函数的有用性质

11、贝叶斯规则

12、连续型变量的技术细节

13、信息论

14、结构化概率模型

数值计算

1、上溢和下溢

2、病态条件

3、基于梯度的优化方法

4、约束优化

5、实例:线性最小二乘

对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:458345782,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系 。


推荐阅读
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 技术日志:深入探讨Spark Streaming与Spark SQL的融合应用
    技术日志:深入探讨Spark Streaming与Spark SQL的融合应用 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • 在使用 Cacti 进行监控时,发现已运行的转码机未产生流量,导致 Cacti 监控界面显示该转码机处于宕机状态。进一步检查 Cacti 日志,发现数据库中存在 SQL 查询失败的问题,错误代码为 145。此问题可能是由于数据库表损坏或索引失效所致,建议对相关表进行修复操作以恢复监控功能。 ... [详细]
  • 如何优化MySQL数据库性能以提升查询效率和系统稳定性 ... [详细]
  • 在当今的软件开发领域,分布式技术已成为程序员不可或缺的核心技能之一,尤其在面试中更是考察的重点。无论是小微企业还是大型企业,掌握分布式技术对于提升工作效率和解决实际问题都至关重要。本周的Java架构师实战训练营中,我们深入探讨了Kafka这一高效的分布式消息系统,它不仅支持发布订阅模式,还能在高并发场景下保持高性能和高可靠性。通过实际案例和代码演练,学员们对Kafka的应用有了更加深刻的理解。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • 如何高效启动大数据应用之旅?
    在前一篇文章中,我探讨了大数据的定义及其与数据挖掘的区别。本文将重点介绍如何高效启动大数据应用项目,涵盖关键步骤和最佳实践,帮助读者快速踏上大数据之旅。 ... [详细]
  • 如何在Oracle ASM_Diskgroup中重命名现有磁盘
    如何在Oracle ASM_Diskgroup中重命名现有磁盘 ... [详细]
  • 掌握PHP框架开发与应用的核心知识点:构建高效PHP框架所需的技术与能力综述
    掌握PHP框架开发与应用的核心知识点对于构建高效PHP框架至关重要。本文综述了开发PHP框架所需的关键技术和能力,包括但不限于对PHP语言的深入理解、设计模式的应用、数据库操作、安全性措施以及性能优化等方面。对于初学者而言,熟悉主流框架如Laravel、Symfony等的实际应用场景,有助于更好地理解和掌握自定义框架开发的精髓。 ... [详细]
  • Hadoop平台警告解决:无法加载本机Hadoop库的全面应对方案
    本文探讨了在Hadoop平台上遇到“无法加载本机Hadoop库”警告的多种解决方案。首先,通过修改日志配置文件来忽略该警告,这一方法被证明是有效的。其次,尝试指定本地库的路径,但未能解决问题。接着,尝试不使用Hadoop本地库,同样没有效果。然后,通过替换现有的Hadoop本地库,成功解决了问题。最后,根据Hadoop的源代码自行编译本地库,也达到了预期的效果。以上方法适用于macOS系统。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
author-avatar
手机用户2502870367
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有