Skip to content

Frontend to download candidate data as CSV

Eduardo Bonet requested to merge mlops/button-to-download-candidate-csv into master

What does this MR do and why?

Candidate data from an experiment (parameters, metrics and metadata) are often used by Data Scientists to create reports on their models. Allowing them to download this data as csv makes it easier for them to use it with their own tools.

Screenshots or screen recordings

image

How to set up and validate locally

How to set up and validate locally

  1. Enable the feature flag

    echo "Feature.enable(:ml_experiment_tracking)" | bundle exec rails c
  2. Create an Experiment and 10 candidates

    # Added variables
    user_id = 1
    project_id = 1
    
    exp = Ml::Experiment.create!(name: "Awesome Gitlab Experiment", user_id: user_id, project_id: project_id)
    10.times.each { |i| exp.candidates.create!(user_id: user_id, start_time: 0, name: "candidate_#{i}", internal_id: i, project_id: project_id) }
    exp.candidates.each_with_index { |c, i| c.metrics.create!(name: "auc", value: i*0.1 , tracked_at: Time.zone.now, step: 1)} 
    exp.candidates.each_with_index { |c, i| c.metrics.create!(name: "accuracy", value: i* 0.1+0.1 , tracked_at: Time.zone.now, step: 1)} 
    exp.candidates.each { |c| c.params.create!(name: "algorithm", value: ["LogisticRegression", "DecisionTree"].sample )}
  3. Navigate to <your project>/-/ml/experiments/1 and click on "Download as CSV"

  4. A CSV file will be downloaded containing the candidate data for the experiment.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports

Loading