Task 0: Naïve Logistic Regression

Make a logistic regression and report the accuracy.

Task 1: Train Data Transformation

Perform the pre-processing to transform the original data into a new feature space by doing feature engineering so the features are linear in the new space. Confirm four assumptions required for a linear classifier.

Task 2: Linear Parametric Classification

Implement logistic regression model using Scikit-learn. Using the GridSearchCV, optimize the model.

1. Make a logistic regression model. Report the weights and the accuracy of the model.

2. Using the GridSearchCV at various 100 a values from 10-5 to 10, build a logistic

regression model. Visualize how the model accuracy behaviors. Then report the best

model. If the accuracy is 100%, then the model is overfitted. In this case, the model

should be regularized.

3. Using the best model, classify the test data set.

Task 3: Transformation using Kernel Method

Kernelize the original to a Kernel space using five different valid Kernel functions. Then repeat Task 2.

Task 4: Non-parametric KNN Classification

1. Classify the original data with K values from 1 to 200. Then report the accuracy with


2. Repeat step 1 with the final train data sets from Tasks 1 and 3.


Write a report summarizing the work. In the report, all steps must be explicitly explained with