Classification is an important problem in machine learning. It can be used in a variety of applications, such as separating apples, oranges, and bananas automatically. Traditionally, the regular classification setup aims at minimizing the rate of future mis-prediction errors. Nevertheless, in some applications, it is needed to treat different types of mis-prediction errors differently. For instance, in a medical decision system, the cost of mis-predicting a cancerous patient as a healthy one may be higher than the other way around. In an animal recognition system, the silliness of mis-predicting a person as a fish may be higher than the silliness of mis-predicting her/him as a monkey. Such a need can be formalized as the cost-sensitive classification setup, which is drawing much research attention because of its many potential applications, including targeted marketing, fraud detection, and web analysis.