1

我在 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 discrim。

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?

4

0 回答 0