In order to find and select possible informative genes for cancer classification, recently, many researchers are analyzing micro array data using various computational intelligence methods. However, due to a small number of samples compared to the huge number of genes, irrelevant genes, and noisy genes, most of these methods face difficulties to select the informative genes. In this paper, we propose an improved binary particle swarm optimization to select a small subset of informative genes that is relevant for the cancer classification. Instead of the existing rule of position update in binary particle swarm optimization (BPSO), we modify the rule so that it selects efficiently the small subset from the microarray data. By performing experiments on two different public cancer data sets, we have found that the performance of the proposed method is superior to other related previous works, including BPSO in terms of classification accuracy and the number of selected genes.