Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • otb otb
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 206
    • Issues 206
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 12
    • Merge requests 12
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Main Repositories
  • otbotb
  • Merge requests
  • !565

Application VectorRegression

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Cédric Traizet requested to merge app_vector_regression into develop Jul 31, 2019
  • Overview 26
  • Commits 26
  • Pipelines 18
  • Changes 18

Summary

This merge request adds a new application VectorRegression that performs regression on input vector data according to a regression model.

This application is almost the same as VectorClassifier. The differences are:

  • The label types are different in classification and regression (unsigned int vs float), as well as the ogr field type (OFTInteger versus OFTFloat)
  • we need to call SetRegressionMode(1) on the model created by the MachineLearningModelFactory

Instead of creating the VectorRegression by copy-pasting almost all the VectorClassifier application, I tried to factorize the code in VectorClassifier using templates.

  • I created a new application VectorPrediction<bool RegressionMode> that performs regression when RegressionMode =1 and classification when RegressionMode = 0. The code of this application is the code of the old VectorClassifier, whith some modification to use the right types depending on RegressionMode.
  • VectorClassifier is defined VectorPrediction<0> and VectorRegression as VectorPrediction<1>.
  • The DoInit method is defined differently for VectorClassifier and VectorRegression using template specialization, to generate different documentations for the two applications

Copyright

The copyright owner is CNES and has signed the ORFEO ToolBox Contributor License Agreement.


Check before merging:

  • All discussions are resolved
  • At least 2 👍 votes from core developers, no 👎 vote.
  • The feature branch is (reasonably) up-to-date with the base branch
  • Dashboard is green
  • Copyright owner has signed the ORFEO ToolBox Contributor License Agreement
  • Optionally, run git diff develop... -U0 --no-color | clang-format-diff.py -p1 -i on latest changes and commit
Edited Jul 31, 2019 by Cédric Traizet
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: app_vector_regression