BaseClassifier (starclass.BaseClassifier
)
- class starclass.BaseClassifier(tset=None, features_cache=None, plot=False, data_dir=None, truncate_lightcurves=None)[source]
Bases:
object
The basic stellar classifier class for the TASOC pipeline. All other specific stellar classification algorithms will inherit from BaseClassifier.
- plot
Indicates wheter plotting is enabled.
- Type:
bool
- data_dir
Path to directory where classifiers store auxiliary data. Different directories will be used for each classification level.
- Type:
str
- features_cache
Path to directory where calculated features will be saved/loaded as needed.
- Type:
str
- classifier_key
Keyword/name of the current classifier.
- Type:
str
- StellarClasses
Enum of all possible labels the classifier should be able to classify stars into. This will depend on the
level
which the classifier is run on.- Type:
enum.Enum
- features_names
List of names of features used by the classifier.
- Type:
list
- truncate_lightcurves
Indicating if Kepler/K2 lightcurves will be trunctated to 27.4 days when loaded. Default is to truncate lightcurves if running with short training sets (27.4 days) and not truncate if running with long (90 day) training-sets.
- Type:
bool
Code author: Rasmus Handberg <rasmush@phys.au.dk>
- __init__(tset=None, features_cache=None, plot=False, data_dir=None, truncate_lightcurves=None)[source]
Initialize the classifier object.
- Parameters:
tset (
TrainingSet
) – From which training-set should the classifier be loaded?level (str, optional) – Classification-level to load. Choices are
'L1'
and'L2'
. Default is'L1'
.features_cache (str, optional) – Path to director where calculated features will be saved/loaded as needed.
plot (bool, optional) – Create plots as part of the output. Default is
False
.data_dir (str)
truncate_lightcurves (bool) – Force truncation of lightcurves to 27.4 days. If
None
, the default will be decided based on the training-set provided intset
.
Code author: Rasmus Handberg <rasmush@phys.au.dk>
- classify(task)[source]
Classify a star from the lightcurve and other features.
Will run the
do_classify()
method and check some of the output and calculate various performance metrics.- Parameters:
features (dict) – Dictionary of features, including the lightcurve itself.
- Returns:
Dictionary of classifications
- Return type:
dict
See also
Code author: Rasmus Handberg <rasmush@phys.au.dk>
- do_classify(features)[source]
Classify a star from the lightcurve and other features.
This method should be overwritten by child classes.
- Parameters:
features (dict) – Dictionary of features of star, including the lightcurve itself.
- Returns:
Dictionary where the keys should be from
StellarClasses
and the corresponding values indicate the probability of the star belonging to that class.- Return type:
dict
- Raises:
NotImplementedError – If classifier has not implemented this subroutine.
- feature_importance_complete(tset=None, features=None, probs=None, diagnostics=None)[source]
Function which will be called when feature importance is finishing.
- Parameters:
tset
features
probs
diagnostics
See also
Code author: Rasmus Handberg <rasmush@phys.au.dk>
- load_star(task)[source]
Receive a task from the TaskManager, loads the lightcurve and returns derived features.
- Parameters:
task (dict) – Task dictionary as returned by
TaskManager.get_task()
.- Returns:
Dictionary with features.
- Return type:
dict
See also
Code author: Rasmus Handberg <rasmush@phys.au.dk>
- parse_labels(labels)[source]
Convert iterator of labels into full numpy array, with only one label per star.
TODO: How do we handle multiple labels better?
- test(tset, save=None, feature_importance=False)[source]
Test classifier using training-set, which has been created with a test-fraction.
- Parameters:
tset (
TrainingSet
) – Training-set to run testing on.save (callable, optional) – Function to call for saving test-predictions.
- test_complete(tset=None, features=None, probs=None, diagnostics=None)[source]
Function which will be called when training is finishing.
- Parameters:
tset
features
probs
diagnostics
See also
Code author: Rasmus Handberg <rasmush@phys.au.dk>
- train(tset)[source]
Train classifier on training set.
This method should be overwritten by child classes.
- Parameters:
tset (
TrainingSet
) – Training-set to train classifier on.- Raises:
NotImplementedError – If classifier has not implemented this subroutine.
- property classifier_model
- property random_seed
Random seed used in derived classifiers.
- property random_state
Random state (
numpy.random.RandomState
) corresponding torandom_seed
.