This is a machine learning algorithm that takes an input of astrometry data and uses it to construct a model to predict further data. A function exists at the end for user input.
Data collected is from , who collected it from Wikipedia and other unlisted web sources. This data was designated for use for exactly a purpose such as this.
The model is a Support Vector Machine with a radial basis function kernel (sklearn.svm.SVC(kernel="rbf")), selected for its ability to work well with non-linear data and multiple classes as required here.
There were very few relevant hyperparameters here, only in effect the train-test split, which was optimised by testing a variety of splits repeatedly. Ultimately, an 80-20% split was the best option.
Results from the model clearly indicate that it does, in fact, work. It performs calculations well, and processes with minimal error, classifying ~80% of stars correctly, only struggling with the extreme classes.