Machine Learning: Predicting target based on a feature I have a df looks as follow:

-It is very likely that the same feature1Xfeature2Xfeature3 combination will appear multiple times.
-type values are in the range of 1..4.
I want to train a model, that for each feature1Xfeature2Xfeature3 combination as input, will predict a type s.t this type will match to the lowest price. e.g, if there are two rows with the same feature1Xfeature2Xfeature3 = [5.0, 3.6, 1.4] combination, one has price of 5000 with type 3, the other has price of 2000 with type 1, then inputting the model with feature1Xfeature2Xfeature3 = [5.0, 3.6, 1.42] (a combination which is very close to the above one) will likely output 1 since it has lower price.
I've got some experience with models and learning using python and sklearn, but it sums to training a model with one target, which is not based on a specific feature.
The final goal is to try and fit several algorithms on this problem(KMeans, DecisinTree, NN..), and check who did the best.
Any help will be appreciated.
Thanks
One quick thought is to use 1-NN (k-Nearest-Neighbors with k=1).
This does not need any training (it is a lazy algorithm) and for each new sample you look up what is the nearest datapoint in your dataset.
In your case, when you try to classify a new sample you can set its price to 0.
If you use Euclidian distance as a distance metric for the 1-NN, then in case there are multiple points with the same feature values, the nearest one will be the one with the smaller price (assuming that prices are in the range [0, inf) to avoid complications with negative prices).
In summary, what you need to do to classify a sample:

Set the sample's price to 0.
For each data point in your dataset:
3. Calculate the Euclidian distance between the sample and the data point.
Use the type of the data point with the minimum distance from the sample as the classification value for the sample.