【精品】决策支持系统与商务智能.doc

【精品】决策支持系统与商务智能.doc

ID:48349941

大小:87.50 KB

页数:15页

时间:2019-11-24

【精品】决策支持系统与商务智能.doc_第1页
【精品】决策支持系统与商务智能.doc_第2页
【精品】决策支持系统与商务智能.doc_第3页
【精品】决策支持系统与商务智能.doc_第4页
【精品】决策支持系统与商务智能.doc_第5页
资源描述:

《【精品】决策支持系统与商务智能.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、决策支持系统与商务智能算法的实现[Java]K-Means聚类算法的实现=!算法思路:首先从n个数据对彖任意选择k个对彖作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都釆用均方差作为标准测度函数.k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。主要实验过程:1)从N个文档随机选取K个文档作为质心2)对剩余的每个文档测量

2、其到每个质心的距离,并把它归到最近的质心的类3)重新计算已经得到的各个类的质心4)迭代2〜3步直至新的质心与原质心相等或小于指定阀值,算法结束具体如下:输入:k,data[n];(1)选择k个初始中心点,例如c[O]=data[O],・・・c[k-l]=data[k~l];(2)对于data[O]….data.[n],分别与c[0]•••c[kT]比较,假定与c[i]差值最少,就标记为i;(3)对于所有标记为i点,重新计算c[i]={所有标记为i的data[j]之和}/标记为i的个数;(4)重复(2)(3),直到所有c[i]值的变化小于给定

3、阈值。关键问题的解决方法:1、在K-means算法中,首先需要根据初始聚类中心來确定一个初始划分,然后对初始划分进行优化。这个初始聚类中心的选择对聚类结果有较人的影响,一旦初始值选择的不好,可能无法得到有效的聚类结果,这也成为K-means算法的一个主要问题。对于该问题的解决,许多算法采用遗传算法(GA),例如文献中采用遗传算法(GA)进行初始化,以内部聚类准则作为评价指标。2、在K-means算法中K是事先给定的,这个K值的选定是非常难以估计的。很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适。这也是K-means算法的一个不

4、足。有的算法是通过类的自动合并和分裂,得到较为合理的类型数冃K,例如ISODATA算法。关于K-means算法中聚类数HK值的确定在文献中,是根据方差分析理论,应用混合F统计量来确定最佳分类数,并应用了模糊划分爛来验证最佳分类数的止确性。在文献屮,使用了一种结合全协方差矩阵的RPCL算法,并逐步删除那些只包含少量训练数据的类。而文献屮使用的是一种称为次胜者受罚的竞争学习规则,来自动决定类的适当数H。它的思想是:对每个输入而言,不仅竞争获胜单元的权值被修正以适应输入值,而且对次胜单元采用惩罚的方法使之远离输入值。程序的实现截图:心得体会:通过

5、决策这么课程的学习使我们更加了解了数据挖掘对现代的数据处理的重要性,紧迫性和使用性。在对其屮的聚类分析进行研究时,了解了它的基本原理,特别是K-means算法的一些原理。还懂得了这些算法各有各的特点和缺点,也不是我们想的那样一种算法的出现后就代替了另外的算法,再先出现的算法都有自己优越的一面。正因为这样才使得我们的编程更加的方便和快捷。算法源代码:packagefd;publicclassBasicKMeans{*@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-genera

6、tedmethodstubdoublet]p={1,2,3,5,6,7,9,10,11,100,150,200,1000};intk二5;doublet][]g;g二cluster(p,k);for(inti二0;i〈g.length;i++){System.out.print(g[i][j]);Systcm.out.print(〃t〃);System・out.printlnO;}}/**聚类函数主体。*针对一维double数组。指定聚类数目ko*将数据聚成k类。*/publicstaticdoublet][]cluster(double

7、t]p,intk)//存放聚类旧的聚类中心doublet]c二newdouble[k];//存放新计算的聚类屮心doublet]nc=newdouble[k];//存放放回结果doublet][Jg;//初始化聚类中心//经典方法是随机选取k个//本例中采用前k个作为聚类中心//聚类中心的选収不影响最终结果c[i]=p[i];//循环聚类,更新聚类中心//到聚类中心不变为止while(true){//根据聚类中心将元素分类g二group(p,c);//计算分类后的聚类屮心for(inti=0;i

8、ter(g[i]);}//如果聚类中心不同if(!equal(nc,c)){//为下一次聚类准备c二nc;nc=newdouble[k];}else//聚类结束break;}//

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。