A team is deciding which columns to feed their model, and they have already done the expensive part: for every subset of the candidate features, a real model was trained and its validation accuracy recorded. Your job is to run forward selection over that table.
scores[()], the validation accuracy of a model given no features at all.features wins.scores is a dict whose keys are tuples of feature names, always listed in the order they appear in features. With features = ["Income", "Age", "Education"], the set {Education, Income} is stored under ("Income", "Education") and the empty set under (). Every subset is in the table.
Task: write forward_selection(features, scores) and return a tuple (chosen, score). chosen lists the selected features in the order they were added, and score is the final validation accuracy rounded to 4 decimal places.