文章结构速览

关系梳理

数据挖掘:从海量数据中找到隐藏的规则,数据分析:待分析的目标比较明确
数据分析更侧重业务,一般分析的目标比较明确,重点在观察数据,得出结论;
数据挖掘更侧重技术,利用统计学/机器学习等方法从海量数据中找到隐藏的规则;
算法 解决问题的一系列步骤,是数据挖掘+分析的工具

数据分析 => 目标明确
数据挖掘 => 海量数据 挖得规则 (也就是:目标不明确)

要点区分

  1. 数据分析的重点是观察数据,而“数据挖掘”的重点是从数据中发现“知识规则”
    专业术语 : KDD(Knowledge Discover in Database)
  2. 数据分析得出的结论是人的智力活动结果,数据挖掘得出的结论是机器从学习集(或训练集、样本集)发现的知识规则。
  3. 数据分析不能建立数学模型,需要人工建模,而数据挖掘直接完成了数学建模。

领域名词

  1. 数据倾斜-bigdata
    现象:绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个task,997个task都在10分钟之内执行完了,但是剩余两三个task却要一两个小时。
    原因:某个task的key特别多,产生了数据倾斜
    问题及解决办法:

场景:导致数据倾斜的key为个别几个,而且对计算本身的影响不大
1 过滤少数导致倾斜的key ;

场景:由较多的key导致倾斜,并且这些key的数据量差异不是特别大
2 spark sql 中把参数 spark.sql.shuffle.partitions的值调大(默认是200),增加task数量,让原本分配给一个task的多个key分配给多个task,从而让每个task处理比原来更少的数据

数据分析算法/方法

数据分析-数据结构算法

1.1 算法1:快速排序法
1.1.1 算法简介:
快速排序是由东尼 · 霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n) 次比较。快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。
1.1.2 算法优劣
【不稳定的排序算法】
O(nlogn) 平均时间, O(n2) 最坏情况; 对于大的、乱序串列一般认为是最快的已知排序

1.2 算法2:堆排序算法
1.2.1 算法简介:
堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 堆排序的平均时间复杂度为Ο(nlogn) 。
1.2.2 算法优劣
【不稳定的排序算法】O(nlogn) 平均时间

1.3 算法3:归并排序
1.3.1 算法简介:
归并排序(Merge sort,台湾译作:合并排序)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。
1.3.2 算法优劣
【稳定的排序算法】
O(n log n); 需要 O(n) 额外存储空间

1.4 算法4:二分查找算法
1.4.1 算法简介:
二分查找算法是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束。
如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组 为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。折半搜索每次把搜索区域减少一半,时间复杂度为Ο(logn)

1.5 算法5: BFPRT(线性排查)
1.5.1 算法简介:
BFPRT 算法解决的问题十分经典,即从某 n 个元素的序列中选出第 k 大(第 k 小)的元素,通过巧妙的分 析,BFPRT可以保证在最坏情况下仍为线性时间复杂度。该算法的思想与快速排序思想相似。

1.6 算法6: DFS(深度优先搜索)
1.6.1 算法简介:
深度优先搜索算法(Depth-First-Search),是搜索算法的一种。它沿着树的深度遍历树的节点,尽可能深的搜索树的分 支。当节点 v 的所有边都己被探寻过,搜索将回溯到发现节点 v 的那条边的起始节点。
1.6.2 算法优劣
优点
能找出所有解决方案
优先搜索一棵子树,然后是另一棵,所以和BFS对比,内存需要相对较少
缺点
要多次遍历,搜索所有可能路径,标识做了之后还要取消。
在深度很大的情况下效率不高

1.7 算法7:BFS(广度优先搜索)
1.7.1 算法简介:
广度优先搜索算法(Breadth-First-Search),是一种图形搜索算法。简单的说,BFS 是从根节点开始,沿着树 (图) 的宽度遍历树 (图)的节点。如果所有节点均被访问,则算法中止。BFS 同样属于盲目搜索。一般用队列数据结构来辅助实现 BFS 算法。
1.7.2 算法优劣
优点
对于解决最短或最少问题特别有效,而且寻找深度小
每个结点只访问一遍,结点总是以最短路径被访问,所以第二次路径确定不会比第一次短
缺点
内存耗费量大(需要开大量的数组单元用来存储状态)

1.8 算法8:Dijkstra
1.8.1 算法简介:
Dijkstra算法使用了广度优先搜索解决非负权有向图的单源最短路径问题,算法最终得到一个最短路径树。该算法常用于路由算法或者作为其他图算法的一个子模块。

数据分析-机器学习算法

1.9 算法9:线性回归(Linear Regression)
1.9.1 算法简介:
线性回归可能是统计学和机器学习中最知名和最易理解的算法之一,线性回归用一个等式表示,通过找到输入变量的特定权重(B),来描述输入变量(x)与输出变量(y)之间的线性关系。
1.9.2 算法优劣
优点:经典算法用于普通最小二乘和梯度下降优化的线性代数解
缺点:处理问题能力局限性
1.9.3 相关论文
线性回归分为一元线性回归以及多元线性回归。在回归分析中,若只有一个自变量以及一个因变量,并且两个变量之间能够用直线表示,这就称为一元线性回归分析,其数学模型为y=w1x+b。
线性回归通常用于梯度下降优化的线性代数解。梯度下降是一种优化算法,它是是大多数机器学习算
法的核心和灵魂,其作用是在梯度的负值所定义的最陡下降方向上不断的移动(迭代)从而达到最小化某些函数的作用。
参考文献
周志华,机器学习,清华大学出版社,2016.

1.10 算法10:逻辑回归(Logistic Regression)
1.10.1 算法简介
这是二分类问题的专用方法,逻辑回归是机器学习从统计领域借鉴的另一种技术。逻辑回归与线性回归类似,这是因为两者的目标都是找出每个输入变量的权重值。与线性回归不同的是,输出的预测值需要使用称为逻辑函数的非线性函数进行变换。
1.10.2 算法优劣
优点:逻辑回归预测时,表达能力大于线性回归
缺点:预防过拟合问题
1.10.3 相关论文
逻辑回归与线性回归的区别在于,线性回归更多的是得到一种较为准确的结果,可能某个数字;而逻辑回归得到的是一种概率,基于0到1之间,是一种非常有效计算概率的机制。逻辑回归可以用于寻找导致某一事件的因素,例如找到某一疾病发生的因素。
参考文献
Nick T G , Campbell K M . Logistic Regression[J]. Methods in Molecular Biology, 2007, 404(404):273.

1.11 算法11:线性判别分析(Linear Discriminant Analysis)
1.11.1 算法简介
有两个及以上类时,线性判别分析算法(Linear Discriminant Analysis,简称LDA)是首选的线性分类技术。特别说明:LDA是两个常用模型的简称:Linear Discriminant Analysis 和 Latent Dirichlet Allocation。

1.12 算法12:分类和回归树(Decision Tree)
1.12.1 算法简介
决策树是机器学习的一种重要算法。
决策树模型可用二叉树表示,每个节点代表单个输入变量(x)和该变量上的左右孩子(假定变量是数字)。
1.12.2 算法优劣
优点:不需要为数据做任何特殊准备
预测速度快
1.12.3 相关论文
决策树演算法背后的基本思想是使用属性选择度量(ASM)选择最佳属性以拆分记录,使得该属性成为决策节点,并将数据集分为更小的子集。通过递归,可以为每个子项不断重复这个过程,从而来启动树的构建,直到其中一个条件匹配为止。
参考文献
雷国平,肖科,罗秀英,杨森,姚佳佳.基于机器学习的基础算法研究综述[J].卫星电视与宽带多媒体,2020(08):18-19.
唐华松, 姚耀文. 数据挖掘中决策树算法的探讨[J]. 计算机应用研究, 2001(08):21-22+25.

1.13 算法13:朴素贝叶斯(Bayes Theorem)
1.13.1 算法简介
朴素贝叶斯是一种简单但极为强大的预测建模算法
1.13.2 算法优劣
需要注意利用朴素贝叶斯算法时需要数据集足够大,朴素贝叶斯被称为朴素的原因,在于它假设每个输入变量是独立的。 这是一个强硬的假设,对于真实数据来说是不切实际的,但该技术对于大范围内的复杂问题仍非常有效。

1.14 算法14:K邻近(K-Nearest Neighbors)
1.14.1 算法简介
通过搜索整个训练集内K个最相似的实例,并对这些K个实例的输出变量进行汇总,来预测新的数据点。
1.14.2 算法优劣
KNN需要大量的内存或空间来存储所有的数据,但只有在需要预测时才会执行计算(或学习)。
可以随时更新和管理训练集,以保持预测的准确性。
距离或紧密度的概念可能会在高维环境(大量输入变量)下崩溃,这会对算法造成负面影响。
1.14.3 相关论文
在KNN中,K是指最近邻居的数量,这是核心决定因素。这里如何选择最佳邻居数是关键,可以将K视为预测模型的控制变量。研究表明,没有最优数量的邻居数适合所有类型的数据集,每个数据集都有自己的要求,在少数邻居的情况下,噪声将对结果具有更高的影响,在大量邻居情况下,计算成本将较高。
参考文献
Zhang ML, Zhou Z H . ML-KNN: A lazy learning approach to multi-label learning[J]. Pattern Recognition, 2007, 40(7):2038-2048.

1.15 算法15:支持向量机(Support Vector Machine)
1.15.1 算法简介
在SVM中,会选出一个超平面以将输入变量空间中的点按其类别(0类或1类)进行分离。在二维空间中可以将其视为一条线,所有的输入点都可以被这条线完全分开。
1.15.2 算法优劣
1.15.3 相关论文
参考文献
范昕炜. 支持向量机算法的研究及其应用[D]. 浙江大学, 2003.

数据分析软件/工具

【oracle等数据库】是基础,虽然它不属于数据分析软件但说到数据分析,一定会提到数据库。(尤其在数据量较大时例如:年报)

2.1 软件1: Excel (特别注意:python能够当Excel用)
2.1.1 软件简介
Microsoft Excel是一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。
2.1.2 软件常用领域
数据处理 数据分析

2.2 软件2: Python
2.2.1 软件简介
Python (计算机程序设计语言)是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
2.2.2 软件常用领域
数据爬取 数据处理 数据分析 数据可视化

2.3 软件3: spss
2.3.1 软件简介
SPSS为IBM公司推出的一系列用于统计学分析运算、数据挖掘、预测分析和决策支持任务的软件产品及相关服务的总称,有Windows和Mac OS X等版本。
2.3.2 软件常用领域
大数据分析软件
2.3.3 软件性能优劣
操作简单 编程简单 功能强大 清晰直观
SPSS统计分析过程包括描述性统计、均值比较、一般线性模型、相关分析、回归分析、对数线性模型、聚类分析、数据简化、生存分析、时间序列分析、多重响应等

**2.4 软件4: powerBI **
2.4.1 软件简介
Power BI 简单快速,能够从 Excel 电子表格或本地数据库创建快速见解。 Power BI 也可进行丰富的建模和实时分析,及自定义开发。 因此它既是用户的个人报表和可视化工具,还可用作组项目、部门或整个企业背后的分析和决策引擎。
2.4.2 软件常用领域
数据可视化 数据分析 数据处理

2.5 软件5: plotly
2.5.1 软件简介
Plotly 是一款用来做数据分析和可视化的在线平台,功能非常强大,可以在线绘制很多图形比如条形图、散点图、饼图、直方图等等。而且还是支持在线编辑,以及多种语言python、javascript、matlab、R等许多API。
2.5.2 软件常用领域
数据可视化 数据分析 数据处理

2.6 软件6: Echart
2.6.1 软件简介
缩写来自Enterprise Charts,商业级数据图表,是百度的一个开源的数据可视化工具
2.6.2 软件常用领域
前断数据展示 数据可视化

2.7 软件7: Matplotlib
2.7.1 软件简介
matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包
2.7.2 软件常用领域
数据分析 数据可视化

2.8 软件8: MATLAB
2.8.1 软件简介
MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。MATLAB和Mathematica、Maple并称为三大数学软件。
2.8.2 软件常用领域
数据分析
2.8.3 软件性能优劣
具有强大的数据处理及计算能力

2.9 软件9: Tableau
2.9.1 软件简介
Tableau Software致力于帮助人们查看并理解数据。Tableau 帮助任何人快速分析、可视化并分享信息,随时随地快速获得结果。数以万计的用户使用 Tableau Public 在博客与网站中分享数据。
2.9.2 软件常用领域
数据分析 数据分享 数据展示

数据分析调研报告_CodingPark编程公园相关推荐

  1. 人工智能中神经网络与自然语言处理共生关系_CodingPark编程公园

    文章目录 神经网络知识大串联 1:第一代的神经元模型 3 2:从M-P模型到感知器模型 3 3:前馈神经网络 3 4:后向传播与BP算法神经网络 4 5:深度神经网络DNN 4 6:卷积神经网络CNN ...

  2. Gensim库生成与导入W2V模型_CodingPark编程公园

    Gensim库生成与导入W2V模型 语料目录 gensim函数库Word2Vec配置参数 gensim.models.word2vec.Word2Vec(sentences=None,size=100 ...

  3. Linux压缩|解压_CodingPark编程公园

    文章介绍 本文主要介绍: Linux的基础参数 Linux压缩 Linux解压缩 基础参数 tar - 5大参数 -c:压缩 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原 ...

  4. anaconda-navigaotr出现adding featured channels并无法正常打开_CodingPark编程公园

    问题 navigator无法打开.停在adding featured channels状态下. 解决 在mac终端下更新navigator 输入 conda install navigator 即可解 ...

  5. 谈谈池化吧!_CodingPark编程公园

    引子 下采样和池化应该是包含关系,池化属于下采样,而下采样不局限于池化,如果卷积 stride=2,此时也可以把这种卷积叫做下采样. 池化 通常池化层紧跟在 CNN 的卷积层之后. 池化方法: max ...

  6. GPU概述_CodingPark编程公园

    GPU和CPU的区别 设计目标 CPU:处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理 GPU:处理类型高度统一的.相互无依赖的大规模数据,不需要被打断的纯净的计算环境 G ...

  7. 词性标注_CodingPark编程公园

    基本概念 什么是词性 在语言学上,词性(Par-Of-Speech, Pos )指的是单词的语法分类,也称为词类.同一个类别的词语具有相似的语法性质,所有词性的集合称为词性标注集.不同的语料库采用了不 ...

  8. NLP高频面试_CodingPark编程公园

    NLP高频面试 1.LSTM 画图,写公式 计算一层的参数量 假设lstm层的一个时间点上的输入特征长度是n,输出长度是m, 那么参数量是4*((n+m)*m+m) https://www.cnblo ...

  9. 条件随机场分词_CodingPark编程公园

    基本概念 引言 HMM - 估计特征与序列的联合概率 p(x,y) 感知机 - 给它们打一个分数 score(x,y) CRF - 与感知机同属于结构化学习家族,但性能比感知机强大 机器学习的模型谱系 ...

最新文章

  1. java-数据库连接,分层实现增删改查测试
  2. 山西电大统考英语和计算机试题,2017年电大统考计算机试题及答案.doc
  3. Oracle优化07-分析及动态采样-直方图
  4. HLG2081分苹果
  5. 从websphere6.1迁移到weblogic10.3的问题总结
  6. mac下搭建lua环境
  7. java 数据返回类_java返回数据工具类
  8. 使用Java8改造出来的模板方法真的是yyds
  9. 第三周课程总结实验报告一
  10. oracle 体系结构及内存管理 15_存储结构
  11. Android实现计时与倒计时的几种方法
  12. C#调用windows API实现 smallpdf客户端程序进行批量压缩
  13. 利用免费的必应 Bing 自定义搜索打造站内全文搜索
  14. 十二种兵器与他们的主人
  15. stm32定时器4重映射
  16. 《月亮与六便士》的读后感作文3000字
  17. 百度AI 开放平台 智能语音识别
  18. 软件测试过程与方法_第4周单元测试
  19. 瑞安java,​温州瑞安JAVA 培训班
  20. HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。

热门文章

  1. Android zxing,轻松实现二维码扫描、生成
  2. 轻量级单片机命令行交互项目,全部开源
  3. Unity_MegaFiers_Hump
  4. 选择 DCIM 时需要注意哪些关键问题
  5. 【UCIe】UCIe 相关术语名词缩写释义
  6. html文件导入excel 出现乱码,win7系统txt导入excel出现中文乱码的解决方法
  7. modprobe加载异步加载
  8. 常见花材的固定的方法有哪些_花材的固定
  9. 孩子好动爱疯跑就是感统失调吗?不一定!
  10. Linux下cp命令