Skip to content
This repository has been archived by the owner on Feb 22, 2020. It is now read-only.

Added first draft of template for documentation of prediction algorithm #70

Merged

Conversation

tdraebing
Copy link
Contributor

Description

I added a first draft of a template for documenting candidates of prediction algorithms that could be included into this project.

Reference to official issue

Issue #58

Motivation and Context

The template contains the following sections:

  • A short summary
  • Source of the algorithm
  • License
  • Prerequisites
  • Description of the algorithm design
  • Reference/User instructions to the trained model
  • Model performance
  • Use cases
  • Changes that are needed for adaptation into this project
  • Misc. comments
  • References

How Has This Been Tested?

The markdown is displayed correctly in PyCharm.
This is just a first draft and I encourage everybody to comment or commit possible improvements to this pull request.

Screenshots (if appropriate):

CLA

  • I have signed the CLA; if other committers are in the commit history, they have signed the CLA as well

@lamby lamby requested a review from reubano August 26, 2017 06:54
@lamby
Copy link
Contributor

lamby commented Aug 26, 2017

@reubano Assigning to thee for review :)

@reubano
Copy link
Contributor

reubano commented Aug 28, 2017

@tdraebing this is looking good! I didn't see a place to document the ML engine/backend, e.g., Keras/TensorFlow/etc. Where do you envision that information going?

@tdraebing
Copy link
Contributor Author

You are right. That should be a separate point. It would show up in the dependencies section, but that might not be easy and convenient to find for somebody reading the docs.
Before I add that point, is the aim of the project to support several frameworks? Or would you rather try to rewrite the models to fit one backend of choice (e.g. all to Keras with Tensorflow-backend)? Then I would add that part to the "Adaptation"-section.

@reubano
Copy link
Contributor

reubano commented Aug 28, 2017

It would show up in the dependencies section, but that might not be easy and convenient to find for somebody reading the docs.

Agreed! I think it's deserving of its own section (see the table in #18 for an example).

... is the aim of the project to support several frameworks? Or would you rather try to rewrite the models to fit one backend of choice (e.g. all to Keras with Tensorflow-backend)?

The aim is to support whatever model is thrown at it. Most implementations are based on Keras/Tensorflow, but that isn't a requirement. So as long the proper engines and libs are installed, everything should "just work".

Then I would add that part to the "Adaptation"-section.

If someone is more fluent in an engine than what was originally used, they are more than welcome to rewrite it. But I think this aspect is out-of-scope for the documentation.

@tdraebing tdraebing force-pushed the issue-58-algorithm-docs-template branch from 25cddf2 to f1aa17b Compare August 28, 2017 14:55
@tdraebing
Copy link
Contributor Author

Ok, I added an extra point for the ML framework into the "Prerequisites"-section.

@WGierke
Copy link
Contributor

WGierke commented Aug 28, 2017

Thanks for the template! I have a small question: where is the difference between Prerequisites - is porting to Python 3.5 feasible? and Adaptation into Concept to Clinic - Comment on possible problems/solutions for porting the algorithm to Python 3.5+? Should the letter one contain more detailed steps / comments?

@tdraebing
Copy link
Contributor Author

Yes, the second one should contain detailed steps or comments. The point "Prerequisites - is porting to Python 3.5 feasible?" should be answered with yes/no. It was mainly put there in case the algorithm is not already written in any version of Python. Would that be the case anyway or rather out of scope? If we anyway only plan to use algorithms already implemented in Python, I would suggest removing this point.

@reubano
Copy link
Contributor

reubano commented Aug 30, 2017

@WGierke and @tdraebing I think we can be fine limiting this to Python only. In this case, maybe change Programming Lang to Python Version? And the is porting to Python 3.5 feasible? would be in case the algorithm is written in 2.7.

@reubano
Copy link
Contributor

reubano commented Aug 30, 2017

Ok, I added an extra point for the ML framework into the "Prerequisites"-section.

Nice! I think the free text box for the ML details would be better structured as a table. That way we can ensure to capture all of the information. I.e.:

key value
ML engine pytorch
engine-version 0.1.10+ac9245a
ML backend N/A

those keys were just the first thing I came up with, so feel free to change them if there are other (more fitting) terms to use instead.

@tdraebing tdraebing force-pushed the issue-58-algorithm-docs-template branch from f1aa17b to dd427bf Compare September 1, 2017 16:24
… to be included into the prediction module.
@tdraebing tdraebing force-pushed the issue-58-algorithm-docs-template branch from dd427bf to d529bfe Compare September 1, 2017 16:31
@tdraebing
Copy link
Contributor Author

I removed the question of feasibility for now, since this might also be commented on in the section dealing with adapting the model to our needs. I also changed part of the dependency section into a table layout.

@lamby
Copy link
Contributor

lamby commented Sep 3, 2017

Hey @reubano What do you think - is this ready to commit?

@reubano reubano merged commit 3df8141 into drivendataorg:master Sep 4, 2017
@reubano
Copy link
Contributor

reubano commented Sep 4, 2017

LGTM :shipit:

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