So i have a dataset containing the results of executing problem instances with different given solver strategies. Simplified example: ``` | Problem_instance | Problem_Size | Used_Solver | Cost | | P1 | 50 | A | 75 | | P1 | 50 | B | 125 | | P1 | 50 | C | 225 | | P1 | 50 | D | 100 | | P2 | 150 | A | 165 | | P2 | 150 | B | 360 | | P2 | 150 | C | 275 | | P2 | 150 | D | 45 | | P3 | 25 | A | 35 | | P3 | 25 | B | 65 | | ... | ... | ... | ... | ``` I'm trying to use machine learning to predict the best performing Solver for a given problem instance. In data processing stage, I need to standardize or scale my data, but I'm not sure how to this best. Firstly, i'm not sure wich wich sklearn Scaler to use (StandardScalar/ MinMaxScaler/..). Secondly, I'm confused how to handle the different records for each instance. When I group the data first based on problem_instance and then use a MinMaxScaler, the record with Cost = 0 would be the best solution for this problem and Cost=1 the worst. But if I use the same strategy to scale the Problem_Size this would be equal to 0 everywhere. On the other hand if I use a global scaling, the information about wich Solver is the best for each instance is lost. Can someone help me how to handle the data preprocessing for this problem?