-
Notifications
You must be signed in to change notification settings - Fork 140
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
Implement Epsilon-First bandit endpoint #350
Implement Epsilon-First bandit endpoint #350
Conversation
A class to encapsulate the computation of bandit epsilon first. | ||
|
||
total_samples is the total number of samples (#to sample + #sampled) | ||
#sampled is calculated by summing up total from each arm sampled. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lets spell out the word number, people may think this is a hashtag or something :p
maybe a link to wikipedia too (you deleted that above)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nm, I see the link below. s/#/number/g still though
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Looks really good. Great docs. Good handling of multiple schemas. Good tests. Just a few random style nits. |
Since we are on trail #41, we are in the exploration phase. We choose arms randomly: | ||
|
||
arm1: 0.33, arm2: 0.33, arm3: 0.33. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have you run make -B docs
and looked over your rendered doc pages? You should do this.
My experience has been that math, dicts, pseudocode, etc. all read more nicely if wrapped in at least double backticks if not at math-block, e.g.,
the thing, ``{win:10, lose:10, ...}`` is cool
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
…nning_arm_names out to superclass Epsilon.
…_create_epsilon_first_bandit_endpoint
Implementers of this interface will never override this method. | ||
|
||
:return: of set of names of the winning arms | ||
:rtype: frozenset(String()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
:param: and :type: for input
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
looks good besides some comment fixes. not sure why your travis failed? also, can you update the changelog?
|
:param arms_sampled: a dictionary of arm name to :class:`moe.bandit.data_containers.SampleArm` | ||
:type arms_sampled: dictionary of (String(), SampleArm()) pairs | ||
:return: of set of names of the winning arms | ||
:rtype: frozenset(String()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add a :raise: ValueError when ...
after rtype
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
one more test and shipit! |
👞 it! |
shipit! |
…ndit_endpoint Implement Epsilon-First bandit endpoint
********* PEOPLE *************
Primary reviewer: @sc932
Reviewers: @suntzu86
********* DESCRIPTION **************
Branch Name: norases_335_create_epsilon_first_bandit_endpoint
Ticket(s)/Issue(s): Closes #335
********* TESTING DONE *************
make test
make style-test