版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——ms数据挖掘算法数据挖掘概述
数据挖掘算法是创立挖掘模型的机制。若要创立模型,算法将首先分析一组数据,查找特定模式和趋势。然后,算法将使用此分析的结果来定义挖掘模型的参数。
算法创立的挖掘模型可以采用多种形式,这包括:
?
说明在交易中如何将产品分组到一起的一组规则。预计特定用户是否会购买某个产品的决策树。预计销量的数学模型。
说明数据集中的事例如何相关的一组分类。
?
?
?
MicrosoftSQLServer2023AnalysisServices(SSAS)提供了几个供您在数据挖掘解决方案中使用的算法。这些算法是所有可用于数据挖掘的算法的子集。您还可以使用符合OLEDBforDataMining规范的第三方算法。有关第三方算法的详细信息,请参阅插件算法。
算法回想
AnalysisServices包括了以下算法类型:
?
分类算法基于数据集中的其他属性预计一个或多个离散变量。分类算法的一个例如是Microsoft决策树算法。
?
回归算法基于数据集中的其他属性预计一个或多个连续变量,如利润或亏损。回归算法的一个例如是Microsoft时序算法。分割算法将数据划分为组或分类,这些组或分类的项具有相像属性。分割算法的一个例如是Microsoft聚类分析算法。
关联算法查找数据集中的不同属性之间的相关性。这类算法最常见的应用是创立可用于市场篮分析的关联规则。关联算法的一个例如是Microsoft关联算法。
顺序分析算法汇总数据中的常见顺序或事件,如Web路径流。顺序分析算法的一个例如是Microsoft顺序分析和聚类分析算法。
应用算法
?
?
?
为特定的业务任务选择正确的算法很有挑战性。您可以使用不同的算法来执行同样的业务任务,每个算法会生成不同的结果,而某些算法还会生成多种类型的结果。例如,您不仅可以将Microsoft决策数算法用于预计,而且还可以将它用作一种减少数据集的列数的方法,由于决策树能够识别出不影响最终挖掘模型的列。
算法不必独立使用,在一个数据挖掘解决方案中可以使用一些算法来探析数据,而使用其他算法基于该数据预计特定结果。例如,可以使用聚类分析算法来识别模式,将数据细分成多少有点相像的组,然后使用分组结果来创立更好的决策数模型。可以在一个解决方案中使用多个算法
来执行不同的任务,例如,使用回归树算法来获取财务预计信息,使用基于规则的算法来执行市场篮分析。
挖掘模型可以预计值、生成数据摘要并查找隐含的相关性。为帮助您选择用于数据挖掘解决方案的算法,下表给出了可为特定的任务使用哪些算法的建议。
可使用的Microsoft任务算法Microsoft决策树算法MicrosoftNaiveBayes算法预计离散属性。例如,预计目标邮件活动的收件人是否会购买某个产品。Microsoft聚类分析算法Microsoft神经网络算法(SSAS)Microsoft决策树算法预计连续属性。例如,预计下一年的销量。Microsoft时序算法Microsoft顺序分析和预计顺序。例如,执行公司网站的点击流分析。聚类分析算法查找交易中的常见项的组。例如,使用市场篮分析来建议客户购买其他产品。Microsoft关联算法Microsoft决策树算法Microsoft聚类分析算查找相像项的组。例如,将人口统计数据分割为组以便更好地理解属性之间的关系。法Microsoft顺序分析和聚类分析算法由于各个模型返回不同类型的结果,所以AnalysisServices为每个算法提供单独的查看器。在AnalysisServices中浏览挖掘模型时,该模型会使用模型的相应查看器,显示在数据挖掘设计器的“挖掘模型查看器〞选项卡上。有关详细信息,请参阅查看数据挖掘模型。
Microsoft决策树算法
Microsoft决策树算法是由MicrosoftSQLServer2023AnalysisServices(SSAS)提供的分类和回归算法,用于对离散和连续属性进行预计性建模。
对于离散属性,该算法根据数据集中输入列之间的关系进行预计。它使用这些列的值或状态预计指定的可预计列的状态。具体地说,该算法标识与可预计列相关的输入列。例如,在预计哪些客户可能购买自行车的方案中,假使在十名年轻客户中有九名购买了自行车,但在十名年龄较大的客户中只有两名购买了自行车,则该算法从中推断出年龄是自行车
购买状况的最正确预计因子。决策树根据朝向特定结果发展的趋势进行预计。
对于连续属性,该算法使用线性回归确定决策树的拆分位置。假使有多个列设置为可预计列,或输入数据包含设置为可预计的嵌套表,则该算法将为每个可预计列分别生成一个决策树。
例如
AdventureWorksCycle公司的市场部需要标识其以前客户的特征,这些特征可以指示这些客户以后是否有可能购买其产品。
AdventureWorks数据库存储了描述其以前客户的人口统计信息。通过使用Microsoft决策树算法分析这些信息,市场部可以生成一个模型,该模型根据有关特定客户的已知列的状态(如人口统计或以前的购买模式)预计该客户是否会购买产品。
算法的原理
Microsoft决策树通过在树中创立一系列拆分(也称为节点)来生成数据挖掘模型。每当发现输入列与可预计列密切相关时,算法便会向该模型中添加一个节点。该算法确定拆分的方式不同,主要取决于它预计的是连续列还是离散列。有关Microsoft决策树算法如何处理可预计的离散列的详细说明,请参阅ScalableClassificationoverSQLDatabases和LearningBayesianNetworks:TheCombinationofKnowledgeandStatisticalData。有关Microsoft决策树算法
如何处理可预计的连续列的详细信息,请参阅AutoregressiveTreeModelsforTime-SeriesAnalysis的附录。
预计离散列
通过柱状图可以演示Microsoft决策树算法为可预计的离散列生成树的方式。下面的关系图显示了一个根据输入列Age绘出可预计列BikeBuyers的柱状图。该柱状图显示了客户的年龄可帮助判断该客户是否将会购买自行车。
该关系图中显示的关联将会使Microsoft决策树算法在模型中创立一个新节点。
随着算法不断向模型中添加新节点,便形成了树结构。该树的顶端节点描述了客户总体可预计列的分解。随着模型的不断增大,该算法将考虑所有列。
预计连续列
当Microsoft决策树算法根据可预计的连续列生成树时,每个节点都包含一个回归公式。拆分出现在回归公式的每个非线性点处。例如,请看下面的关系图。
该关系图包含可通过使用一条或两条连线建模的数据。不过,一条连线将使得模型表示数据的效果较差。相反,假使使用两条连线,则模型可以更确切地迫近数据。两条连线的相交点是非线性点,并且是决策树模型中的节点将拆分的点。例如,与上图中的非线性点相对应的节点可以由以下关系图表示。两个等式表示两条连线的回归等式。
使用算法
决策树模型必需包含一个键列、若干输入列和一个可预计列。
Microsoft决策树算法支持特定的输入列内容类型、可预计列内容类型和建模标志,如下表所示。输入列内容类型可预计列Continuous、Cyclical、Discrete、Discretized、Key、Table和OrderedContinuous、Cyclical、Discrete、Discretized、Table和内容类型OrderedMODEL_EXISTENCE_ONLY、NOTNULL和建模标志REGRESSOR所有Microsoft算法均支持一些通用的函数。但Microsoft决策树算法还支持其他函数,如下表所示。IsDescendantIsInNodePredictAdjustedProbabilityPredictAssociationPredictHistogramPredictNodeIdPredictProbabilityPredictStdevPredictSupportPredictVariance有关对所有Microsoft算法都通用的函数列表,请参阅数据挖掘算法。有关如何使用这些函数的详细信息,请参阅数据挖掘扩展插件(DMX)函数参考。
Microsoft决策树算法支持使用预计模型标记语言(PMML)创立挖掘模型。
Microsoft决策树算法支持多个参数,这些参数会对所生成的挖掘模型的性能和确凿性产生影响。下表对各参数进行了说明:
参数说明定义算法在调用功能选择之前可以处理的输入属性数。假使将MAXIMUM_INPUT_ATTRIBUTES此值设置为0,则表示关闭功能选择。默认值为255。定义算法在调用功能选择之前可以处理的输出属性数。假使将此值设置为0,则表示关闭功能MAXIMUM_OUTPUT_ATTRIBUTES选择。默认值为255。确定用于计算拆分分数的方法。可用选项包括:Entropy(1)、BayesianwithK2Prior(2)SCORE_METHOD或BayesianDirichletEquivalent(BDE)Prior(3)。默认值为3。确定用于拆分节点的方法。可用选项包括:Binary(1)、SPLIT_METHODComplete(2)或Both(3)。默认值为3。确定在决策树中生成拆分所需MINIMUM_SUPPORT的叶事例的最少数量。默认值为10。控制决策树的增长。该值较低时,会增加拆分数;该值较高时,COMPLEXITY_PENALTY会减少拆分数。默认值基于特定模型的属性数,详见以以下表:
?对于1到9个属性,默
认值为0.5。对于10到99个属性,默认值为0.9。对于100或更多个属性,默认值为0.99。强制算法将指示的列用作回归量,而不考虑算法为这些列计算FORCED_REGRESSOR出的重要性。此参数只用于预计连续属性的决策树。请参阅
??Microsoft聚类分析算法
Microsoft聚类分析算法是由MicrosoftSQLServer2023AnalysisServices(SSAS)提供的分段算法。该算法使用迭代技术将数据集中的事例分组为包含类似特征的分类。在浏览数据、标识数据中的异常及创立预计时,这些分组十分有用。
聚类分析模型标识数据集中可能无法通过随意观测在规律上得出的关系。例如,在规律上可以得知,骑自行车上下班的人的居住地点寻常离其工作地点不远。但该算法可以找出有关骑自行车上下班人员的其他并
不明显的特征。在下面的关系图中,分类A表示有关寻常开车上班人员的数据,而分类B表示寻常骑自行车上班人员的数据。
聚类分析算法不同于Microsoft决策树算法等其他数据挖掘算法,区别在于无需指定可预计列便能生成聚类分析模型。聚类分析算法严格地根据数据以及该算法所标识的分类中存在的关系定型。
例如
考虑这样一组人员,他们共享类似的人口统计信息并从AdventureWorks公司购买类似的产品。这组人员就表示一个数据分类。数据库中可能存在多个这样的分类。通过观测构成分类的各列,可以更明白地了解数据集中的记录如何相互关联。
算法的原理
Microsoft聚类分析算法首先标识数据集中的关系并根据这些关系生成一系列分类。散点图是一种十分有用的方法,可以直观地表示算法如何对数据进行分组,如下面的关系图所示。散点图可以表示数据集中的所有事例,在该图中每个事例就是一个点。分类对该图中的点进行分组并阐释该算法所标识的关系。
在最初定义分类后,算法将通过计算确定分类表示点分组状况的适合程度,然后尝试重新定义这些分组以创立可以更好地表示数据的分类。该算法将循环执行此过程,直到它不能再通过重新定义分类来改进结果为止。
Microsoft聚类分析算法提供以下两种方法来计算点在分类中的适合程度:ExpectationMaximization(EM)和K-Means。对于EM聚类分析,该算法使用一种统计方法来确定分类中存在数据点的概率。对于K-Means,该算法使用距离度量值将数据点分派给其最接近的分类。
生成分类时不使用其用法设置为只预计的列。在生成分类后,将计算这些列在分类中的分布。
有关Microsoft聚类分析算法工作原理的更详细说明,请参阅ScalingEM(ExpectationMaximization)ClusteringtoLargeDatabases。
使用算法
聚类分析模型必需包含一个键列和若干输入列。还可以将输入列定义为可预计列。
该算法支持特定输入列内容类型、可预计列内容类型和建模标志,如下表所示。
输入列内容Continuous、Cyclical、Discrete、Discretized、Key、类型Table和Ordered可预计列内Continuous、Cyclical、Discrete、Discretized、Table容类型和Ordered建模标志MODEL_EXISTENCE_ONLY和NOTNULL所有Microsoft算法均支持一些通用的函数。但是,Microsoft聚类分析算法还支持下表中列出的其他函数。ClusterClusterProbabilityIsDescendantIsInNodePredictAdjustedProbabilityPredictAssociationPredictHistogramPredictCaseLikelihoodPredictNodeIdPredictProbabilityPredictStdevPredictSupportPredictVariance有关对所有Microsoft算法都通用的函数列表,请参阅数据挖掘算法。有关如何使用这些函数的详细信息,请参阅数据挖掘扩展插件(DMX)函数参考。
Microsoft聚类分析算法支持使用预计模型标记语言(PMML)创立挖掘模型。
Microsoft聚类分析算法支持多个参数,这些参数会对所生成的挖掘模型的性能和确凿性产生影响。下表对各参数进行了说明:
参数说明指定算法要使用的聚类分析方法。有以下聚类分析方法可用:scalableEM(1)、non-scalableCLUSTERING_METHODEM(2)、scalableK-Means(3)和non-scalableK-Means(4)。默认值为1。指定将由算法生成的大致分类数。假使无法基于相应的数据生成该CLUSTER_COUNT大致数目的分类,则算法将生成尽可能多的分类。假使将CLUSTER_COUNT设置为0,则算法将使用试探性方法最确凿
地确定要生成的分类数。默认值为10。指定在为建模初始阶段随机生成CLUSTER_SEED分类时所要使用的种子数字。默认值为0。指定每个分类中的最小事例数。MINIMUM_SUPPORT默认值为1。指定在聚类分析过程中构建的示MODELLING_CARDINALITY例模型数。默认值为10。指定一个值,它可确定何时达到收敛而且算法完成建模。当分类概率中的整体变化小于STOPPING_TOLERANCESTOPPING_TOLERANCE参数与模型大小之比时,即达到收敛。默认值为10。SAMPLE_SIZE假使CLUSTERING_METHOD参数设置为其中一个可缩放聚类分析方法,请指定算法在每个传递中使用的事例数。假使将SAMPLE_SIZE参数设置为0,则会在单个传递中对整个数据集进行聚类分析操作,从而导致内存和性能问题。默认值为50000。指定算法在调用功能选择之前可以处理的最大输入属性数。假使将此值设置为0,则指定不限制输入MAXIMUM_INPUT_ATTRIBUTES属性的最大数量。默认值为255。指定算法支持的最大属性状态数。假使属性的状态数大于该最大状MAXIMUM_STATES态数,算法将使用该属性的最常见状态,同时忽略剩余状态。默认值为100。MicrosoftNaiveBayes算法
MicrosoftNaiveBayes算法是MicrosoftSQLServer2023AnalysisServices(SSAS)提供的一种分类算法,用于预计性建模。该算法在假定列互不相关的前提下计算输入列和可预计列之间的条件概率。该算法的名称NaiveBayes即由这一无关性假定而来,由于基于这种理想化的假定,该算法未将可能存在的依靠关系考虑在内。与其他Microsoft算法相比,该算法所需的运算量小,因而能够快速生成挖掘模型,以发现输入列和可预计列之间的关系。可以使用该算法进行初始数据探测,然后根据该算法的结果使用其他运算量较大、更加确切的算法创立其他挖掘模型。
例如
作为正在进行的促销策略,AdventureWorksCycle公司的市场部已经决定通过发送宣传资料将目标定位为潜在的客户。为了降低成本,他们只向有可能做出反应的客户发送宣传资料。该公司将有关客户统计数据以及对上一邮件的反映的信息存储在数据库中。他们希望利用这些数据将潜在客户和具备一致特征并曾经购买过公司产品的客户进行对比,以了解年龄和位置等统计数据如何帮助预计客户对促销的响应。他们特别希望找出购买自行车的客户与未购买自行车的客户之间的区别。使用MicrosoftNaiveBayes算法,市场部能够快速预计特定客户群的结果,进而确定最有可能对邮件做出响应的客户。而使用BusinessIntelligenceDevelopmentStudio中的MicrosoftNaiveBayes
查看器,他们还能够以直观的方式专门调查哪些输入列有助于对宣传资料做出积极响应。
算法的原理
在给定可预计列的各种可能状态的状况下,MicrosoftNaiveBayes算法将计算每个输入列的每种状态的概率。使用Business
IntelligenceDevelopmentStudio中的MicrosoftNaiveBayes查看器可以直观地观测算法分布状态的方式,如下图所示。
MicrosoftNaiveBayes查看器可列出数据集中的每个输入列。假使提供了可预计列的每种状态,它还会显示每一列中状态的分布状况。可以利用该视图确定在区分可预计列状态中具有重要作用的输入列。例
如,在此图的CommuteDistance列中,通勤距离为一至二英里的客户购买自行车的概率是0.387,不购买自行车的概率是0.287。在本例如中,该算法使用从诸如上下班路程之类的客户特征得出的数字信息来预计客户是否会购买自行车。有关如何使用MicrosoftNaiveBayes查看器的详细信息,请参阅使用MicrosoftNaiveBayes查看器查看挖掘模型。
使用算法
NaiveBayes模型必需包含一个键列、若干输入列以及一个可预计列。所有列都必需是离散列或经过离散化的列。有关离散化列的详细信息,请参阅离散化方法。
MicrosoftNaiveBayes算法支持特定输入列内容类型、可预计列内容类型和建模标志,如下表所示。
输入列内容类Cyclical、Discrete、Discretized、Key、Table和型可预计列内容Cyclical、Discrete、Discretized、Table和Ordered类型建模标志MODEL_EXISTENCE_ONLY和NOTNULLOrdered所有Microsoft算法均支持一些通用的函数。但是,MicrosoftNaiveBayes算法还支持其他函数,如下表所示。
IsDescendantPredictAdjustedProbabilityPredictAssociationPredictHistogramPredictNodeIdPredictProbabilityPredictSupport有关对所有Microsoft算法都通用的函数列表,请参阅数据挖掘算法。有关如何使用这些函数的详细信息,请参阅数据挖掘扩展插件(DMX)函数参考。
MicrosoftNaiveBayes算法不支持使用预计模型标记语言(PMML)创立挖掘模型。
MicrosoftNaiveBayes算法支持对所生成挖掘模型的性能和精度有影响的若干参数。下表对各参数进行了说明:
参数说明指定算法在调用功能选择之前可以处理的最大输入属性数。假使将此值MAXIMUM_INPUT_ATTRIBUTES设置为0,则为输入属性禁用功能选择。默认值为255。指定算法在调用功能选择之前可以处理的最大输出属性数。假使将此值MAXIMUM_OUTPUT_ATTRIBUTES设置为0,则为输出属性禁用功能选择。默认值为255。指定输入属性和输出属性之间的最小依靠关系概率。该值用于限制算法生成的内容大小。该属性可设置为介于0和1MINIMUM_DEPENDENCY_PROBABILITY之间的值。该值越大,模型内容中的属性数就越少。默认值为0.5。指定算法支持的最大属性状态数。假使属性的状MAXIMUM_STATES态数大于该最大状态数,算法将使用该属性的最常见状态,并将剩余状态视为不存在。默认值为100。
Microsoft关联算法
Microsoft关联算法是指MicrosoftSQLServer2023AnalysisServices(SSAS)提供的关联算法,对建议引擎十分有用。建议引擎根据客户已购买的项或者客户已对其表现出兴趣的项向他们推荐产品。Microsoft关联算法对市场篮分析也十分有用。有关市场篮分析的详细信息,请参阅“数据挖掘教程〞中的第4课:生成市场篮方案。关联模型基于包含各事例的标识符及各事例所包含项的标识符的数据集生成。事例中的一组项称为“项集〞。关联模型由事例中一系列项集和说明这些项如何分组的规则组成。算法标识的规则可用于根据客户购物车中已有的项来预计客户将来可能购买的产品。以下关系图显示了项集中的一系列规则。
正如该关系图中所示,Microsoft关联算法可能会在数据集中找到大量规则。该算法使用两个参数(support和probability)来说明项集以及该算法生成的规则。例如,假使X和Y表示购物车中可能有的两
个项,则support参数是数据集中包含X和Y这两项组合的事例的数目。通过将support参数与用户定义的MINIMUM_SUPPORT和MAXIMUM_SUPPORT参数结合使用,该算法可控制生成的项集数。probability参数也称为“置信度〞,表示数据集中既包含X也包含Y的一部分事例。通过将probability参数与
MINIMUM_PROBABILITY参数结合使用,该算法可控制生成的规则数。
例如
AdventureWorksCycle公司正在重新设计其网站的功能。重新设计的目的是提高产品的零售量。由于该公司在事务数据库中记录了每个销售,因此它们可以使用Microsoft关联算法来标识倾向于集中购买的产品集。然后,它们可以根据客户购物篮中已有的项预计客户可能感兴趣的其他项。
算法的原理
Microsoft关联算法遍历数据集以查找同时出现在某个事例中的项。然后,该算法将最少出现了由MINIMUM_SUPPORT参数指定的最少事例数次数的关联项分为项集。例如,项集可以为“Mountain200=Existing,Sport100=Existing〞,并且支持的数目可以为710,那么该算法将根据项集生成规则。可以使用这些规则根据是否存在该算法标识为重要项的其他特定项,预计数据库中的某项是否存在。例如,某规则可以为“ifTouring1000=existingandRoadbottle
cage=existing,thenWaterbottle=existing〞,并且其概率可能为0.812。在此例中,该算法发现由于购物篮中存在Touring1000轮胎和水壶套,因此预计购物篮中也可能存在水壶。
使用算法
关联模型必需包含一个键列、多个输入列以及一个可预计列。输入列必需为离散列。关联模型的输入数据寻常包含在两个表中。例如,一个表可能包含客户信息,而另一个表可能包含客户购物状况。您可以使用嵌套表将该数据输入到模型中。有关嵌套表的详细信息,请参阅嵌套表。Microsoft关联算法支持下表中列出的特定输入列内容类型、可预计列内容类型以及建模标志。
输入列内容类Cyclical、Discrete、Discretized、Key、Table和型可预计列内容Cyclical、Discrete、Discretized、Table和Ordered类型建模标志MODEL_EXISTENCE_ONLY和NOTNULLOrdered所有Microsoft算法均支持一些通用的函数。但是,Microsoft关联算法还支持下表中列出的其他函数。IsDescendantPredictHistogram
IsInNodePredictAdjustedProbabilityPredictAssociationPredictNodeIdPredictProbabilityPredictSupport有关对所有Microsoft算法都通用的函数列表,请参阅数据挖掘算法。有关如何使用这些函数的详细信息,请参阅数据挖掘扩展插件(DMX)函数参考。
Microsoft关联算法不支持使用预计模型标记语言(PMML)创立挖掘模型。
Microsoft关联算法支持数个影响生成的挖掘模型的性能和确凿性的参数。下表对各参数进行了说明:
参数说明指定在该算法生成规则之前必需包含项集的事例的最小数目。将该值设置为小于1将指定MINIMUM_SUPPORT最小事例数作为事例总计的百分比。将该值设置为大于1的整数将指定最小事例数作为必需包含项集的事例的绝对数。假使内存有限,则该算法可能会增大此参数的值。默认值为0.03。指定支持项集的事例的最大数目。假使该值小于1,则表示事例总计的百分比。大于1的MAXIMUM_SUPPORT值表示可以包含项集的事例的绝对数。默认值为1。指定一个项集中允许的最小项MINIMUM_ITEMSET_SIZE数。默认值为1。指定一个项集中允许的最大项数。将该值设置为0将指定对MAXIMUM_ITEMSET_SIZE项集的大小没有限制。默认值为3。指定要生成的最大项集数。假使MAXIMUM_ITEMSET_COUNT未指定数目,则该算法将生成所有可能的项集。默认值为200000。指定规则为True的最小概率。例如,将该值设置为0.5MINIMUM_PROBABILITY将指定不生成概率小于百分之五十的规则。默认值为0.4。定义为进行预计而需要缓存或OPTIMIZED_PREDICTION_COUNT优化的项数。Microsoft顺序分析和聚类分析算法
Microsoft顺序分析和聚类分析算法是由MicrosoftSQLServer2023AnalysisServices(SSAS)提供的一种顺序分析算法。您可以使用该算法来研究包含可通过下面的路径或“顺序〞链接到的事件的数据。该算法通过将一致的顺序分到一组或一类中来查找最常见的顺序。这些顺序可以采取多种格式,包括:
?
用来说明用户浏览网站时的点击路径的数据。
用来说明客户将商品添加到在线零售商的购物车中的顺序的数据。
?
该算法类似于Microsoft聚类分析算法。不过,Microsoft顺序分析和聚类分析算法不是查找包含类似属性的事例的分类,而是查找顺序中包含类似路径的事例的分类。
该算法创立的挖掘模型在数据中包含了最常见顺序的说明。您可以使用这些说明来预计新顺序的下一个可能步骤。在对记录进行分类时,该算法还在数据中对与顺序没有直接关系的列进行了说明。由于该算法包括了非相关列,所以您可以使用得到的模型来识别顺序数据和没有出现在顺序中的数据之间的关系。例如
AdventureWorks公司的网站收集有关站点用户访问什么页面的信息和有关网页访问顺序的信息。由于该公司提供在线订购,所以用户必需登录到此站点。这可以为该公司的各个客户配置文件提供点击信息。通过对此数据使用Microsoft顺序分析和聚类分析算法,该公司可以查找具有一致的点击模式或点击顺序的客户组或分类。然后,该公司可以使用这些分类来分析用户如何在网站中移动,来识别哪些页面与特定产品的销售关系最密切及预计接下来哪些页面最有可能被访问。
算法的原理
该算法采用期望最大化(EM)聚类分析方法来识别分类及其顺序。该算法明确地使用某种概率性方法来确定某个数据点存在于某个分类中的概率。有关Microsoft聚类分析算法中如何使用此聚类分析方法的说明,请参阅Microsoft聚类分析算法。
Microsoft顺序分析和聚类分析算法使用的输入列之一是一个嵌套表,该表中包含序列数据。此数据是某个数据集(例如产品购买或Web点击)中的各个事例的一系列状态转换。为确定哪个顺序列用作聚类分析
的输入列,该算法度量该数据集中所有可能顺序之间的差异或距离。在度量完这些距离后,该算法将该顺序列用作聚类分析的EM方法的输入。
使用算法
顺序聚类分析模型需要一个用来标识记录的键和一个包含顺序相关列(例如标识顺序中的事件的网页标识符)的嵌套表。每个顺序只允许有一个顺序相关列,且每个模型中只允许有一种类型的顺序。若要在本主题前面提到的例如方案中创立一个模型,您需要创立一个包含两个表的数据源。第一个表用来包含订单,其次个表用来包含订单放置到购物车的顺序。
Microsoft顺序分析和聚类分析算法支持下表中列出的特定输入列内容类型、可预计列内容类型和建模标志。
输入列内Continuous、Cyclical、Discrete、Discretized、Key、容类型KeySequence、Table和Ordered可预计列Continuous、Cyclical、Discrete、Discretized、Table和内容类型Ordered建模标志MODEL_EXISTENCE_ONLY和NOTNULL所有Microsoft算法均支持一些通用的函数。不过,Microsoft顺序分析和聚类分析算法支持下表中列出的其他函数。
ClusterClusterProbabilityIsDescendantIsInNodePredictAdjustedProbabilityPredictAssociationPredictCaseLikelihoodPredictHistogramPredictNodeIdPredictProbabilityPredictSequencePredictStdevPredictSupportPredictVariance有关对所有Microsoft算法都通用的函数列表,请参阅数据挖掘算法。有关如何使用这些函数的详细信息,请参阅数据挖掘扩展插件(DMX)函数参考。
Microsoft顺序分析和聚类分析算法不支持使用预计性模型标记语言(PMML)来创立挖掘模型。
Microsoft顺序分析和聚类分析算法支持几个影响所得到的挖掘模型的性能和确凿性的参数。下表对各参数进行了说明:
参数CLUSTER_COUNT说明指定将由算法生成的大致分类数。假使无法基于相应的数据生成该大致数目的分类,则算法将生成尽可能多的分类。假使将CLUSTER_COUNT设置为0,则算法将使用试探性方法最确凿地确定要生成的分类数。默认值为10。指定每个分类中的最小事例数。MINIMUM_SUPPORT默认值为10。指定一个顺序可以拥有的最大状态数。将该值设置为大于100的数将导致算法创立一个不提供有MAXIMUM_SEQUENCE_STATES意义的信息的模型。默认值为64。指定算法支持的非顺序属性的最大状态数。假使某个非顺序属性的MAXIMUM_STATES状态数大于该最大状态数,则算法将使用该属性最常见的状态并将剩余状态视为不存在。默认值为100。Microsoft时序算法
Microsoft时序算法是MicrosoftSQLServer2023AnalysisServices(SSAS)提供的回归算法,用于创立数据挖掘模型以预计连续列,如预计方案中的产品销售额。其他Microsoft算法创立依靠给定输入列来预计可预计列的模型(如决策树模型),而时序模型的预计则仅根据算法在创立模型时从原始数据集派生的趋势。以下关系图显示了一个典型模型,用于预计各个时间的销售额。
关系图中显示的该模型由两部分组成:历史信息以红色显示,预计信息以蓝色显示。红色数据代表算法用于创立模型的信息,而蓝色数据则代表模型作出的预计。由红色数据和蓝色数据联合形成的线称为“序列〞。每个预计模型必需包含一个事例序列,即区分序列列中不同点的列。例如,由于关系图中的数据显示了几个月中的历史和预计销售额序列,因此数据列为事例序列。
Microsoft时序算法的一个重要功能就是可以执行交织预计。也就是说,假使使用两个单独但相关的序列为该算法定型,就可以使用得到的模型根据其他序列的行为预计一个序列的结果。例如,一个产品的实际销售额可能会影响另一个产品的预计销售额。
例如
AdventureWorksCycle公司的管理层希望预计来年的自行车每月销售额。该公司特别关注的是不同型号的自行车的销售是否彼此相关,一种自行车型号的销售状况是否可用于预计另一种型号的销售状况。通过对过去三年的历史数据使用Microsoft时序算法,该公司可以生成一个数据挖掘模型,用于预计未来的自行车销售状况。此外,该公司还可以执行交织预计,以查看各个自行车型号的销售趋势是否相关。
算法的原理
Microsoft决策树算法通过使用自动回归决策树来为模型定型。每个模型都包含一个KEYTIME列,该列定义了模型将定义的时间段。该算法将过去的项的可变数目关联到要预计的每个当前项目。有关Microsoft时序算法如何运行的详细说明,请参阅AutoregressiveTreeModelsforTime-SeriesAnalysis。可以用两种方式定义Microsoft时序模型的输入数据。为了了解第一种方法,请考虑下表中的输入事例:
TimeIDProductSalesVolume1/20232/20231/20232/2023AABB10001100500300600500900890表中的TimeID列包含一个时间标识符,每个日期有两个条目。Product列定义数据库中的产品。Sales列说明指定产品一天的毛利润,Volume列说明仓库中保存的指定产品的数量。在本例中,模型可以包含两个可预计列:Sales和Volume。此外,时序模型的输入数据可定义为如下表所示:
TimeIDA_SalesA_VolumeB_SalesB_Volume1/20232/202310001100600500500300900890在上表中,Sales和Volume列分别被拆分成两列,每个列都用产品名称作前缀。结果,TimeID列中每天只有一个条目。该模型包含了四个可预计列:A_Sales、A_Volume、B_Sales和B_Volume。这两种定义输入数据的方法都会使模型中显示一致信息,而输入事例的格式将改变定义挖掘模型的方式。
使用算法
时序算法要求要预计的列必需是连续的。每个模型只允许使用一个事例序列。
Microsoft时序算法支持特定输入列内容类型、可预计列内容类型和建模标志,这些类型和标志如下表所列。输入列内容类型Continuous、Key、KeyTime和Table可预计列内容类型Continuous和Table建模标志NOTNULL和REGRESSOR所有Microsoft算法均支持一些通用的函数。但是,Microsoft时序算法还支持下表所列的其他函数。LagPredictNodeIdPredictStdevPredictTimeSeriesPredictVariance有关对所有Microsoft算法都通用的函数列表,请参阅数据挖掘算法。有关如何使用这些函数的详细信息,请参阅数据挖掘扩展插件(DMX)函数参考。
Microsoft时序算法不支持使用预计模型标记语言(PMML)创立挖掘模型。
Microsoft时序算法支持多个参数,这些参数可影响生成的挖掘模型的性能和确凿性。下表对各参数进行了说明:
参数说明指定在每个时序树中生成一个MINIMUM_SUPPORT拆分所需的最小时间段数。默认值为10。控制决策树的增长。减少该值将增加拆分的可能性。增加该值将COMPLEXITY_PENALTY降低拆分的可能性。默认值为0.1。提供算法的有关数据周期的提醒。例如,假使销售逐年变化,序列中的度量单位是月,则周期PERIODICITY_HINT为12。此参数采用{n[,n]}的格式,其中的n是任意正数。方括号[]中的n是可选项,可以按需重复屡屡。默认值为{1}。指定用于填充历史数据中空白的方法。默认状况下,数据中不允许存在不规则的空白或参差不齐的边缘。以下是可用来填充MISSING_VALUE_SUBSTITUTION不规则空白或边缘的方法:使用以前的值、使用平均值或使用特定数值常量。指定一个介于0和1之间的数字值,用于检测周期。假使将此值设置为更接近于1的数,则允许查找大量接近周期的模式并允许自动生成周期提醒。处AUTO_DETECT_PERIODICITY理大量的周期提醒可能会导致模型定型时间明显加长,模型更确凿。假使将此值设置为更接近于0的数,则只检测周期性强的数据的周期。默认值为0.6。HISTORIC_MODEL_COUNT指定将要生成的历史模型的数量。默认值为1。Microsoft神经网络算法
在MicrosoftSQLServer2023AnalysisServices(SSAS)中,Microsoft神经网络算法通过构造多层感知器网络创立分类和回归挖掘模型。与Microsoft决策树算法相类似,当给定可预计属性的每个状态时,Microsoft神经网络算法可以计算输入属性的每个可能状态的概率。之后,可以根据输入属性,使用这些概率预计被预计属性的结果。
例如
Microsoft神经网络算法对分析繁杂输入数据(如来自制造或商业流程的数据)很有用;对于那些提供了大量定型数据,但使用其他算法很难为其派生规则的业务问题,这种算法也很有用。在以下状况下,建议使用Microsoft神经网络算法:
?
营销和促销分析,如评估直接邮件促销或一个电台广告活动的成功状况。
根据历史数据预计股票升降、汇率浮动或其他频繁变动的金融信息。
分析制造和工业流程。
?
?
算法的原理
Microsoft神经网络算法使用由三层神经元(即感知器)组成的多层感知器网络,该网络也称为反向传播Delta法则网络。这些层分别是输入层、可选隐蔽层和输出层。在一个多层感知器网络中,每个神经元接收一个或多个输入,产生一个或多个一致的输出。每个输出都是对神经元的输入之和的简单非线性函数。输入只是从输入层中的节点传递到隐蔽层中的节点,最终传递到输出层。同一层中的神经元之间没有连接。(假使没有隐蔽层,则输入从输入层中的节点传递到输出层中的节点。)有关多层感知器神经网络的详细探讨不属于本文档的范围。
使用Microsoft神经元网络算法构造的挖掘模型可以包含多个网络,这取决于用于输入和预计的列的数量,或者取决于仅用于预计的列的数量。一个挖掘模型包含的网络数取决于挖掘模型使用的输入列和预计列包含的状态数。
在使用Microsoft神经网络算法创立的神经网络中,存在三种神经元类型:
?
输入神经元
输入神经元提供数据挖掘模型的输入属性值。对于离散输入属性,输入神经元寻常代表输入属性的单个状态,其中包括缺少的值。例如,一个二进制输入属性生成一个输入节点,该节点说明缺少的或现有的状态,并指示该属性是否存在值。用作输入属性的Boolean列可生
成三个输入神经元:一个神经元用于True值,一个神经元用于False值,还有一个神经元用于缺少或现有的状态。具有两个以上状态的离散输入属性可为每个状态生成一个输入神经元,并为缺少的或现有的状态生成一个输入神经元。一个连续的输入属性可生成两个输入神经元:一个是针对缺少的或现有的状态的神经元,一个是针对连续属性自身的值的神经元。输入神经元可向一个或多个隐蔽神经元提供输入。隐蔽神经元
隐蔽神经元接收来自输入神经元的输入,并向输出神经元提供输出。输出神经元
输出神经元代表数据挖掘模型的可预计属性值。对于离散输入属性,输出神经元寻常代表可预计属性的单个预计状态,其中包括缺少的值。例如,一个二进制可预计属性可生成一个输出节点,该节点说明缺少的或现有的状态,以指示该属性是否存在值。用作可预计属性的Boolean列可生成三个输出神经元:一个神经元用于True值,一个神经元用于False值,还有一个神经元用于缺少或现有的状态。具有两种以上状态的离散可预计属性可为每个状态生成一个输出神经元,并为缺少的或现有的状态生成一个输出神经元。连续可预计列可生成两个输出神经元:一个是针对缺少的或现有的状态的神经元,
?
?
一个是针对连续列本身的值的神经元。假使通过检查可预计列集生成了500个以上的输出神经元,则AnalysisServices将在挖掘模型中生成一个新的网络,用于代表超出部分的输出神经元。神经元可接收多个输入:对于输入神经元,神经元接收来自原始数据的输入;对于隐蔽神经元和输出神经元,神经元接收来自神经网络中其他神经元的输出的输入。输入在神经元之间建立了关系,而这些关系可用作分析特定事例集时的路径。
为每个输入都分派了一个称为“权重〞的值,该值用于说明特定的输入对于隐蔽神经元或输出神经元的相关性和重要性。分派给输入的权重值越大,则该输入与算法在确定该输入是否成功分类一个特定事例时所收到的神经元的相关性就越高,重要性也就越大。另请注意,权重可以是负值,表示输入可能抑制而不是激活特定神经元。输入值与权重相乘可以强调特定神经元的输入。(对于负权重值,输入值与权重相乘可降低重要性。)
相应地,每个神经元都分派有一个称为“激活函数〞的简单非线性函数,用于说明特定神经元对于神经网络层的相关性或重要性。隐蔽神经元使用双曲正切函数作为其激活函数,但输出神经元使用S函数(Sigmoid)作为其激活函数。这两个函数都是非线性连续函数,允许神经网络在输入和输出神经元之间建立非线性关系模型。
为神经网络定型
在为使用Microsoft神经网络算法的数据挖掘模型定型时,涉及到若干个步骤。这些步骤与为该算法的可用参数指定的值紧凑相关。该算法首先根据数据源处理并提取定型数据。定型数据的百分比(称为“维持数据〞)保存用于度量生成的模型的结构的确凿性。在定型过程中,在每次迭代定型数据后,根据维持数据处理模型。当模型的确凿性不再提高时,定型过程便会中止。SAMPLE_SIZE和
HOLDOUT_PERCENTAGE参数的值用于确定定型数据中作为例如的事例数以及供维持数据备用的事例数。HOLDOUT_SEED参数用于随机确定供维持数据备用的单个事例。
该算法下一步是确定挖掘模型支持的网络的数目和繁杂性。假使挖掘模型包含一个或多个仅用于预计的属性,该算法将创立一个代表所有这些属性的单一网络。假使挖掘模型包含一个或多个同时用于输入和预计的属性,则该算法提供程序将为每个这样的属性创立一个网络。假使输入属性数或可预计属性数分别大于MAXIMUM_INPUT_ATTRIBUTES参数或MAXIMUM_OUTPUT_ATTRIBUTES参数的值,则将使用功能选择算法来降低挖掘模型中包含的网络的繁杂性。功能选择可以将输入属性或可预计属性的数目减少到与该模型在统计上最相关的数目。对于具有离散值的输入和可预计属性,每个输入或输出神经元各自表示一个单一状态。对于具有连续属性值的输入属性和可预计属性,每个输入或输出神经元分别代表属性值的范围和分布。每种状况下支持的最大状态数取决于MAXIMUM_STATES算法参数的值。假使特定属性的
状态数超过MAXIMUM_STATES算法参数的值,则尽可能选择该算法最普遍或相关的状态,剩下的状态作为缺少的值分为一组,用于分析。然后,该算法使用HIDDEN_NODE_RATIO参数的值来确定要为隐蔽层创立的神经元的初始数目。可以将HIDDEN_NODE_RATIO设置为0,以避免在该算法为挖掘模型生成的网络中创立隐蔽层,以便将神经网络作为规律回归处理。
算法提供程序通过接受之前保存的定型数据集并将维持数据中的每个事例的实际已知值与网络的预计进行比较,即通过一个称为“批学习〞的进程来同时迭代计算整个网络的所有输入的权重。该算法处理了整个定型数据集后,将检查每个神经元的预计值和实际值。该算法将计算错误程度(假使有错误),并调整与神经元输入关联的权重,并通过一个称为“回传〞的过程从输出神经元返回到输入神经元。然后,该算法对整个定型数据集重复该过程。该算法支持多个权重和输出神经元,因此这个渐变的算法用于引导定型过程来分派和计算输入权重。有关渐变算法的探讨不属于本文档的范围。
使用算法
神经
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度钢管架采购与安装合同3篇
- 2024年股权转让合同:关于转让某科技公司2024年度股份的协议2篇
- 二零二四年度旅游服务与导游合同2篇
- 2024年度富士康企业战略规划与咨询合同
- 2024年度人才租赁与派遣合同3篇
- 2024年服装企业品牌发展战略咨询合同3篇
- 2024-2025学年高中化学 第3章 物质的聚集状态与物质性质 第1节 认识晶体说课稿 鲁科版选修3
- 《消费者的权益》课件
- 深度剖析:工程分包、专业分包以及劳务分包模式的利与弊
- 《服务定价策略》课件
- 无轴螺旋输送机检验记录报告(LS)
- 逆向思考的艺术
- 销售报价工作流程图
- 遵纪守法好学生
- 《消化系统疾病》PPT课件.ppt
- 广东常用的100种植物
- 经皮肾镜取石术的并发症及防治.ppt
- 电工仪表与测量PPT课件
- 输电线路设计知识讲义
- 意大利汽车零部件企业
- 高级评茶员理论知识
评论
0/150
提交评论