Gene Expression Model Selector (GEMS) is a system that constructs, in a supervised fashion, diagnostic and outcome prediction models from array gene expression data. Examples of such models are: (a) models that detect cancer, (b) models that determine the correct subtype of cancer or (c) models that predict survival after treatment. Models that support such complex decision making are widely recognized as having the potential to revolutionize medicine in the years to come. In addition to the decision support models, GEMS can be used to select a small number of genes that are as good or better than the full gene set for diagnosis and/or outcome prediction. These biomarkers (genes) are also useful for discovery purposes (e.g., they suggest plausible causes and treatments of various types of cancer). Finally, GEMS provides estimates of the models' performance (e.g., accuracy) in future applications (i.e., when applied on patients not used to build the models but who come from the same patient population as the ones used to build the models), and allows users to run the models for individual patients.