利用Clementine软件进行K
和你遇到了同样的问题,在GOOGLE上搜到的答案。
初始中心的文件,第一个变量就应该是cluster_,值为1-k(k就是类别数)。
我按这个做了,就OK啦!问:I ran the SPSS Quick Cluster procedure for K Means clusteranalysis, specifying an SPSS file with the initial clustercenters. I received error message # 14024 which states:"The file referenced in the FILE subcommand does not havethe proper format for QUICK CLUSTER initial cluster centers."My cluster center file includes all the variables that areused in the Quick Cluster command and there is one case foreach of the centers. Am I missing something?答:The first variable in your cluster center file must benamed cluster_ . The values for cluster_ in the K rows willbe 1, 2, ... K, where K is the number of clusters. The absenceof cluster_ will trigger the improper format error message.Other essential properties of the centers file include:1. You must have at least as many cases in the center fileas the number of clusters specified in the QUICK CLUSTER command.If there are K cases in the centers file and J (J< K) clustersspecified in the QUICK CLUSTER command, only the first J casesfrom the centers file will be used.2. All the variables that are included in the QUICK CLUSTERcommand must be included in the centers file. Variable orderneed not be identical in the QUICK CLUSTER command and thecenters file (provided cluster_ comes first in the centers file).Variables in the centers file that are not in the QUICK CLUSTERvariable list will be ignored in the analysis.
如何解决kmeans 如何设置初始点
你要了解一下k-means到底是什么,了解了之后根据算法做实验才能有好的结果。
k-means 算法的工作过程如下。
首先从n个数据对象任意选择 k 个对象作为初始聚类中心,对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类。
然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值),并且不断重复这一过程直到标准测度函数开始收敛为止。
一般都采用均方差作为标准测度函数。
...
kmean算法是干什么的
聚类分析是一种静态数据分析方法,常被用于机器学习,模式识别,数据挖掘等领域。
通常认为,聚类是一种无监督式的机器学习方法,它的过程是这样的:在未知样本类别的情况下,通过计算样本彼此间的距离(欧式距离,马式距离,汉明距离,余弦距离等)来估计样本所属类别。
从结构性来划分,聚类方法分为自上而下和自下而上两种方法,前者的算法是先把所有样本视为一类,然后不断从这个大类中分离出小类,直到不能再分为止;后者则相反,首先所有样本自成一类,然后不断两两合并,直到最终形成几个大类。
常用的聚类方法主要有以下四种: //照搬的wiki,比较懒...Connectivity based clustering (如hierarchical clustering 层次聚类法)Centroid-based clustering (如kmeans)Distribution-based clusteringDensity-based clustering Kmeans聚类是一种自下而上的聚类方法,它的优点是简单、速度快;缺点是聚类结果与初始中心的选择有关系,且必须提供聚类的数目。
Kmeans的第二个缺点是致命的,因为在有些时候,我们不知道样本集将要聚成多少个类别,这种时候kmeans是不适合的,推荐使用hierarchical 或meanshift来聚类。
第一个缺点可以通过多次聚类取最佳结果来解决。
Kmeans的计算过程大概表示如下随机选择k个聚类中心. 最终的类别个数<= k计算每个样本到各个中心的距离每个样本聚类到离它最近的中心重新计算每个新类的中心重复以上步骤直到满足收敛要求。
(通常就是中心点不再改变或满足一定迭代次数)....
kmeans算法用Python怎么实现
min_y=p,sin:passFLOAT_MAX=1e100classPoint;points是数据点,nclusters是给定的簇类数目''2))print("\!=p.group:changed+=1p.group=min_i#stopwhen99.xcluster_centers[p.group];2,长度为len(points),保存每个点离最近的中心点的距离foriinxrange(1,len(cluster_centers)):#i=1len(c_c)-1sum=0forj,pinenumerate(points),nclusters是给定的簇类数目cluster_centers包含初始化的nclusters个中心点.group#findclosestcentroidofeachPointPtrchanged=0#记录所属簇发生变化的数据点的个数forpinpoints,self.y,self.group=x;n0setgray%g%gs",group=0):self.group=0forpinpoints:__slots__=["x".0;".y=r*sin(ang)returnpointsdefnearest_cluster_center(point,groupdefgenerate_points(npoints.group].x+=p.x-cx)*scale+W/.0\,cosfromcollectionsimportnamedtuplefromrandomimportrandom,choicefromcopyimportcopytry:importpsycopsyco.g,0;'defkpp(points,cluster_centers);2cy=(max_y+min_y)/,(cc;'deflloyd(points,nclusters).y+=p.yforccincluster_centers:#生成新的中心点cc.x=0cc.full()exceptImportError;n%%%%BoundingBox:-5-5%d%d"%(W+10,初始化中心点,均为(0.x:d[j]=nearest_cluster_center(p;=cc;%(colors[i].y;2))print"'points是数据点.b))forpinpoints:cluster_centers[p;%((p.x-cx)*scale+W/2,(p;n"+".yscale=min(W/(max_x-min_x),H/(max_y-min_y))cx=(max_x+min_x)/".25subexch,0:r=random()*radiusang=random()*2*pip;/c{;m{rmoveto}def\.y/,diinenumerate(d):sum-=diifsum>0:continuecluster_centers[i]=copy(points[j])breakforpinpoints:p.group=nearest_cluster_center(p:#groupelementforcentroidsareusedascountersforccincluster_centers:cc:d=sqr_distance_2D(cc,point)ifmin_dist>d:min_dist=dmin_index=ireturn(min_index,min_dist)'']def__init__(self,colors[i];,"y".50360arcfill}def\n":points=[Point()for_inxrange(npoints)]#note:thisisnotauniform2-ddistributionforpinpoints,开始都是对象->(0.y-b.0.group].group+=1#与该种子点在同一簇的数据点的个数cluster_centers[p,0)''!=i:continueprint("%.3f%.3fc","group",ccinenumerate(cluster_centers):print("%g%g%gsetrgbcolor":cluster_centers[0]=copy(choice(points))#随机选取第一个中心点d=[0.0for_inxrange(len(points))]#列表;gsave1setgrayfillgrestoregsave3setlinewidth"+":ifp,cluster_centers)[0]'defsqr_distance_2D(a,b);%((cc,cluster_centers):"""Distanceandindexoftheclosestclustercenter":min_x=p.group.x/.groupcc;%%!PS-Adobe-3.y=0cc,x=0,colors[i],radius),y=0:cluster_centers=[Point()for_inxrange(nclusters)]#根据指定的中心点个数.x;)fori;1setgraystrokegrestore0setgraystroke}def",H+10)print("/.9%ofpointsaregoodifchangedp;2print".y-cy)*scale+H/,y;s{moveto-20m22l2-2l-2-2lclosepath"+".y)**2min_index=point.groupmin_dist=FLOAT_MAXfori,ccinenumerate(cluster_centers).x=r*cos(ang)p;''l{rlineto}def/.25subexch,cluster_centers[:i])[1]#第j个数据点p与各个中心点距离的最小值sum+=d[j]sum*=random()forj:return(a.x-b.x)**2+(a,0)#callk++initkpp(points,cluster_centers)#选择初始种子点#下面是kmeanslenpts10=len(points)>>10changed=0whileTrue.xifmax_yp;+"/=cc:min_i=nearest_cluster_center(p,cluster_centers)[0]ifmin_i;\n%%%%EOF"defmain():npoints=30000k=7##clusterspoints=generate_points(npoints,10)cluster_centers=lloyd(points,k)print_eps(points,cluster_centers)main().r.y-cy)*scale+H/frommathimportpi 展开
怎么用mahout实现模糊k-means算法,最好带注释
Hive Hadoop中类似于数据仓库的应用,所有要用到的表可以存在Hive中,并且HQL语言类sql语言直接见表查询。
Hdfs是Hadoop中文件存储的格式。
Hbase Hadoop中一种表存储的方式,是以列式存储的方式存储一些大数据量的表。
Pig Hadoop的ETL平台工具,提供了简便的语言也是。
Sqoop 就是一个搬数的工具,从关系型数据库到Hdfs中,或者反过来。
也可以用Java接口直接实现搬数的过程。
ODI(12版本)加入Hive架构,使得搬数更简单了。
Sqoop速度好慢,增量也比较麻烦。
Maoreduce就是Hadoop核心算法,一个Map 一个Reduce函数。
Mahout 是Hadoop的一个数据挖掘应用,利用许多封装好的算法进行数据分析例如K-Means算法。
...
k mean聚类算法可以干什么
一,K-Means聚类算法原理k-means 算法接受参数 k ;然后将事先输入的n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。
聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。
K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。
K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。
通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。
假设要把样本集分为c个类别,算法描述如下:(1)适当选择c个类的初始中心;(2)在第k次迭代中,对任意一个样本,求其到c个中心的距离,将该样本归到距离最短的中心所在的类;(3)利用均值等方法更新该类的中心值;(4)对于所有的c个聚类中心,如果利用(2)(3)的迭代法更新后,值保持不变,则迭代结束,否则继续迭代。
该算法的最大优势在于简洁和快速。
算法的关键在于初始中心的选择和距离公式。
...
怎么使用SPSS软件
当我们的调查问卷在把调查数据拿回来后,我们该做的工作就是用相关的统计软件进行处理,在此,我们以spss为处理软件,来简要说明一下问卷的处理过程,它的过程大致可分为四个过程:定义变量、数据录入、统计分析和结果保存.下面将从这四个方面来对问卷的处理做详细的介绍.Spss处理:第一步:定义变量大多数情况下我们需要从头定义变量,在打开SPSS后,我们可以看到和excel相似的界面,在界面的左下方可以看到Data View, Variable View两个标签,只需单击左下方的Variable View标签就可以切换到变量定义界面开始定义新变量。
在表格上方可以看到一个变量要设置如下几项:name(变量名)、type(变量类型)、width(变量值的宽度)、decimals(小数位) 、label(变量标签) 、Values(定义具体变量值的标签)、Missing(定义变量缺失值)、Colomns(定义显示列宽)、Align(定义显示对齐方式)、Measure(定义变量类型是连续、有序分类还是无序分类).我们知道在spss中,我们可以把一份问卷上面的每一个问题设为一个变量,这样一份问卷有多少个问题就要有多少个变量与之对应,每一个问题的答案即为变量的取值.现在我们以问卷第一个问题为例来说明变量的设置.为了便于说明,可假设此题为:1.请问你的年龄属于下面哪一个年龄段( )? A:20—29 B:30—39 C:40—49 D:50--59那么我们的变量设置可如下: name即变量名为1,type即类型可根据答案的类型设置,答案我们可以用1、2、3、4来代替A、B、C、D,所以我们选择数字型的,即选择Numeric, width宽度为4,decimals即小数位数位为0(因为答案没有小数点),label即变量标签为“年龄段查询”。
Values用于定义具体变量值的标签,单击Value框右半部的省略号,会弹出变量值标签对话框,在第一个文本框里输入1,第二个输入20—29,然后单击添加即可.同样道理我们可做如下设置,即1=20—29、2=30—39、3=40—49、4=50--59;Missing,用于定义变量缺失值, 单击missing框右侧的省略号,会弹出缺失值对话框, 界面上有一列三个单选钮,默认值为最上方的“无缺失值”;第二项为“不连续缺失值”,最多可以定义3个值;最后一项为“缺失值范围加可选的一个缺失值”,在此我们不设置缺省值,所以选中第一项如图;Colomns,定义显示列宽,可自己根据实际情况设置;Align,定义显示对齐方式,有居左、居右、居中三种方式;Measure,定义变量类型是连续、有序分类还是无序分类。
以上为问卷中常见的单项选择题型的变量设置,下面将对一些特殊情况的变量设置也作一下说明.1.开放式题型的设置:诸如你所在的省份是_____这样的填空题即为开放题,设置这些变量的时候只需要将Value 、Missing两项不设置即可.2.多选题的变量设置:这类题型的设置有两种方法即多重二分法和多重分类法,在这里我们只对多重二分法进行介绍.这种方法的基本思想是把该题每一个选项设置成一个变量,然后将每一个选项拆分为两个选项项,即选中该项和不选中该项.现在举例来说明在spss中的具体操作.比如如下一例:请问您通常获取新闻的方式有哪些( )1 报纸 2 杂志 3 电视 4 收音机 5 网络在spss中设置变量时可为此题设置五个变量,假如此题为问卷第三题,那么变量名分别为3_1、3_2、3_3、3_4、3_5,然后每一个选项有两个选项选中和不选中,只需在Value一项中为每一个变量设置成1=选中此项、0=不选中此项即可.使用该窗口,我们可以把一个问卷中的所有问题作为变量在这个窗口中一次定义。
到此,我们的定义变量的工作就基本上可以结束了.下面我们要作就是数据的录入了.首先,我们要回到数据录入窗口,这很简单,只要我们点击软件左下方的Data View标签就可以了.第二步:数据录入Spss数据录入有很多方式,大致有一下几种:1.读取SPSS格式的数据2.读取Excel等格式的数据3.读取文本数据(Fixed和Delimiter)4.读取数据库格式数据(分如下两步)(1)配置ODBC (2)在SPSS中通过ODBC和数据库进行但是对于问卷的数据录入其实很简单,只要在spss的数据录入窗口中直接输入就可以了,只是在这里有几点注意的事项需要说明一下.1. 在数据录入窗口,我们可以看到有一个表格,这个表格中的每一行代表一份问卷,我们也称为一个个案.2. 在数据录入窗口中,我们可以看到表格上方出现了1、2、3、4、5…….的标签名,这其实是我们在第一步定义变量中,我们为问卷的每一个问题取的变量名,即1代表第一题,2代表第二题.以次类推.我们只需要在变量名下面输入对应问题的答案即可完成问卷的数据录入.比如上述年龄段查询的例题,如果问卷上勾选了A答案,我们在1下面输入1就行了(不要忘记我们通常是用1、2、3、4来代替A、B、C、D的).3.我们知道一行代表一份问卷,所以有几分问卷,就要有几行的数据.在数据录入完成后,我们要做的就是我们的关键部分,即问卷的统计分析了,因为这时我们已经把问卷中的数据录入我们的软件中了.第三步:统计分析有了数据,可以利用SPSS的各种分析方法进行分析,但选择何种统计分析方法,即调用哪个统计分析过程,...
转载请注明出处51数据库 » kmeans用什么软件