Gene expression data produced by microarray machines are useful for cancer classification. However, the process of gene selection for the classification faces a major problem because of the properties of the data such as the small number of samples compared with the huge number of genes (high-dimensional data), irrelevant genes, and noisy data. Hence, this paper proposes a three-stage method to select a small subset of informative genes which is most relevant for the cancer classification. It has three stages: (i) pre-selecting genes using a filter method to produce a subset of genes; (ii) optimizing the gene subset using a multi-objective hybrid method to yield near-optimal subsets of genes; (iii) analyzing the frequency of appearance of each gene in the different near-optimal gene subsets to produce a small (final) subset of informative genes. Five gene expression data sets are used to test the effectiveness of the proposed method. Experimental results show that the performance of the proposed method is superior to other experimental methods and related previous works. A list of informative genes in the final gene subset is also presented for biological usage. Copyright © 2009 Institute of Electrical Engineers of Japan. Published by John Wiley & Sons, Inc.