is there a general approach for splitting a dataset into two or more subsets so that a classification problem can be solved with higher accuracy for the resulting separate subsets?
I have a very inconsistent dataset which I can only classify with a 50% accuracy. I spit the set in two subsets based on an assumption of what predictor should correlate with a output variable. In my first subset, I only included samples from the dataset were the predictor correlates with the output variable. The remaining samples go in the second subset. Afterwards, both subsets (1k samples/2k samples) performed better, from 50% accuracy to 95%/65%. In this specific example, I have a strong suspicion that the class labels used for tagging were interpreted differently by different persons which led to conflicting tags. Manually "enforcing" one interpretation helped separating this. This is supported by the fact that correlations between this output variable and other output variables drastically swap signs between one and the other subset.
I was wondering if there is a general approach on how this could be achieved for my other output variables. I.e., find a separation of my dataset so that both sets separately can be classified accurately with some machine learning algorithm.