Objective: Pulsars are a rare type of neutron star that produces radio emissions detectable here on Earth. They are of considerable scientific interest as probes of space-time, the interstellar medium, and states of matter. Each pulsar produces a slightly different emission pattern, which varies slightly with each rotation. Thus, a potential signal detection known as a 'candidate', is averaged over many rotations of the pulsar, as determined by the length of an observation. In the absence of additional information, each candidate could potentially describe a real pulsar. However, in practice, almost all detection is caused by radio frequency interference (RFI) and noise, making legitimate signals hard to find. Machine learning tools are now being used to automatically label Pulsar candidates to facilitate rapid analysis. Classification systems in particular are being widely adopted, which treat the candidate data sets as binary classification problems. Here, the legitimate pulsar examples are a minority positive class, and spurious examples are the majority negative class. i. Randomly pick 80% of the data as a training set and the rest as a test set. ii. Normalize each feature of the dataset to have a zero mean and unit variance. Note that while normalizing the features, their mean and variance should be computed over the train split only. Once the mean and variance are computed using only the train split, you normalize the test split using the mean and variance computed over the train split. Once the mean and variance are computed using only the train split, you normalize the test split using the mean and variance computed over the train split. iii. Note that training requires solving the dual optimization problem. To solve the dual optimization problem, you must use the python package: cvxopt.solvers Write a SVM function that takes a new datapoint as input and predicts the class. In SVM, the hyperparameter C regulates the regularization strength, affecting the balance between a smooth decision boundary and the