I have a data set for cluster analysis. The code I used for the analysis is listed as below. My question is that: Assuming there are 100 data points in the data set, how can I define the minimum number of data points is clustered in each group?
Right now, I see some cluster, outputted by the current method, only contains 1 data point in a cluster. This is why I am wondering if I can set a minimum number, such as the number of data points in a cluster must be more than 10% or 20%, etc. for example.
Thank you for the help.
PROC FASTCLUS DATA=model_data3
MAXC=3
MAXITER=100
REPLACE=FULL
OUT=WORK.CLKMKMeansData
;
VAR volume;
RUN;
It might be a better idea to increase MAXCLUSTERS and to consider observations which end up alone in a cluster as outliers,
Since you have a single clustering variable, you could also try to fit a finite mixture model:
PROC FMM DATA=model_data3;
model volume / kmax=3;
output out=CLKMKMeansData / group=volumeGroup;
run;
(untested)
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Use this tutorial as a handy guide to weigh the pros and cons of these commonly used machine learning algorithms.
Find more tutorials on the SAS Users YouTube channel.