Microarray Data Analysis: From Preparation to Classification