SAS-观测到集群中心的距离
是否有一种简单的方法可以获得每次观测到的距离,即距离其对应的星团中心的距离 我的任务如下:SAS-观测到集群中心的距离,sas,output,distance,hierarchical-clustering,Sas,Output,Distance,Hierarchical Clustering,是否有一种简单的方法可以获得每次观测到的距离,即距离其对应的星团中心的距离 我的任务如下: 我有一个包含42000个观察值的数据集,每个都有8个变量 我在SAS中运行集群过程 proc cluster data=WORK.stndstandardized_0000 method=average pseudo noeigen outtree=WORK.tree; id POL_NUMBER; var stnd_P_M200 stnd_P_M150 stnd_P_M100 stnd_P_M50 st
proc cluster data=WORK.stndstandardized_0000 method=average pseudo noeigen outtree=WORK.tree;
id POL_NUMBER;
var stnd_P_M200 stnd_P_M150 stnd_P_M100 stnd_P_M50 stnd_P_50 stnd_P_100 stnd_P_150 stnd_P_200;
run;
proc tree out=WORK.part nclusters=10;
id POL_NUMBER;
copy stnd_P_M200 stnd_P_M150 stnd_P_M100 stnd_P_M50 stnd_P_50 stnd_P_100 stnd_P_150 stnd_P_200;
proc sort;
by cluster;
run;
有没有自动的方法,如何得到它?我已经花了相当多的时间阅读手册,但我没有找到任何方法。谢谢你的帮助 这是一个使用FastClus的解决方案 PROC FASTCLUS不会返回集群树,只返回指定集群数量的一个解决方案。PROC FASTCLUS所需的时间大致与观测次数成正比。此外,据我所知,它提供相同的聚类,但其他输出数据集 创建聚类
mean=mean
指定您希望在数据集的工作中使用CETROID。mean'和out=prelim
指定您希望在数据集的工作中使用观察值,包括聚类数和距离。prelim´
title2 ’Preliminary Analysis by FASTCLUS’;
proc fastclus data=sashelp.iris summary maxc=10 maxiter=99 converge=0
mean=mean out=prelim cluster=preclus;
var petal: sepal:;
run;
剩下的是老式SAS编程
你可能会适应你的要求
proc sort data=mean;
by preclus;
proc sort data=prelim;
by preclus distance;
data closest farthest;
format Species $22. Distance 5.2
SepalLength 5.2 centroidSepalLength 5.2
SepalWidth 5.2 centroidSepalWidth 5.2
PetalLength 5.2 centroidPetalLength 5.2
PetalWidth 5.2 centroidPetalWidth 5.2 ;
merge prelim
mean (rename=(
SepalLength=centroidSepalLength
SepalWidth=centroidSepalWidth
PetalLength=centroidPetalLength
PetalWidth=centroidPetalWidth ) drop=_:);
by preclus;
if first.preclus then output closest;
if last.preclus then output farthest;
run;
对于中心,你指的是质心,对吗?@Dirk我实际上更喜欢获得一些中心观测值(即集群中一组观测值中最平均的观测值),我想你指的是“最远的”;-)