聚类

本文深入探讨了聚类分析的基本原理与应用,包括聚类的定义、评判标准及多种聚类方法,如K均值算法、层次聚类等,并讨论了基于密度的聚类方法及其在异常检测中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 数 据 挖 掘 课——聚 集(一)

一,什么是聚类?

聚类:-将一个对象的集合分割成几个类,每个类内的对象之间是相似的,但与其他类的对象是不相似的。

评判聚类好坏的标准:1,能够适用于大数据量。2,能应付不同的数据类型。3,能够发现不同类型的聚类。4,使对专业知识的要求降到最低。5,能应付脏数据。6,对于数据不同的顺序不敏感。7,能应付很多类型的数据。8,模型可解释,可使用。

二,聚类所基于的数据类型。

聚类算法通常基于“数据矩阵”和“Dissimilarity 矩阵”。

怎么样计算不同对象之间的距离?

1,数值连续的变量(体重,身高等):度量单位的选取对于聚类的结果的很重要的。例如将身高的单位从米变为尺,将体重的单位从公斤变为磅将对聚类的结果产生很大的影响。为了避免出现这种情况,我们必须将数据标准化:将数据中的单位“去掉”。

A, 计算绝对背离度。B,计算标准量度。

下面我们考虑怎样来计算两个对象之间的差异。1,欧几里得距离。2,曼哈顿距离。这两种算法有共同之处:d(i,j)>=0,d(i,i)=0, d(i,j)=d(j,i),d(i,j)=<d(i,h)+d(h,j)。3,Minkowski距离。这是上述两种算法的通式。并且对于不同的变量,我们可以给它赋于不同的weight.

2,二元数据变量:如果还是用上面的方法来计算的话,肯定会出现错误。这儿分

两种情况,对称的与非对称的。

3,Nominal变量:(例如红,黄,绿,蓝….)

4,ordinal变量(例如科长,处长,局长….)

5,ratio-scaled变量:

6,以上几种混合的变量(多数情况是这样的):

三,分割的的方法。

1, K均值算法:给定类的个数K,将n个对象分到K个类中去,使得类内对象之间的相似性最大,而类之间的相似性最小。

缺点:产生类的大小相差不会很大,对于脏数据很敏感。

改进的算法:k—medoids 方法。这儿选取一个对象叫做mediod来代替上面的中心

的作用,这样的一个medoid就标识了这个类。步骤:

1,任意选取K个对象作为medoids(O1,O2,…Oi…Ok)。

以下是循环的:

2,将余下的对象分到各个类中去(根据与medoid最相近的原则);

3,对于每个类(Oi)中,顺序选取一个Or,计算用Or代替Oi后的消耗—E(Or)。选择E最小的那个Or来代替Oi。这样K个medoids就改变了,下面就再转到2。

4,这样循环直到K个medoids固定下来。

这种算法对于脏数据和异常数据不敏感,但计算量显然要比K均值要大,一般只适合小数据量。


数 据 挖 掘 课——聚 集(二)

2,Clara算法。

上次课提到K-medoids算法不适合于大数据量的计算。这次课我们介绍Clara算法,这是一种基于采用的方法,它能够处理大量的数据。

Clara算法的思想就是用实际数据的抽样来代替整个数据,然后再在这些抽样的数据上利用K-medoids算法得到最佳的medoids。Clara算法从实际数据中抽取多个采样,在每个采样上都用K-medoids算法得到相应的(O1,O2…Oi…Ok),然后在这当中选取E最小的一个作为最终的结果。

Clara算法的效率取决于采样的大小,一般不太可能得到最佳的结果。

在Clara算法的基础上,我们提出了Clarans的算法,与Clara算法不同的是:在Clara算法寻找最佳的medoids的过程中,采样都是不变的。而Clarans算法在每一次循环的过程中所采用的采样都是不一样的。与上次课所讲的寻找最佳medoids的过程不同的是,必须人为地来限定循环的次数。

四,层次聚类

层次聚类,就是把所有的记录层次聚类可以分为两种:凝聚的方式和分割的方式,取决于聚类层次结构的形成是自顶向下的还是自底向上的。

凝聚的方式:这是一种至底向上的方法,将每一条记录看作一个类,然后根据一些规则将他们聚合成越来越大的类,直到满足一些预先设定的条件。大多数的层次聚类方法属于这一类。

分割的方式:这种自顶向下的方法是一个与凝聚的方式相反的过程,将整个数据库作为一个大的类,然后按照一些规则将这个类分成小的类,直到满足一些预定的条件,例如类的数目到了预定值,最近的两个类之间的最小距离大于设定值。

例3:图5给出了对于集合{a,b,c,d,e}层次聚类两种方式的聚类过程。从这个图我们可以看出,凝聚的方式是将每一个记录看作一个类,再按照一定的规则逐步将这些类合并。举个例子,如果类C1和类C2之间的距离小于预定的最小距离,那么他们就会被合并为一个类,这儿两个类的距离是由两个类中距离最近的一对记录来确定的。

分割的方式则是先将所有的记录作为一个大的类,然后再根据一些规则将它进行分割,例如最近的两个记录之间的距离。

无论凝聚的方式还是分割方式,用户都可以根据自己的要求来设定所得类的个数。

下面给出了四种常用测定两个类之间距离的方法,这儿的mi是类ci的中间值,ni是ci中记录的个数,|p-p’|是两个记录之间的距离。

Minimum distance: Dmin(Ci,Cj)=Min|p-p’|;(这儿p在类Ci中p’在Cj中)

Maximum distance:Dmax(Ci,Cj)=Max|p-p’|;(这儿p在类Ci中p’在Cj中)

Mean distance: Dmean(Ci,Cj)=|mi-mj|;

Average distance: Davg(Ci,Cj)=(1/ni*nj)∑pЄci∑p’Єcj;

层次聚类虽然比较简单,但是在选择凝聚或者分割点的时候经常会遇到一些困难,这个是非常关键的,因为一旦记录被凝聚或者分割以后,下一步的工作是建立在新形成的类的基础之上的。因此,如果其中任何一步没有做好的话,就会影响最终聚类的结果。这个方法并不是太好,因为要牵涉到很大数量的类和记录。

一个比较有前途的能够提高聚类质量的方向是将层次聚类和其它的聚类结合起来进行,下面我们会介绍一些这样的方法:1,叫做“Birth”,它首先把层次聚类的形成过程到结果看作一棵树,然后再用其他的聚类方法来进行修剪。2,叫做“Cure”,他用一定数量的记录来代表一个类,然后将他们缩为类的中心。3,叫做“Rock”,它是基于类之间的联系将类合并。4,叫做“Chameleon”,在层次聚类中寻找自动的模式。

1,Birch:这是一种综合的层次聚类的方法,它介绍了两个概念,聚类特征和聚类特征树,它们是用来表示聚类的。这些结构能够帮助聚类方法能运行得更快,能够处理大数据量。

下面我们来看一下上面提到的结构,一个聚类特征是由关于记录子集的三重总概变量组成。假设在一个子类中有N个记录,那么这个子类的聚类特征就是

CF=(N,LS,SS),其中LS是N个点(记录)的直线相加,SS是N个点的平方和相加。

一个聚类特征本质上是对于给定的子类的统计和,它记录了衡量一个子类的最关键的部分,用存储统计值代替了存储整个类的记录,提高了存储的效率。

一个聚类特征树是一个垂直平衡树,它为一个层次聚类存了各个步骤的聚类特征。图8.6给出了一个例子,我们约定一个“非叶子节点”是有“孩子”的,这个“非叶子节点”记录了它的孩子的聚类特征。一个聚类特征有两个变量——“分枝要素B”和“门限T”,B限定了每个“非叶子节点”最多含有的孩子的个数,T限定了存在叶节点的子类的最大半径,这两个参数影响了最后产生的树的大小。

那么“Birch”是怎样工作的呢?1,它扫描整个数据库一次,建立一个初始化的聚类特征树。2,它用一个聚类算法来聚合这些叶节点。

在第一阶段,聚类特征树随着记录一个一个的加入而自动形成的:一个记录被放入那个离它最近的叶节点(类)中去。如果放入以后这个子类的半径大于门限值T的话,那么这个叶节点就会被分割。这个放入的信息也会传递到根节点中去。聚类特征树的大小可以通过调节参数来改变,如果要存储的树需要的内存超过了主内存,那就要减小门限值重新建立一棵树,这个重建过程并不需要将整个记录扫描一次。而是建立在老的树的叶节点的基础之上的。因此,建立一个树记录需要被扫描一次,此外还有一些方法进一步扫描记录以提高聚类特征树的质量,当树建好以后,我们可以在第二阶段用其他的聚类算法了。

Birch算法用可利用的资源产生最好的聚类,给定一限定的主内存,一个很重要的考虑是尽量减少从I/O请求所需要的时间。Birch算法用了多种聚类的技术,对数据库的一次扫描产生一个基本好的聚类,一次或者更多的附加扫描能够提高聚类的质量。

Birch的效果怎么样?由于每一个节点只能有一定数量的“孩子”,实际产生的聚类特征树并不是自然生成的聚类。而且,如果聚类生成的类不成球形的话,这种算法就运用得很好,因为它用半径或者直径来控制类的边界。

2,Cure:

大多数的算法或者只能用于球状类和有相似大小的类上面,或者无法解决特例的问题。Cure算法则能够解决这些问题。

Cure采用一种很新颖的层次聚类算法,这种方法是介于“基于中心”和“基于记录”的方法之间的。一定数量的记录被选中,而不是用中心或者一个记录来代替整个类。那些能代表这个类的几个记录,首先在一个类中选择几个较为分散的记录作为代表整个类的记录,然后用一个特别的Fraction将他们压缩到类的中心。在每一步,那些有最大相似度的类就会被合并。

由于用了多个记录来代表类,使得这种算法能够很好地对付非球状的的类以及一些例外的情况结构。那么,在大数据量的情况下能够在不牺牲聚类质量的情况下,对付大数据量进行得很好。

为了对付大数据量,Cure用了随机抽取和分割的方法:

1,选取有s个记录的采样。

2,将这s 个采样分割成p个部分,每个有s/p个记录。

3,将s个记录分成s/pq个类。

4,通过随机采样去除那些特例的情况。

5,将这些类进行聚类,

五,基于密度的方法:

1,DBSCAN:

这个方法将密度足够大的那部分记录组成类,这儿定义了几个新的名词:

1,对于给定的记录,我们称在其半径e范围内的一个记录为这个记录的e-邻居。

2,如果一个记录的e-邻居个数超过一个最小值,MinPts那么我们就将这个记录称做中心记录。

3,一个记录的集合D,我们说一个记录p是记录q的“Directly density-reachable”记录,如果p是q的e-邻居,`并且q是个中心记录。

4,对于这样的一个链p1,p2,…pn,如果,p1=q,pn=p,且Pi+1是pi的“Directly density-reachable”,那么我们就将p称做q的“density-reachable”。

5,如果p,q都是一个记录o的“density-reachable”,那么就称p,q“density-connected”。

根据上面的定义,我们怎样来发现类呢?首先扫描一下数据库,计算每一个点(记

录)的e-邻居的个数,如果一个记录的e-邻居的个数大于一个门限值,那么就将

这个记录叫做中心记录,这样一个新的以这个记录为中心的类就产生了。接着,就

寻找这个记录的所有的“density-reachable”记录,这个过程可能会将一些类也合

并过,这个过程直到没有新的记录假如为止。

2,OPTICS:

虽然DBSCAN算法能够根据给定的参数e和MinPts来对记录进行聚类,但是这

仍然由用户主观来选择参数,参数就影响了最终产生的类,实际上这也是很多聚

集算法面临的问题。这些参数都是根据经验来取的,因此很难决定该选哪个,特

别是对实际的,多属性的数据。大多数的算法对这些参数都是很敏感的,很小的

一些差别就有可能导致大不相同的聚类结果。聚类结果。

为了解决这些问题,一个顺序聚类的方法“OPTICS”就被提出来了。再来看看

DBSCAN,我们很容易就可以发现,对于给定的一个Min Pts值,那些参数e的值

小的所得到的类一定完全包含在e值大的类当中了。注意一点这儿的e是一个距

离(它是邻居半径)。因此,为了得到类的集合,我们设定了提供了距离参数的集

合。为了同时建立不同的类,这些记录应该以一种顺序形式组织起来。这样我们

就可以将e从小开始产生类了。基于这些理念,对于每一个记录都应该存储2个

值——core-distance和reachability-distance:

core-distance:一个记录的core-distance是能使这个记录p成为中心记录的最小的

e’值。如果p不是个中心记录,那么这个值就是未被定义。

reachability-distance(p,q):如果中心记录p和一个记录之间的距离小于e’,那么这

个距离就是e’,其他的就是真实的距离。如果p 不是中心记录,它就没有被定义。

对于在数据库中的每一个记录,首先将它们编号,然后计算每个记录的这两个距

离值。这就使得我们有足够的信息来在e小于等于e’的范围内得到很多的聚类结

果了。

3,DENCLUE.

这个聚类方法主要基于下面的一些思想:

a,一个记录的影响力可以用一个数学函数来表示,叫做“影响函数”,这表明了一个记录对于其邻居记录的影响。

b,整个数据空间的密度可以用所有的记录的“影响函数”的总和来模化。

c,类可以通过确定“density attrator”来得到,这儿的“density attrator”是指在某个区域的最高峰。




基 于 模 型 的 聚 集 方 法

1, 统计的方法:

概念聚类是在机器学习中聚类的一种形式,与其他通常的聚类方法(定义相似的记录为一个类)不同的是,概念聚类则更进一步来找出每一个类的特征描述。这样,概念聚类就有两步组成,首先,进行聚类,然后找出特征。这样聚类的质量就不仅仅是单个记录的一个函数,它还综合了一些得出的类的描述。

大多数的概念聚类采用了一个统计的方法——在决定一个类的时候,用可能性的描述语句。COBWEB是一个通用且简单的概念聚类的方法,它用分类树的形式来表现层次聚类。

一个分类树与决策树是不同的,分类树的每一个节点表示了一个概念,和对于这个概念(这个概念总概了这个节点下的记录)的可能性的描述。这个可能性的描述包括形成这个类的可能,以及在某个条件下类中记录的可能性,它可以表示为P(Ai=Vij|Ck),这儿的Ai=Vij是个“属性—值”对,Ck就是类。这与决策树不同,它是用逻辑而非可能性描述。为了将一个记录进行分类,就需要一个匹配函数来将阿嚏分到做适合的类中去。

COBWEB用了一种启发式的评估衡量标准(category utility)来引导树的建立。

CU的定义:

这儿的n是节点的个数,也就是类的个数。从另外一种意义上来说,CU的 P(Ai=Vij|)表示了在条件Ck和没有条件Ck之下的偏差。

下面我们来看看COBWEB的工作过程:它以增入的方式将记录加入到分类树中去,就象Leader算法一样,它对于一个新的记录计算它与以分好的类的匹配度,选择最好的节点将这个新的记录放进去。这个方法先将新记录暂时放到每一个已经形成的类中,然后计算放入后的每次放入后的CU值,值最大的就是我们要找的最匹配的类。

那么,假如这个新记录不属于任何一个以形成的类时怎么办?实际上,COBWEB也计算将这个新的记录作为一个新的节点时CU的值,如果这个值比上述过程所得到的都要大的话,就建立一个新类。值得注意的是,COBWEB能够自己调整类的数目的大小,而不向其他算法那样自己设定类的个数。

但上述的操作对于的记录的顺序很敏感,COBWEB利用两个操作来将这种敏感性降到最低,这就是merging和splitting的方法,当对一个新的记录进行分类的时候,两个最好的类就可能被合并,当然这些决定必须根据CU值来。

COBWEB的缺点:这个方法假定根据统计得到的对于单个属性的概率分布函数与其他的属性之间是独立的,实际上在两个属性之间通常会存在一些联系。

2, 神经网络的方法

神经网络用于聚类的方法是将每一个类看作一个标本,它是这个类的“典型”,但不需和某个具体的记录或例子相对应。根据新记录和这个标本之间的距离,就可以将这个记录进行分类了。

在这篇中,我们介绍2个神经网络用做聚类的方法,分别是“competitive learning”和“self-organizing feature maps”。

异常情况分析


很多时候,会有一些记录与通常的行为不一样,对于那些跟数据库中其他的记录不相符合的记录,我们称之为outliers。

Outliers可能在聚类运行或者检测的时候被发现,比如一个人的年龄是999,这个在对数据库进行检测的时候就会被发现。还有,就是outliers可能是本身就固有的,而不是一个错误,比如部门经理的工资就比一般员工的工资高出很多。

很多数据挖掘技术都力图将outliers的影响降到最小,直至完全没有。但是,这有可能失去一些重要的隐藏的信息,因为对于一方来讲是“坏”的东西而对于另外的一方来讲很可能是重要的东西。换句话说,这个“异常”可能有特别的作用,例如发现诈骗行为。因此,发现和分析“诈骗行为”是一相很有意义的数据挖掘任务,我称为“outlier mining”。

outlier mining的应用是很广泛的,除了上面说的“欺骗发现”以外,它还能够发现收入特别低或者特别高的顾客的购买行为。outlier mining可以这么来描述:给定n个个记录,和k(我们期望得到的outlier的个数);发现k个与其他的记录最不相象的记录。这个过程可以看成2个子过程:1,首先定义什么样的记录被称为“异常”;2,根据上面的定义,找到一个很有效的方法来发现这些异常。

在这篇文章里,我们介绍了三种方法来发现outlier:

1,基于统计的方法:

统计的方法先假定在训练集中有一个分布模式存在,并且用一个“discordancy test”的方法来定义和发现outliers。这个方法的应用首先要设定一些参数——假定的分布模式,分布的参数,期望得到的outlier的的个数等等。

工作过程:首先检测2个假说,一个 working hypothesis和 alternative hypothesis。working hypothesis,H,是说所有的记录的数据都应该遵从一个分布模式,F,然后用一个“discordancy test”来检测记录Oi是否与F的关系很大。这儿的“discordancy test”是根据对于数据的了解以及F的选择得出的。这儿,通过T计算出Oi对应的值vi,如果SP(vi)=prob(T>vi)的值很小的话,我们就可以考虑Oi是个outlier。

2,基于距离的方法:

如果一个记录的距离大于d的邻居的个数大于一个设定值p的话,就可以认为这个记录是个outlier。换句话说,就是这个记录没有足够的邻居数目,这儿的邻居是根据距离来确定的。

Index-based algorithm:给定一个数据集,这个算法检查每一个记录o的d半径的邻居个数,定义M为一个outlier的最大d-邻居个数,那么一旦一个记录o有M+1个d-邻居,显然这个记录不是个outlier。

Nest-loop algorithm:与上一个方法相比,它优点在于减少输入、出个数,提高储存效率。

Cell-based algorithm:这种方法是将数据集分成c个cells,每一个cell有两层,第一层有1个cell的厚度,第二层有2*sqrt(k)个cell的厚度。这个算法是一个cell一个cell地来找outlier。对于一个cell,我们计算三个量:在这个cell内的记录个数,在第一层的记录个数,在第二层的记录的个数,分别用cell_count,cell_+_1_layer-count, cell_+_2_layer-count。

那么这个方法是怎样来计算outlier的呢?首先计算cell_+_1_layer-count,如果它的值大于M,那么这个cell内的所有的记录都不是outlier,如果它的值小于后者等于M, 那么接着计算cell_+_2_layer-count,如果它的值小于后者等于M,那么cell中所有的记录都可以认为是outlier。否则我们按照d-邻居的方法来一个一个地检查这层中的记录。

3, 基于背离度的方法:

这种方法是根据一个数据集中的主要特征来判定outlier的,那些与这个主要特征背离很大的记录就被认为是一个outlier。

Sequential exception technique:给定一个有n个记录的数据集S,首先建立它的一个记录子集序列,{S1,S2,S3,…Sm},这儿的Sj包含Sj-1。

在这个序列中我们可以计算子集间的不相象性,下面介绍几个关键的概念。

Eeception set:它定义为outlier的集合。

Dissimilarity functuion:这个函数计算在一个集合中记录的不相象性,如果各个记录之间越象,那么这个值就越小,而记录之间背离读越大,则这个值就越大。

Cardinality function:它计算在给定的一个集合中记录的个数。

Smoothing factor:这个函数计算了从原集合S中去除一个子集后Dissimilarity的减少值,那个减少的值最多的子集就是outlier。

聚类的方法小节:

这篇文章很全面的介绍了聚类:包括聚类的定义,聚类的应用,聚类的几种常用的算法,,最后还介绍了异常的检测。

聚类的算法包括分割的聚类方法,层次聚类,基于密度的方法,和基于模型的方法。


最近邻居和聚集(Nearest Neighbor and Clustering)

距离近:在一些重要的属性上比较相似

聚集(clustering):是把相似的记录放在一起。

用途

聚集

让用户在较高的层次上观察数据库。常被用来做商业上的顾客分片(segmentation)。

找到不能与其他记录集合在一起的记录,做例外分析。

最近邻居

预测,距离相近的对象通常他们的预测值也相似,因此只要知道一个对象的预测值,就可以用他来预测他的邻居的值。

分数卡

 
基本思想

一般来说一个数据库没有一种最好的分类方法。聚集要在类中对象的相似程度和类的数目之间找到一个最佳的结合点。

N维空间和距离

变量(字段)的个数作为空间的维数。

基本的距离定义有两种:Manhatan距离 ∑∣a-b∣、欧氏距离(∑(a–b)2)1/2

决定变量权重的方法:


按照实际问题中各个变量对预测值的影响程度


用进化的办法,修改各个变量的权重,看是否能提高预测的准确率。

在文本挖掘中:1 用单词出现频率的倒数;2 按照各个单词对要检索内容的相关程度

怎样计算两个类的距离:

单连通方法(single-link method):取两个类中最近记录的距离为类的距离。此种方法可以生成细长的蛇形类,不适于应用在典型的一堆堆记录集合在一起的情况。

完全连通方法(complete-link method):取两个类中最远记录的距离为类的距离。同第1中方法相反,此种方法易生成很小的记录都聚集在一起的类。

平均连通方法(group-average link):计算两个类中所有记录对的距离平均值。效果介于1、2种算法之间。

Ward方法(Ward’s method):计算两个类中所有记录的距离的和。易于用在生成类层次的情况,对例外的数据(outliers)很敏感,很难应用于生成蛇形类。

聚集的分类和算法流程

分层的聚集(hierarchy):生成一个从小到大的聚集层次树。用户可以自由剪切这棵树,得到对数据的不同划分方法

合并(Agglomerative):从下到上,最初每个记录都是一类,逐步合并,直到合并成一个大类。

令数据库中的每一条记录都是一个类

把距离最近的类合并
重复2直到只含唯一的一个类为止
分割(Divisive):从上到下,一开始所有记录属于一个大类,逐步分割每一个类,直到不能分割为止。因选择分割哪一个类需要很大的计算量,此种方法很少使用。

令数据库中的所有记录都属于一个类

在所有的类中找到一个类中数据相似性最小的一个类,把他一分为二

重复2直到每个类中记录的个数都是1或达到一个预先设定的阈值,或类的个数已达到预先设定的最大个数

不分层聚集:速度更快,但需要用户在使用前设定一些参数,如类的个数、同一类中记录的最大距离。有时要反复修改参数才能得到一种满意的分类方法。

一次通过法(single-pass methods):只扫描数据库一次,就可完成分类。

从数据库中读取一条记录,判断他距哪个类的距离最近

如果即使到最近的类的距离比我们设定的距离相比还远,那么建立一个新的类,把此记录放到此类中去。

如果数据库中还有记录转1。

问题:数据库中记录的输入顺序和类内最大距离的设定,对分类的结果影响很大。

再分配法(reallocation methods):要把一条记录从一个类拿出来重新分到另一个类。

预先设定想要把数据分成类的个数

为每个类随机选取一条数据,作为类的中心或“种子”


一次读取数据库中的每一条记录,将其归到距离最近的类。

重新计算各个类的中心

重复3-4,直到类的中心不再变化或变化很小

问题:用户设定的类的个数很难与实际数据中存在的类的个数正好相符

最近邻居用于预测

方法

找到数据库中距离最近记录,将此记录的值作为新记录的预测值

找到最近的K个记录,用这K个记录按其到新记录的距离作为权重,综合得到新记录的预测值。

缺点

模型太大,预测时要使用整个历史数据库

没有正规的用于防止overfitting的方法(formal way)

模型的改进:删除用于预言的历史数据库中多余的数据,以得到数据量小而且准确度高的数据。

合并相似的记录,用一条记录(称为原型)代替相似的几条记录。要在不降低预测准确率的前提下。

只保留一组相似数据中的“边界”数据(称为“哨兵”),去掉“边界”内部的无用数据。

发展方向

应用算法到新的领域

改进输入变量权重的计算方法,和如何减小用于预测的历史数据的大小

根据历史记录自动计算变量的权重

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值