After obtaining the result of algorithm fuzzy c means on the iris flower data set. Results are to be checked for their correctness. So, how to derive it in matlab. I mean code for that. please suggest.
Yes, you can use confusion matrix as a performance metric for a classifier where the output of the classifier is class labels.
If your classifier output is a likelihood floating point value for each of the classes, then you have to use some scheme of converting the likelihoods to a class label. For example, use softmax function for one hot encoding.
So, for the Fuzzy K Means clustering based classifier, you'll have to pick output class label as the 'index' if the Fuzzy cluster with maximum likelihood/ membership score. This will constitute predicted labels.
Using array of test labels and predicted labels to compute confusion matrix is straightforward in any computational platform, including Matlab of course.
- Fuzzy K Means (also called fuzzy c means or FCM) is an unsupervised learning method. This means the assignment of training data points to clusters is not based on their class labels. Therefore, FCM is not used as a discriminative classifier.
Typically, FCM is used as an intermediate module to encode data. The encoded representation is used as a feature vector, in supervised learning, to train a discriminative classifier, such as a SVM.
This is not to say you can not use FCM for classification, but it would only work when data points of the same label occur in reasonably distinct clusters. This almost never happens with real world data and so it's recommended not to use FCM for classification.