-
Notifications
You must be signed in to change notification settings - Fork 2
/
README.md.template
85 lines (63 loc) · 2.75 KB
/
README.md.template
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
[![Build Status](https://travis-ci.org/GOTO-OBS/goto-vegas.svg?branch=master)](https://travis-ci.org/GOTO-OBS/goto-vegas)
# GOTO Vegas
Classify transient sources accurately and efficiently.
# Leaderboard
{top10_by_score}
# Submit a classifier for evaluation
Any member of the [GOTO organization on GitHub](https://github.com/GOTO-OBS) can
submit an entry. First, clone this repository and create a branch with a
representative name (e.g., something like `<last_name>-<short_description>`)
and switch to that branch:
```
git clone git@github.com:goto-obs/goto-vegas.git
cd goto-vegas
git branch casey-random-forest
git checkout casey-random-forest
```
Now create your classifier by changing the behaviour of the `Classifier` class
in [`classifier/classifier.py`](classifier/classifier.py). Specifically, you
will want to change the code in the `train` and `classify` functions.
Here is the worst kind of classifier, which will never find any transient:
```python
# -*- coding: utf-8 -*-
from __future__ import division, print_function
from .base import BaseClassifier
import numpy as np
class Classifier(BaseClassifier):
def train(self, predictors, classifications, **kwargs):
"""
Train the model based on a table of predictors and known classifications
for objects in a training set.
:param predictors:
An :class:`astropy.table.Table` of possible predictors, where the
number of rows is the number of objects in the training set.
:param classifications:
An array of classifications for all objects in the training set.
This array should have the same length as the number of predictor rows.
"""
return None
def classify(self, predictors, **kwargs):
"""
Classify multiple objects, given the predictors for each object.
:param predictors:
A table of predictors (one row per object).
:returns:
A single-valued classification for each object.
"""
return np.zeros(len(predictors))
```
You can test your classifier locally by running `python score.py`. If you want
to submit your entry to the leaderboard, you will need to commit your changes
and push them to GitHub:
```
git add classifier/classifier.py
git commit -m "Add Random Forest entry"
git push --set-upstream origin casey-random-forest
```
Your classifier will be run on the test set and scored automatically by Travis CI.
Once the classifier has been scored, your entry will (hopefully!) appear on the
leaderboard. Otherwise, your classifier might have done a very bad job and not made
it in to the top ten. All entries evaluated by Travis CI are [available here](entries.csv).
Maintainer
----------
- [Andrew R. Casey](http://astrowizici.st) (Monash)