我使用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?