Suppose I have a list of objects sorted by a person based on that person's subjective taste. Let's assume that this person is being somewhat consistent in their sorting and that there are quantifiable attributes of these objects that I can identify. For example, a person might sort cheese based on how much they enjoy the taste, and people who disliked salt would rank salty cheese lower than cheeses that were low salt. One person might not care what the color of the cheese was or whether it came from cows, goats, or sheep, while another might rank sheep's milk cheeses higher than goat's milk cheeses.
I assume there is a procedure to identify what attributes of data elements in a list are and aren't relevant to the determining the order. What is the name for this problem, and what algorithms exist for solving it? (ideally in Python)