protected override IEnumerable <string> GetPerInstanceColumnsToSave(RoleMappedSchema schema)
        {
            Host.CheckValue(schema, nameof(schema));
            Host.CheckValue(schema.Label, nameof(schema), "Data must contain a label column");
            Host.CheckValue(schema.Group, nameof(schema), "Data must contain a group column");

            // The ranking evaluator outputs the label, group key and score columns.
            yield return(schema.Group.Name);

            yield return(schema.Label.Name);

            var scoreInfo = EvaluateUtils.GetScoreColumnInfo(Host, schema.Schema, ScoreCol, nameof(Arguments.ScoreColumn),
                                                             MetadataUtils.Const.ScoreColumnKind.Ranking);

            yield return(scoreInfo.Name);

            // Return the output columns.
            yield return(RankerPerInstanceTransform.Ndcg);

            yield return(RankerPerInstanceTransform.Dcg);

            yield return(RankerPerInstanceTransform.MaxDcg);
        }