Photometric redshift library that implements Generalised Linear Models.
Homepage: GitHub Repository
CosmoPhotoz is a package that determines photometric redshifts from galaxies utilising their magnitudes. The method utilises Generalized Linear Models which reproduce the physical aspects of the output distribution. The rest of the methodology and testing of the technique is described in the associated Astronomy and Computing publication (link TBC).
- Principle Component Anylsis and decomposition of input photometric catalogue
- Generalized Linear Model family and link choice
- Seaborn publication quality plots
Get it now
The package can be installed using the PyPI and pip.
$ pip install -U CosmoPhotoz
Or if the tarball or repository is downloaded, distutils can be
$ python setup.py install
Run from the command line.
$ run_glm.py --dataset sample.csv --num_components 3 --training_size 10000 --family Gamma --link log
Or import the library into python.
from CosmoPhotoz.photoz import PhotoSample # import the library import numpy as np # Instantiate the class UserCatalogue = PhotoSample(filename="PHAT0", family="Gamma", link="log") # Make a training size array to loop through train_size_arr = np.arange(500,10000,500) catastrophic_error =  # Select your number of components UserCatalogue.num_components = 4 for i in range(len(train_size_arr)): UserCatalogue.do_PCA() UserCatalogue.test_size = train_size_arr[i] UserCatalogue.split_sample(random=True) UserCatalogue.do_GLM() catastrophic_error.append(UserCatalogue.catastrophic_error) min_indx = np.array(catastrophic_error) < 5.937 optimum_train_size = train_size_arr[min_indx] print optimum_train_size
See more examples within the Documentation.
- Python >= 2.7 or >= 3.3
- GNU General Public License (GPL>=3)