<学习笔记4>数据挖掘原理与运用-sql server2008 数据库

时间:2022-06-12 19:42:36

2016/10/24

第八章

microsoft时序算法

概念一、列格式和交叉格式

增加事件时,列格式增加列,交叉格式增加行。

列格式比较直观,但当增加的事件很多时会造成很大麻烦。

预测某个序列的DMX列格式要比交叉格式容易得多。


注意:时序模型在创建的时候都必须启用钻取功能。WITH DRILLTHROUGH


碰到个问题,还是得修改参数。查查如何修改参数。


15:53, csdn,百度知道提问,查阅资料,目前还是没解决

这是msdn上的文档指导

更改算法参数

  1. “挖掘模型”选项卡上,右键单击 Forecasting,再选择“设置算法参数”

  2. “算法参数”对话框的 PERIODICITY_HINT 行中,单击“值”列,然后键入 {12}(包括大括号)。

  3. 在 FORECAST_METHOD 行中,验证“值”文本框是否为空或设置为 MIXED。如果输入了其他值,请键入 MIXED 以将参数更改回默认值。

  4. 在 PREDICTION_SMOOTHING 行中,验证“值”文本框是否为空或设置为 0.5。如果已经输入了不同值,请单击“值”,然后键入 0.5 以将参数更改回默认值。

然而我并没有在management studio里找到这个挖掘模型右键的forccasting。


我们先不去找这个的解决办法,先不实际执行书上的案例了。不然无法继续学习下去。


参数设置:

1、Missing_Value_Substitution:缺失值设置,就是我们上面碰到的问题,默认是没有设置缺失值的,因为缺失值的设置不同会大大影响序列结果。因此系统仅仅告诉我们缺失值没有设置而让我们自己定夺用什么替补缺失值。(Previous,Mean,一个数字)

2、Periodicity_Hint:周期数。

3、Auto_Detect_Periodicity:找出自然周期的强烈程度。设置为1,找出最轻微周期。设置为0,找出最强烈周期。

4、Minimum_Series_Value和Maximum_Series_Value:预测值的最大最小限制。如实际中商品数量不可能降至0以下。

5、Forecast_Method:选项是ARIMA和ARTXP,默认采取MIXED,即两种算法的结合。

6、Prediction_Smoothing:控制ARTXP和ARIMA的均衡性。0-1,接近0,采取ARTXP多,接近1,采取ARIMA多。没设置MIXED则参数不起作用。

7、Instability_Sensitivity:ARTXP的不稳定性检测。1打开,0关闭。

8、Historic_Model_Count和Historic_Model_Gap:count表示总共分为几个模型,gap表示每个模型用到的数据点。

这个参数针对的是什么问题呢?因为时序预测如果等现实发生来检测就太晚了,如果用Replace_Model_Cases替代最近几个数据(即用最后几个数据来当测试集),因为是用这些数据训练的所以并没有意义其实。而用count和gap参数将所有数据分为几个模型,每个模型都可以用下一段的数据来校验准确性。

9、Complexity_Penalty和Minimum_Support:舍弃。

TODO ARTXP和ARIMA是什么?


第九章

Microsoft聚类算法

包括硬聚类(K-means)和软聚类(期望最大化   EM)。硬软区别在于聚类是否可以重叠(硬不行软可以)。

离散聚类不能使用k-means算法,使用EM。

可伸缩聚类原理:压缩重复训练时不在不同聚类间来回移动的数据,使其不参与聚类训练。

参数:

1、Clustering_Method:普通版不可伸缩。1、可伸缩EM。2、普通EM。3、可伸缩K-means。4、普通K-means。

2、Cluster_Count:指定聚类数。默认值为10,设置为0自动探测。

3、Minimum_Cluster_Cases:聚类中事例个数少于该值时丢弃该聚类。默认值为1.

4、Modelling_Cardinality:聚类时产生候选模型个数。越少性能越高(理解为生成结果速度越快),精确性越低。

5、Stopping_Tolerance:模型在收敛之前可以在聚类之间来回移动的最大事例数。(抽象,不太能理解。记住结论吧):参数值越大,收敛越快,聚类越松散(即聚类的类区别大),聚类之间区别很大时可以设置为1,默认为10。

6、Sample_Size:每个可伸缩框架中使用的事例数量。普通版算法中表示事例总数,减小参数收敛快(Stopping_Tolerance值大时,收敛更快)。默认5000.

7、Cluster_seed:随机数种子,默认为0。改变种子聚类结果基本不变则认为模型稳定。

8、Maximum_Input_Attributes:进行聚类分析属性的个数(大于该参数则择优挑选重要属性)。

9、Maximum_States:控制属性状态个数(大于则择优挑选重要的,其余用other代替)。默认100。


第十章

microsoft序列聚类算法。

该算法支持一个特殊的嵌套表,表中包括1、键顺序咧(1,2,3,4....)2、非键列,通常是一个字符串(如dna中的A,G,C,T,或者是一串url)。(自行脑补)

序列数据必须在嵌套表中。该算法不支持多个序列表。也就是这样的嵌套表只能有一个。

2016/10/25

序列聚类算法可以预测给定系列的后续状态。序列表必须标记为可预测。(重要)

序列预测函数:PredictSequence(预测的列名[,n])   (n表示正整数,意思是接下来预测的个数)函数返回一个表,表包含$Sequence和嵌套表列。

检测异常的序列模式:PredictCaseLikelihood() ,结果接近1,表示很可能,接近0表示罕见。

基本原理:马尔科夫链。

参数说明:

1、Cluster_Count:聚类的个数。标为0时表示自动确定。默认值为0。

2、Minimum_Support:指定聚类事例数目的最小值,默认为10.

3、Maximum_States:参与聚类的属性状态的最大值,多于则择优录取。

4、Maximum_Sequence_States:序列的状态数目的最大值。(区别于3,一个是聚类数目,一个是序列数目)


第十一章

Microsoft关联规则算法

关联算法不接受连续属性。


发现了之前一个遗留问题。就是sql server management studio中挖掘算法的参数设置的那个问题。

<学习笔记4>数据挖掘原理与运用-sql server2008 数据库

就是这么个参数设置了。


提示:如果之前对挖掘结构执行过数据填充(处理),则对挖掘模型处理时只要写insert into modelname 即可。

项集的节点类型是7,规则的节点类型是8(节点类型:Node_Type)


项集节点的内容包括:

1、NODE_UNIQUE_NAME:是这个项集唯一的内容标识符,用作规则节点的引用。

2、NODE_SUPPORT:项集的支持度。

3、NODE_DISTRIBUTION:每一行表示项集中的一个属性/值对。

自己编写关联规则查看器时可以使用如下属性

1、NODE_PROBABILITY:当前内容节点表示的规则的概率。

2、MSOLAP_MODEL_CONLUMN:包含表示规则左边的项集的NODE_UNIQUE_IDENTIFIER。

3、MSOLAP_NODE_SCORE:包含规则的重要程度。

4、NODE_SUPPORT:规则的支持度。

5、NODE_DISTRIBUTION:第一行是规则右边的属性和状态。

6、NODE_DISTRIBUTION:第二行是表示规则右边的1-项集(长度为1的项集)的NODE_UNNIQUE_NAME。


相关概念

1、项集:集合,项集大小就是集合内容物的个数。

2、支持度:Support(x):表示的是包含x的事务的个数。

3、置信度(概率):Probability(x):x在总事务中发生的概率。具体:Probability(A=>B)=Probability(B|A)=Support(A,B)/Support(A)说明:同时包含AB的事务数/A事务数。

                                                                                                                         Probability({A,B})=Support({A,B})/Support(总)说明,同时包含AB的事务数/总事务数。

4、重要性 lift:Importance({A,B})=Probability(A,B)/Probability(A)*Probability(B),说明:同时包含AB项集的重要性=AB项集的概率/(A项集概率*B项集概率)

Important=1,AB独立。Important<1,AB负相关。Important>1,AB正相关。


Important(A=>B)=log(p(B|A))/p(B|not A) 。为0时,表示AB无关联。正的重要性表示A为真B概率上升,负表示A为真B概率下降。


频繁项集,某个项集在事务中出现的次数大于等于Minimum_Support时成为频繁项集。


参数说明:

1、Minimum_Support:阈值参数,范围0-1,表示成为频繁项集满足的最小支持度。默认为0,大于1时会认为是个数。

2、Maximum_Support:成为频繁项集的最大支持度,默认为0.03,。其余同1.

3、Minimum_Probability:定义关联规则的最小概率。范围0-1,默认0.4.

4、Minimum_Importance:重要性小于该参数的规则会被过滤。

5、Maximum_Itemset_Size:指定项集大小的最大值。默认为0表示无限制。达到此值时,候选项集不继续迭代。

6、Minimum_Itemset_Size:指定项集大小的最小值。

7、Maximum_Itemset_Count:定义项集数目最大值。(请区别于5,5的意思是项集的大小,7的意思是项集的个数)

8、Optimized_Prediction_Count:定义要缓存的项的个数以优化预测。

9、Autodetect_Minimum_Support:算法用于自动检测最小支持度的敏感度。设置为1.0自动检测最小支持度,设置为0时关闭自动检测,使用设置的最小支持度。


第十二章

microsoft神经网络算法和逻辑回归算法


神经网络主要解决数据挖掘的分类的回归任务。神经网络支持离散和连续的输出。如果输出时连续的,数据挖掘的任务就是回归。

参数说明:

1、Maximum_Input_Attributes:用于特征选择的阈值参数。

2、Maximum_Ouput_Attributes:输出阈值参数。

3、Maximum_States:算法支持属性状态的最大值。

4、Holdout_Percentage:指定测试数据的百分比,默认0.1。

5、Holdout_Seed:整数,种子。

6、Hidden_Node_Ratio:用于配置隐含节点的数目。单位是sqrt(m*n),n是输入神经元的数目,m是输出神经元数目。默认等于4,参数不用于逻辑回归算法。

7、Sample_Size:用于训练的事例数目的上限。