博舍

数据挖掘概念 数据挖掘技术的定义

数据挖掘概念

数据挖掘概念项目09/27/2022

适用于:SQLServerAnalysisServicesAzureAnalysisServicesPowerBIPremium

重要

2017年AnalysisServicesSQLServer弃用数据挖掘,现已在2022年SQLServerAnalysisServices中停用。文档不会更新为已弃用和已停用的功能。若要了解详细信息,请参阅AnalysisServices向后兼容性。

数据挖掘是从大型数据集中发现可行信息的过程。数据挖掘使用数学分析来派生存在于数据中的模式和趋势。通常,由于这些模式的关系过于复杂或涉及数据过多,因此使用传统数据浏览无法发现这些模式。

这些模式和趋势可以被收集在一起并定义为“数据挖掘模型”。挖掘模型可以应用于特定的方案,例如:

预测:估计销售量、预测服务器负载或服务器停机时间

风险和概率:选择目标邮递的最佳客户、确定风险方案的可能保本点、将概率分配给诊断或其他结果

建议:确定哪些产品有可能一起销售并生成建议

查找序列:分析购物车中的客户选择,并预测接下来可能发生的事件

分组:将客户或事件划分到相关的项目分类,分析和预测相关性

生成挖掘模型是大型过程的一部分,此过程包括从提出相关数据问题并创建模型以解答这些问题到将模型部署到工作环境的所有事情。此过程可以使用下列六个基本步骤进行定义:

定义问题

准备数据

浏览数据

生成模型

探索和验证模型

部署和更新模型

下图描述了过程中每个步骤之间的关系,以及可用于完成每个步骤的MicrosoftSQLServer中的技术。

图中所示的处理为循环的,表示创建数据挖掘模型是动态迭代过程。浏览完数据之后,您可能会发现数据不足,无法创建适当的挖掘模型,因此必须查找更多的数据。或者,您可以生成数个模型,但随后发现这些模型无法充分地回答定义的问题,因此必须重新定义问题。您可能必须在部署模型之后对其进行更新,因为又出现了更多的可用数据。可能需要多次重复过程中的每个步骤才能创建良好的模型。

MicrosoftSQLServer数据挖掘提供用于创建和使用数据挖掘模型的集成环境。此环境包括SQLServerDevelopmentStudio,其中包含数据挖掘算法和查询工具,以便为各种项目轻松构建全面的解决方案,以及包含浏览模型和管理数据挖掘对象的工具SQLServerManagementStudio。有关详细信息,请参阅使用SQLServerDataTools(SSDT)创建多维模型。

有关如何将SQLServer工具应用于业务方案的示例,请参阅基本数据挖掘教程。

定义问题

与以下关系图的突出显示相同,数据挖掘过程的第一步就是明确定义问题,并考虑可以何种方式利用数据来解答该问题。

该步骤包括分析业务需求,定义问题的范围,定义计算模型所使用的度量,以及定义数据挖掘项目的特定目标。这些任务转换为下列问题:

您在查找什么?您要尝试找到什么类型的关系?

您要尝试解决的问题是否反映了业务策略或流程?

您要通过数据挖掘模型进行预测,还是仅仅查找受关注的模式和关联?

您要尝试预测哪个结果或属性?

您具有什么类型的数据以及每列中包含什么类型的信息?或者如果有多个表,则表如何关联?您是否需要执行任何清除、聚合或处理以使数据可用?

数据是如何分布的?数据是否具有季节性性质?数据是否可以准确反映业务流程?

若要回答这些问题,可能必须进行数据可用性研究,必须调查业务用户对可用数据的需求。如果数据不支持用户的需求,则还必须重新定义项目。

此外,还需要考虑如何将模型结果纳入用于度量业务进度的关键绩效指标(KPI)。

准备数据

如以下关系图中突出显示的那样,数据挖掘过程的第二步就是合并和清除定义问题步骤中标识的数据。

数据可以分散在公司的各个部门并以不同的格式存储,或者可能包含错误项或缺少项之类的不一致性。例如,数据可能显示客户在产品推向市场之前购买该产品,或者客户在距离她家2,000英里的商店定期购物。

数据清除不仅仅是删除错误数据或插入缺失值,还包括查找数据中的隐含相关性、标识最准确的数据源并确定哪些列最适合用于分析。例如,应当使用发货日期还是订购日期?最佳销售影响因素是数量、总价格,还是打折价格?不完整数据、错误数据和输入看似独立,但实际上都有很强的关联性,它们可以以意想不到的方式影响模型的结果。

因此,在开始生成挖掘模型之前,应确定这些问题及其解决方式。对于数据挖掘,通常使用非常大的数据集,并且无法检查每个事务的数据质量;因此,可能需要使用某种形式的数据分析和自动数据清理和筛选工具,例如IntegrationServices中提供的数据、MicrosoftSQLServer2012MasterDataServices,或SQLServerDataQualityServices来浏览数据并查找不一致。有关详细信息,请参阅以下资源:

BusinessIntelligenceDevelopmentStudio中的IntegrationServices

MasterDataServices概述(MDS)

数据库引擎服务

需要特别注意的是用于数据挖掘的数据不必存储在联机分析处理(OLAP)多维数据集中,或者甚至不必存储在关系数据库中,但是您可以将它们作为数据源使用。可以使用已定义为SQLServerAnalysisServices数据源的任何数据源执行数据挖掘。这些数据源可以包括文本文件、Excel工作簿或来自其他外部提供程序的数据。有关详细信息,请参阅支持的数据源(SSAS-多维)。

浏览数据

如以下关系图中突出显示的那样,数据挖掘过程的第三步就是浏览已准备的数据。

您必须了解数据,以便在创建挖掘模型时作出正确的决策。浏览技术包括计算最小值和最大值,计算平均偏差和标准偏差,以及查看数据的分布。例如,通过查看最大值、最小值和平均值,您可以确定数据并不能代表客户或业务流程,因此您必须获取更多均衡数据或查看您的预期结果所依据的假定。标准偏差和其他分发值可以提供有关结果的稳定性和准确性的有用信息。大型标准偏差可以指示添加更多数据可以帮助改进模型。与标准分发偏差很大的数据可能已被扭曲,抑或准确反映了现实问题,但很难使模型适合数据。

借助您自己对业务问题的理解来浏览数据,您可以确定数据集是否包含缺陷数据,随后您可以设计用于解决该问题的策略或者更深入地理解业务的典型行为。

可以使用工具(如MasterDataServices)来画布上可用的数据源,并确定其数据挖掘的可用性。可以使用SQLServerDataQualityServices或IntegrationServices中的数据探查器等工具分析数据的分布,并修复错误或缺失数据等问题。

定义源后,可以使用SQLServerDataTools中的数据源视图设计器将它们合并到数据源视图中。有关详细信息,请参阅多维模型中的数据源视图。这个设计器还包含几个工具,您可以使用它们来浏览数据并验证数据是否可用于创建模型。有关详细信息,请参阅数据源视图中的“浏览数据”(AnalysisServices)。

请注意,创建模型时,SQLServerAnalysisServices会自动创建模型中包含的数据的统计摘要,可以在报表中查询或进一步分析。有关详细信息,请参阅数据挖掘查询。

构建模型

如以下关系图中突出显示的那样,数据挖掘过程的第四步就是生成一个或多个挖掘模型。您将使用从浏览数据步骤中获得的知识来帮助定义和创建模型。

通过创建挖掘结构定义要使用的数据列。将挖掘结构链接到数据源,但只有对挖掘结构进行处理后,该结构才会实际包含数据。处理挖掘结构时,SQLServerAnalysisServices生成可用于分析的聚合和其他统计信息。基于该结构的所有挖掘模型均可使用该信息。有关如何与挖掘模型相关的挖掘结构的详细信息,请参阅逻辑体系结构(AnalysisServices-数据挖掘)。

在处理结构和模型之前,数据挖掘模型也只是一个容器,它指定用于输入的列、要预测的属性以及指示算法如何处理数据的参数。处理模型通常称为“定型”。定型表示向结构中的数据应用特定数学算法以便提取模式的过程。在定型过程中找到的模式取决于选择的定型数据、所选算法以及如何配置该算法。SQLServer2017包含许多不同的算法,每个算法都适合不同类型的任务,每个算法都创建不同类型的模型。有关SQLServer2017中提供的算法列表,请参阅数据挖掘算法(AnalysisServices-数据挖掘)。

此外,还可以使用参数调整每种算法,并向定型数据应用筛选器,以便仅使用数据子集,进而创建不同结果。在通过模型传递数据之后,即可查询挖掘模型对象包含的摘要和模式,并将其用于预测。

可以在SQLServerDataTools中使用数据挖掘向导或使用DMX)语言(数据挖掘扩展插件来定义新模型。有关如何使用数据挖掘向导的详细信息,请参阅DataMiningWizard(AnalysisServices-数据挖掘)。有关如何使用DMX的详细信息,请参阅数据挖掘扩展插件(DMX)参考。

务必记住,只要数据发生更改,必须更新数据挖掘结构和挖掘模型。通过重新处理挖掘结构更新挖掘结构时,SQLServerAnalysisServices从源检索数据,包括动态更新源时的任何新数据,并重新填充挖掘结构。如果您具有基于结构的模型,则可以选择更新基于该结构的模型,这表示可以根据新数据保留模型,或者也可以使模型保持原样。有关详细信息,请参阅(数据挖掘)的处理要求和注意事项。

浏览和验证模型

如以下关系图中突出显示的那样,数据挖掘过程的第五步就是浏览您已经生成的挖掘模型并测试其有效性。

在将模型部署到生产环境之前,您需要测试模型的性能。此外,在生成模型时,您通常需要使用不同配置创建多个模型,并对所有这些模型进行测试,以便查看哪个模型为您的问题和数据生成最佳结果。

SQLServerAnalysisServices提供了一种工具,可帮助你将数据拆分为训练和测试数据集,以便准确评估同一数据上所有模型的性能。您使用定型数据集生成模型,并通过创建预测查询来使用测试数据集测试模型的准确性。生成挖掘模型时,可以自动执行此分区。有关详细信息,请参阅测试和验证(数据挖掘)。

可以在SQLServerDataTools中使用数据挖掘设计器中的查看者来探索算法发现的趋势和模式。有关详细信息,请参阅数据挖掘模型查看器。还可以使用该设计器中的工具(如,提升图和分类矩阵)来测试模型创建预测的性能。若要验证模型是否特定于你的数据,或者是否可用于推断总体,可以使用称为交叉验证的统计方法来自动创建数据子集,并参照每个子集测试模型。有关详细信息,请参阅测试和验证(数据挖掘)。

如果您在生成模型步骤中创建的所有模型都无法正常工作,则必须返回到此过程的上一个步骤,并重新定义问题或重新调查原始数据集中的数据。

部署和更新模型

如下面的关系图中突出显示的那样,数据挖掘过程的最后一步是将性能最佳的模型部署到生产环境。

当生产环境中部署了挖掘模型之后,便可根据您的需求执行许多任务。下面是一些可以执行的任务:

使用这些模型创建预测,您以后可以使用这些预测进行业务决策。SQLServer提供了可用于创建预测查询的DMX语言,预测查询生成器可帮助你生成查询。有关详细信息,请参阅数据挖掘扩展插件(DMX)参考。

创建内容查询以检索模型中的统计信息、规则或公式。有关详细信息,请参阅数据挖掘查询。

直接将数据挖掘功能嵌入到应用程序。您可以包括含有一组对象的分析管理对象(AMO),应用程序可使用这组对象创建、更改、处理以及删除挖掘结构和挖掘模型。或者,可以将XMLforAnalysis(XMLA)消息直接发送到SQLServerAnalysisServices实例。有关详细信息,请参阅开发(AnalysisServices-数据挖掘)。

使用IntegrationServices创建一个包,其中挖掘模型用于将传入数据智能地分隔到多个表中。例如,如果数据库与潜在客户持续更新,则可以将挖掘模型与IntegrationServices结合使用,将传入数据拆分为可能购买产品和可能不购买产品的客户。有关详细信息,请参阅IntegrationServices的典型使用。

创建可让用户直接对现有挖掘模型进行查询的报表。有关详细信息,请参阅SQLServerDataTools中的ReportingServices(SSDT)。

在查看和分析后更新模型。任何更新都要求您重新处理该模型。有关详细信息,请参阅ProcessingDataMiningObjects。

随着组织传入的数据不断增多,应将动态更新模型并进行一致更改(以便提高解决方案的效率)作为部署策略的一部分。有关详细信息,请参阅数据挖掘解决方案和对象的管理

另请参阅

数据挖掘解决方案数据挖掘工具

Python 数据挖掘与机器学习实践技术应用【实战】

本内容采用“理论讲解+案例实战+动手实操+讨论互动”相结合的方式,抽丝剥茧、深入浅出分析机器学习在应用时需要掌握的经验及编程技巧。此外,还将通过实际案例的形式,介绍如何提炼创新点,以及如何发表高水平论文等相关经验。在掌握Python编程的基础知识与技巧、特征工程(数据清洗、变量降维、特征选择、群优化算法)、回归拟合(线性回归、BP神经网络、极限学习机)、分类识别(KNN、贝叶斯分类、支持向量机、决策树、随机森林、AdaBoost、XGBoost与LightGBM等)、聚类分析(K均值、DBSCAN、层次聚类)、关联分析(关联规则、协同过滤、Apriori算法)的基本原理及Python代码实现方法。

【原文链接】:

Python 数据挖掘与机器学习实践技术应用https://mp.weixin.qq.com/s?__biz=MzU5NTkyMzcxNw==&mid=2247545471&idx=5&sn=ae2d36bd213f4ce0f86bc8da98465a69&chksm=fe68f415c91f7d035c56c008f76d9b3316be0a7910cbc048016861b2629a4a577f105be49ad1&token=319160046&lang=zh_CN#rd

【内容介绍】:

模块一:Python编程【夯实基础】

Python编程入门

1、Python环境搭建(下载、安装与版本选择)。

2、如何选择Python编辑器?(IDLE、Notepad++、PyCharm、Jupyter…)

3、Python基础(数据类型和变量、字符串和编码、list和tuple、条件判断、循环、函数的定义与调用等)

4、常见的错误与程序调试

5、第三方模块的安装与使用

6、文件读写(I/O)

7、实操练习

Python进阶与提高

1、Numpy模块库(Numpy的安装;ndarray类型属性与数组的创建;数组索引与切片;Numpy常用函数简介与使用)

2、Pandas模块库(DataFrame数据结构、表格的变换、排序、拼接、融合、分组操作等)

3、Matplotlib基本图形绘制(线形图、柱状图、饼图、气泡图、直方图、箱线图、散点图等)

4、图形样式的美化(颜色、线型、标记、字体等属性的修改)

5、图形的布局(多个子图绘制、规则与不规则布局绘制、向画布中任意位置添加坐标轴)

6、高级图形绘制(3D图、等高线图、棉棒图、哑铃图、漏斗图、树状图、华夫饼图等)

7、坐标轴高阶应用(共享绘图区域的坐标轴、坐标轴刻度样式设置、控制坐标轴的显示、移动坐标轴的位置)

8、实操练习

模块二:特征工程

数据清洗

1、描述性统计分析(数据的频数分析:统计直方图;数据的集中趋势分析:算数平均值、几何平均数、众数、极差与四分位差、平均离差、标准差、离散系数;数据的分布:偏态系数、峰度;数据的相关分析:相关系数)

2、数据标准化与归一化(为什么需要标准化与归一化?)

3、数据异常值、缺失值处理

4、数据离散化及编码处理

5、手动生成新特征

6、实操练习

变量降维

1、主成分分析(PCA)的基本原理

2、偏最小二乘(PLS)的基本原理

3、案例实践

4、实操练习

特征选择

1、常见的特征选择方法(优化搜索、Filter和Wrapper等;前向与后向选择法;区间法;无信息变量消除法;正则稀疏优化方法等)

2、案例实践

3、实操练习

群优化算法

1、遗传算法(GeneticAlgorithm,GA)的基本原理(以遗传算法为代表的群优化算法的基本思想是什么?粒子群算法、蜻蜓算法、蝙蝠算法、模拟退火算法等与遗传算法的区别与联系)

2、遗传算法的Python代码实现

3、案例实践一:一元函数的寻优计算

4、案例实践二:离散变量的寻优计算(特征选择)

5、实操练习

模块三:回归拟合模型

线性回归模型

1、一元线性回归模型与多元线性回归模型(回归参数的估计、回归方程的显著性检验、残差分析)

2、岭回归模型(工作原理、岭参数k的选择、用岭回归选择变量)

3、LASSO模型(工作原理、特征选择、建模预测、超参数调节)

4、ElasticNet模型(工作原理、建模预测、超参数调节)

5、案例实践

6、实操练习

前向型神经网络

1、BP神经网络的基本原理(人工智能发展过程经历了哪些曲折?人工神经网络的分类有哪些?BP神经网络的拓扑结构和训练过程是怎样的?什么是梯度下降法?BP神经网络建模的本质是什么?)

2、BP神经网络的Python代码实现(怎样划分训练集和测试集?为什么需要归一化?归一化是必须的吗?什么是梯度爆炸与梯度消失?)

3、BP神经网络参数的优化(隐含层神经元个数、学习率、初始权值和阈值等如何设置?什么是交叉验证?)

4、值得研究的若干问题(欠拟合与过拟合、泛化性能评价指标的设计、样本不平衡问题等)

5、极限学习机(ExtremeLearningMachine,ELM)的工作原理

6、案例演示  7、实操练习

模块四:分类识别模型

KNN、贝叶斯分类与支持向量机

1、KNN分类模型(KNN算法的核心思想、距离度量方式的选择、K值的选取、分类决策规则的选择)

2、朴素贝叶斯分类模型(伯努利朴素贝叶斯BernoulliNB、类朴素贝叶斯CategoricalNB、高斯朴素贝叶斯besfGaussianNB、多项式朴素贝叶斯MultinomialNB、补充朴素贝叶斯ComplementNB)

3、SVM的工作原理(SVM的本质是解决什么问题?SVM的四种典型结构是什么?核函数的作用是什么?什么是支持向量SVM扩展知识(如何解决多分类问题?SVM除了建模型之外,还可以帮助我们做哪些事情?)

4、案例实践

5、实操练习

决策树、随机森林、LightGBM、XGBoost

1、决策树的工作原理(微软小冰读心术的启示;什么是信息熵和信息增益?ID3算法和C4.5算法的区别与联系);决策树除了建模型之外,还可以帮我们做什么事情?

2、随机森林的工作原理(为什么需要随机森林算法?广义与狭义意义下的“随机森林”分别指的是什么?“随机”体现在哪些地方?随机森林的本质是什么?怎样可视化、解读随机森林的结果?)

3、Bagging与Boosting的区别与联系

4、AdaBoostvs.GradientBoosting的工作原理

5.常用的GBDT算法框架(XGBoost、LightGBM)

6、案例实践

7、实操练习

模块五:聚类分析算法

K均值、DBSCAN、层次聚类

1、K均值聚类算法的工作原理

2、DBSCAN(Density-BasedSpatialClusteringofApplicationswithNoise)聚类算法的工作原理

3、层次聚类算法的工作原理

4、案例讲解 

5、实操练习

模块六:关联分析算法

关联规则、协同过滤Apriori算法

1、关联规则算法的工作原理

2、协同过滤算法的工作原理

3、Apriori算法的工作原理

4、案例讲解 

5、实操练习

模块七:总结与答疑讨论

信息检索与常用科研工具

1、如何无障碍地访问Google、YouTube等网站?(谷歌访问助手、VPN等)

2、如何查阅文献资料?怎样能够保证对最新论文的追踪?

3、GoogleScholar、ResearchGate的使用方法

4、应该去哪些地方查找与论文配套的数据和代码?

5、文献管理工具的使用(Endnote、Zotero等)

6、当代码出现错误时,应该如何高效率解决?

7、实操练习

总结与答疑讨论

1、SCI不同分区的论文差别在哪些地方?你知道你的论文为什么显得很单薄吗?

2、从审稿人的角度看,SCI期刊论文需要具备哪些要素?(审稿人关注的点有哪些?如何回应审稿人提出的意见?)

3、如何提炼与挖掘创新点?(如果在算法层面上难以做出原创性的工作,如何结合自己的实际问题提炼与挖掘创新点?)

4、相关学习资料分享与拷贝(图书推荐、在线课程推荐等) 

5、建立微信群,便于后期的讨论与答疑

6、答疑讨论(提前把问题准备好)

数据挖掘分类方法的摘要 数据挖掘分类的步骤

定义:

分类就是得到一个函数或分类模型(即分类器),通过分类器将未知类别的数据对象映射到某个给定的类别。

1. 数据分类可以分为两步

第一步建立模型,通过分析由属性描述的数据集,来建立反映其特性的模型。该步骤也称为是有监督的学习,基于训练集而到处模型,训练集合是已知类别标签的数据对象。

第二步使用模型对数据对象inxing分类。首先评估对象分类的准确度或者其他指标,如果可以接受,才使用它来对未知类别标签的对象进行分类。

2.预测的目的

预测的目的主要是从历史数据记录中自动推导出对给定数据的推广描述,从而能够对实现未知类别的数据进行预测。分类和回归是两类主要的预测问题,分类是预测离散的值,回归是预测连续值。

3.分类器的使用和输出

3.1 测试选项

使用训练集提供测试集交叉验证按照比例分割

3.2输出结果

运行信息:===Runinformation===//学习方案以及选项Scheme:weka.classifiers.trees.J48-C0.25-M2//关系名称Relation:iris//实例数目Instances:150//属性数目Attributes:5sepallengthsepalwidthpetallengthpetalwidthclass//测试模式Testmode:evaluateontrainingdata///分类器模型(完整的训练集合)===Classifiermodel(fulltrainingset)===J48prunedtree------------------petalwidth0.6|petalwidth1.7:Iris-virginica(46.0/1.0)NumberofLeaves:5Sizeofthetree:9Timetakentobuildmodel:0.05seconds===Evaluationontrainingset===Timetakentotestmodelontrainingdata:0.01seconds总结===Summary===//正确分类的实例CorrectlyClassifiedInstances14798%//错误分类的实例IncorrectlyClassifiedInstances32%//Kappa统计:用于评判分类器的分类结果和随机分类的差异度。K=1表明和分类器和随机分类完全不同;K=0表明二者之间相同;K=-1表明分类器比随机分类效果还差。值越接近1越好。Kappastatistic0.97//平均绝对误差【0,1】Meanabsoluteerror0.0233//均方根误差[0,1]Rootmeansquarederror0.108//相对绝对误差Relativeabsoluteerror5.2482%//相对均方根误差Rootrelativesquarederror22.9089%//案例的覆盖程度百分数越大越好Coverageofcases(0.95level)98.6667%//平均相对区域的大小Meanrel.regionsize(0.95level)34%//实例总数TotalNumberofInstances150//按照类别的详细准确性===DetailedAccuracyByClass===TPRateFPRatePrecisionRecallF-MeasureMCCROCAreaPRCAreaClass1.0000.0001.0001.0001.0001.0001.0001.000Iris-setosa0.9800.0200.9610.9800.9700.9550.9900.969Iris-versicolor0.9600.0100.9800.9600.9700.9550.9900.970Iris-virginicaWeightedAvg.0.9800.0100.9800.9800.9800.9700.9930.980混淆矩阵===ConfusionMatrix===abc

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇