如何在SAS中每个类使用单个质心执行1NN?

时间:2012-12-21 08:55:12

标签: sas cluster-analysis knn

我使用SAS中的PROC fastclus计算每个类的单个质心,

proc fastclus data=sample.samples_train mean=knn.clusters
maxc=1 *number of clusters*
maxiter=100;
var &predictors; 
by class;
run;

我正在尝试根据创建的这些质心中最近的一个对测试集进行分类。我正在SAS中使用PROC discriminim。

proc discrim data=knn.clusters   
             testdata=sample.samples_test
             method=NPAR k=1 metric=identity noclassify;
      class class; 
      var &predictors; 
      ods output ErrorTestClass=knn.error;
run; 

我正在使用带有metric=identity选项的欧氏距离测量。

返回以下错误。

ERROR: There are not enough observations to evaluate the pooled covariance matrix in DATA= data set or BY group.

如果我将fastproc中的簇数设置为2,则此方法有效。

然而,我如何在SAS中为每个类的单个质心预先形成1NN?

0 个答案:

没有答案