目录
1.数据挖掘的定义
- 学术界对数据挖掘的定义为:通过相关算法从大量的数据中搜索隐藏于其中信息的过程,是数据库知识发现(Knowledge-Discovery in Databases,KDD)中的一个步骤。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等书多方法来实现上述目标。
- 商业界对数据挖掘的定义为:是对存储于数据库中的大量数据,通过查询和抽取方式获得以前未知的有用信息、模式、规则的过程。数据挖掘是一个过程,而非单纯的数学建模。
- 从两个定义中可以发现:数据挖掘的重点在于从已知的数据中得到未知有用的信息。数据挖掘就是从存放在数据库、数据仓库或其他信息库中的大量数据中“挖掘”有用知识的过程。数据挖掘的一般步骤为:数据清理——数据集成——数据选择——数据变换——数据挖掘——模式评估——知识表示。
2.数据挖掘的流程
(1)数据挖掘是一个以数据为中心的,循序渐进的,螺旋式的数据探索过程。数据挖掘涉及业务理解、数据理解、数据准备、建立模型、方案评估、方案实施等多个阶段。
(2)数据挖掘是各种分析方法的集合。
(3)数据挖掘具有分析海量数据的能力。
(4)数据挖掘的最终目的是辅助决策。
3.如何进行数据预处理
- 数据清洗
- 数据集成
- 数据转换
- 数据归约
4.无监督学习和有监督学习有何区别?
- 无监督学习(Unsupervised Learning):没有被标记、没有确定结果。样本数据集类别未知,需要根据样本间的相似性,对样本集进行分类(聚类)。...对无监督学习来说,就是事先没有任何训练数据样本,需要直接对数据进行建模。...关联和聚类是无监督学习最典型的应用。
- 有监督学习(Supervised Learning):通过已有的训练样本(即已知数据以及其对应用的输出)来训练,从而得到一个最优模型,再利用这个模型将所有新的数据样本划分为相应的输出结果,对输出结果进行简单的判断从而实现分类的目的,那么这个最优模型也具有了对未知数据进行分类的能力。
- 区别:
1.有标签就是有监督学习,没有标签就是无监督学习,说的详细一点,有监督学习的目的是在训练集中找规律,然后对测试数据运用这种规律,而无监督学习没有训练集,只有一组数据,在该组数据集内寻找规律。
2. 无监督学习方法在寻找数据集中的规律性,这种规律性并不一定要达到划分数据集的目的,也就是说不一定要“分类”。比如,一组颜色各异的积木,它可以按形状为维度来分类,也可以按颜色为维度来分类。(这一点比监督学习方法的用途要广。如分析一堆数据的主分量,或分析数据集有什么特点都可以归于无监督学习方法的范畴) ,而有监督学习则是通过已经有的有标签的数据集去训练得到一个最优模型,像我们的CNN(卷积神经网络)模型都是运用了有监督学习去训练出最优的模型,利用这个最优的模型就可以对一些图像进行场景分类。
3.有监督学习要实现的目标是“对于输入数据X能预测变量Y”(有答案和方法的学)。而无监督学习要回答的问题是“从数据X中能发现什么”(自学)。
5.简述常见的分类算法
1.关联规则算法4类划分方式:
(基于变量类型的算法、基于抽象层次的方法、基于数据维度的方法、基于时间序列的方法 )典型算法有:AIS算法、Apriori算法、SETM算法、DHP算法、Partition算法、Sampling算法、FP-Growth算法。
2.聚类:
划分法、层次法、密度法、网格方法、模型方法
3.分类:
决策树、K最近邻、支持向量机(SVM)、随机森林、朴素贝叶斯。
4.回归分析:
回归分析法
6.选择数据挖掘工具时需要考虑的因素
- 可产生的模式种类数量
- 解决复杂问题的能力
- 操作性能
- 数据存取能力
- 和其他产品的接口
7.常用的数据挖掘工具
常用的数据挖掘工具有阿里云机器学习平台PAI、ASA、Stata、Python、SPSS、Weka、R语言和MATLAB等。
1.机器学习PAI:
PAI起初是服务于阿里巴巴集团内部(例如淘宝、支付宝和高德)的机器学习平台,致力于让公司内部开发者更高效、简洁、标准地使用人工智能AI(Artificial Intelligence)技术。随着PAI的不断发展,2018年PAI平台正式商业化,目前已经积累了数万的企业客户和个人开发者,是中国云端机器学习平台之一。
PAI底层支持多种计算框架:
- 流式计算框架Flink。
- 基于开源版本深度优化的深度学习框架TensorFlow。
- 千亿特征样本的大规模并行计算框架Parameter Server。
- Spark、PySpark、MapReduce等业内主流开源框架。
PAI的优势:
服务支持单独或组合使用。支持一站式机器学习,您只要准备好训练数据(存放到OSS或MaxCompute中),所有建模工作(包括数据上传、数据预处理、特征工程、模型训练、模型评估和模型发布至离线或在线环境)都可以通过PAI实现。
- 对接DataWorks,支持SQL、UDF、UDAF、MR等多种数据处理方式,灵活性高。
- 生成训练模型的实验流程支持DataWorks周期性调度,且调度任务区分生产环境和开发环境,进而实现数据安全隔离。
2. SAS
(全称STATISTICAL ANALYSIS SYSTEM,简称SAS)是一个模块化、集成化的大型应用软件系统。他由数十个专用模块构成,功能包括数据访问、数据存储及管理、应用开发、图形处理、数据分析、报告编制、运筹方法、计算经济学与预测等。SAS具有功能强大、统计方法其、全、新、使用简便、操作灵活、提供联机帮助功能等特点。
3.Stata
Stata是一套提供数据分析、数据管理以及绘制专业图表的完整及整合性统计软件。它提供许许多多的功能,包含线性混合模型、均衡、重复、反复及多项式普罗比模式.是用stata绘制的统计图形相当精美。Stata具有快速、精确、易用统计工具丰富、数据管理功能完整等特点。
4.Python
Python是一种免费的开源语言,因医用性常常与R相提并论。但与R不同,Python学起来往往很容易上手,易于使用。许多用户发现可以在几分钟内开始构建数据,并进行极其复杂的亲和度分析。只要熟悉变量、数据类型、函数、条件、语句和循环等基本编程概念,最常见的业务用例数据可视化就很简单地实现。
5.IBM SPSS Modeler
IBM SPSS Modeler工具工作台适合处理文本分析等大型项目,其可视化界面非常有价值,它允许在不同编程的情况下生成各种数据挖掘算法。它可以用于异常检测、贝叶斯网络、CARMA、Cox回归以及使用多层感知器进行反向传播学习的基本神经网络。
6.Wake
Wake(怀卡托知识分析环境)是新西兰怀卡托大学开发的一套机器学习软件。该软件用Java编写。它还有一系列面向数据分析和预测建模的可视化工具和算法,附带图形用户界面。Wake支持几种标准数据挖掘任务,更具体地说是指数据预处理、聚类、分类、回归、可视化和特征选择。
7.R语言
R语言是用于统计、分析、图形表示和报告的编程语言和软件环境。R语言由Ross Ihaka 和Robert Gentleman 在新西兰奥克兰大学创建,目前由R语言开发核心团队开发。R语言是世界上最广泛使用的统计编程语言。
8.MATLAB
MATLAB是美国Mathworks公司出品的商业数学软件儿,用于算法开发、数据可视化、数据分析以及数据计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
8.特征工程
1.特征工程定义:
特征工程指的是把原始数据转变为模型的训练数据地过程,他的目的就是获取更好的训练数据特征,使得机器学习模型逼近这个上限。
2.特征工程的作用:
- 把原始数据转换成对机器学习更有用的特征
- 结合业务使得特征更容易理解和解释
- 结合业务创建对最终结果贡献更大的特征
- 更充分地利用已有的数据价值
- 提供更多的特征,相当于扩充了训练集,充分利用现有的学习、计算能力,提高模型的准确性。
- 使用非结构化数据源提供信息
- 以特征工程的方式引入外部数据
- (特征越好,对算法、模型要求越低,性能越出色。特征产生就是基于原始数据产生新的特征。)
9.数据挖掘的演变
1.第一阶段电子邮件阶段:20世纪70年代,随着美国信息高速公路的建设,网络信息技术每年几倍的速度增长,该阶段数据挖掘技术属于独立系统,支持一个或多个模型。
2.第二阶段20世纪90年代:Web技术的创新导致网络信息呈现爆炸式增长,很多企业处于粗放式营销模式,该阶段的数据挖掘技术已经成为可以集成数据库,系统支持多种挖掘模型同时运行。
3.第三阶段电子商务阶段:21世纪初,IBM、HP、Sun等技术厂商将Internet转换成为常用的商业信息网络,该阶段的数据挖掘技术可以对数据进行管理,同时集成了预言模型系统。
4.第四阶段全程电子商务阶段:SaaS软件服务模式的出现延长了电子商务产业链,原始数据挖掘结束成为一门独立的学科,该阶段的数据挖掘技术将移动数据以及各种计算设备的数据进行了有机融合。
10.举例说明你身边的数据挖掘应用实例
- 恶意软件的智能检测
- 生物信息学中的应用
- 信用卡的违约预测
- 地质灾害的风险评估
- 教育大数据的挖掘