Spectral Analysis for Class Discovery and Classification (SPACC)
(version 2.0)

We proposed SPACC, a classifier that can perform both class discovery and classification. The algorithm is implemented in Matlab 7, with a Graphic User Interface on top of it, designed and written by Peng Qiu.

Our motivation is as follows. In the literature, the existing classification methods can be mainly divided into two categories, unsupervised and supervised methods. In unsupervised methods, samples are grouped into clusters or tree structures, where the class label information does not affect the clustering process. Since the class label is not used, unsupervised method has the potential to discover subclasses that are beyond the known class label information. However, there is lack of systematic way to interpret the agreement and disagreement between unsupervised clusters and known class labels. On the other hand, for supervised methods, the aim is to find the boundary that best separates different classes, where the class labels play an important role. Since the total number of classes is defined by the class labels, supervised classifiers are not able to pick up possible data substructures within each known class. In supervised methods, another issue is the robustness, the adversary effect of data outliers and mislabeled samples needs to be carefully handled. The limitations of unsupervised and supervised methods motivated us to propose a novel classification method, which utilizes the class label information to a less important role so as to perform class discovery and classification simultaneously.

A manuscript of this work has been published:

Peng Qiu, and Sylvia K. Plevritis, "Simultaneous Class Discovery and Classification of Microarray Data using Spectral Analysis", Journal of Computational Biology, 16(7):935-944, 2009.


Installation instructions

This package requires Matlab 7. In order to give users maximum freedom of manipulating this software, the raw .m files are provided.

(1) download the zip package at:
http://www.stanford.edu/~qiupeng/software/SPACC/SPACC_source_code.zip (last updated on July 1, 2009)

(2) unzip to your local machine

(3) open Matlab 7 and change the directory to where the package is unzipped

(4) type "network_classification" and enter, the GUI will show up


We've also compiled the software in to a stand-alone executable format:
http://www.stanford.edu/~qiupeng/software/SPACC/SPACC_standalone.zip (last updated on July 1, 2009)
Simply un-zip and run SPACC.exe, the user interface will show up.



(1) Prepare input file:

(2) Browse and Load input file

(3) Display training data

(4) Display training and testing data

(5) Classification

(6) Output