Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding Ranking AutoML Task #5150

Merged
merged 18 commits into from
Jun 17, 2020
Merged

Adding Ranking AutoML Task #5150

merged 18 commits into from
Jun 17, 2020

Conversation

Lynx1820
Copy link
Contributor

@Lynx1820 Lynx1820 commented May 21, 2020

Creating a ranking experiment in AutoML - sweeping over predefined parameters for two trainers - FastTreeRanking and LightGBMRanking.

ModelBuilder Requests:

  • Concatenate feature columns - done in this PR
  • Allow custom groupId column name- will do in another PR

Next Steps: Fully integrate with modelbuilder

@Lynx1820 Lynx1820 marked this pull request as ready for review May 27, 2020 17:01
@Lynx1820 Lynx1820 requested review from a team as code owners May 27, 2020 17:01
@Lynx1820 Lynx1820 force-pushed the ranking branch 2 times, most recently from d89d1e9 to 705a436 Compare May 29, 2020 18:07
@codecov
Copy link

codecov bot commented May 29, 2020

Codecov Report

Merging #5150 into master will increase coverage by 0.09%.
The diff coverage is 87.13%.

@@            Coverage Diff             @@
##           master    #5150      +/-   ##
==========================================
+ Coverage   73.47%   73.57%   +0.09%     
==========================================
  Files        1010     1013       +3     
  Lines      187974   188446     +472     
  Branches    20261    20289      +28     
==========================================
+ Hits       138120   138649     +529     
+ Misses      44372    44316      -56     
+ Partials     5482     5481       -1     
Flag Coverage Δ
#Debug 73.57% <87.13%> (+0.09%) ⬆️
#production 69.39% <78.07%> (+0.09%) ⬆️
#test 87.43% <100.00%> (+0.04%) ⬆️
Impacted Files Coverage Δ
src/Microsoft.ML.AutoML/Utils/BestResultUtil.cs 53.84% <0.00%> (-3.69%) ⬇️
...rator/CodeGenerator/CSharp/TrainerGeneratorBase.cs 91.30% <ø> (ø)
...osoft.ML.AutoML.Tests/Utils/TaskAgnosticAutoFit.cs 0.00% <ø> (ø)
...odeGenerator/CodeGenerator/CSharp/CodeGenerator.cs 66.33% <33.33%> (-0.33%) ⬇️
...or/CodeGenerator/CSharp/TrainerGeneratorFactory.cs 81.25% <50.00%> (-2.09%) ⬇️
...enerator/CodeGenerator/CSharp/TrainerGenerators.cs 95.28% <54.54%> (-1.46%) ⬇️
src/Microsoft.ML.AutoML/API/RankingExperiment.cs 58.06% <58.06%> (ø)
...ML/Experiment/MetricsAgents/RankingMetricsAgent.cs 64.28% <64.28%> (ø)
src/Microsoft.ML.AutoML/API/AutoCatalog.cs 74.19% <66.66%> (-1.28%) ⬇️
...L.AutoML/TrainerExtensions/TrainerExtensionUtil.cs 84.71% <80.00%> (-0.45%) ⬇️
... and 53 more

ColumnInformation columnInfo, IDataView validationSet)
{
LightGbmRankingTrainer.Options options = TrainerExtensionUtil.CreateLightGbmOptions<LightGbmRankingTrainer.Options,
float, RankingPredictionTransformer<LightGbmRankingModelParameters>, LightGbmRankingModelParameters>(sweepParams, columnInfo);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ohh that's crazy

@@ -420,6 +446,10 @@ public static SuggestedTransform[] InferTransforms(MLContext context, TaskKind t
var labelColumnName = intermediateCols.FirstOrDefault(c => c.Purpose == ColumnPurpose.Label)?.ColumnName;
concatColNames.Remove(labelColumnName);

// remove column with 'GroupId' purpose
var groupColumnName = intermediateCols.FirstOrDefault(c => c.Purpose == ColumnPurpose.GroupId)?.ColumnName;
concatColNames.RemoveAll(s => s == groupColumnName);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You also need to remove "GroupId" too because it's a key column, it can't be cocat.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I moved the custom GroupId column change to another PR. That's why there's only groupColumnName removed here.

Copy link
Contributor

@harishsk harishsk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@Lynx1820 Lynx1820 merged commit b0eafd2 into dotnet:master Jun 17, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Mar 18, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants