What is the suitable technique for discrete classification and variable optimization problem?
What I would do in this case is to use a finite-differences gradient approach to solve the problem. For that, you can follow the next steps:
1) Select a customer with "Bad" prediction, increase and decrease their variables one by one a little bit and check the prediction. 
2) That way you'll which sign in each variable causes the probability of "Good" to go up. 
3) Once you have it, move a bit all the variables in the direction of improvement
4) Repeat from 1) until convergence.
BTW this is the way Excel Solver works.
I get a simple task request to perform a classification to predict classes i.e between 'Good' and 'Bad' customers. The problem is, recommendation is needed on suitable variables' values for those customers with 'Bad' prediction, so that they can take action to improve their profile. Examples of variable are 'Purchase Score' and 'Purchase Frequency'. Means that, these customers need to improve on these scores so that the prediction output can be obtained as 'Good' customers.
In this problem, when the optimized variables are input back into the classification problem, it needs to output 'Good' label instead of 'Bad' label.
I've searched through the optimization methods such as scipy.optimize and Genetic Algorithms, but from my understanding, the optimized variables are for a set continuous value target instead of a class target. What technique can I use to achieve the optimization and recommendation part for a class prediction?