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); }