 # End to End ML Project - Fashion MNIST - Training the Model - Softmax Regression

Let us now train the Softmax Regression (Logistic Regression - multi_class-multinomial). We will be doing the following as part of this exercise:

1. We will be first training the Softmax Regression (Logistic Regression - multi_class-multinomial) on the training dataset
2. Using the trained model, make the prediction on a sample instance and compare the prediction with the actual value.
3. Using the trained model, make the prediction on the whole training dataset
4. Calculate - accuracy, precision, recall and F1 Score for Softmax Regression (Logistic Regression - multi_class-multinomial).
INSTRUCTIONS

Import LogisticRegression from SKLearn

``````from <<your code comes here>> import  LogisticRegression
``````

Create an instance of LogisticRegression by passing parameters - multi_class="multinomial", solver="lbfgs", C=10 and random_state=42 to the constructor and store this created instance in a variable called 'log_clf'.

``````# using Softmax Regression (multi-class classification problem)

log_clf = LogisticRegression(<<your code comes here>>)

# 'C' is hyprparameter for regularizing L2
# 'lbfgs' is Byoden-Fletcher-Goldfarb-Shanno(BFGS) algorithm
``````

Now, train the model on 'scaled' training dataset

``````log_clf.<<your code comes here>>(X_train_scaled, <<your code comes here>>)
``````

Make prediction on an instance from the training dataset (say instance at index '0' i.e. X_train) using the above trained model 'log_clf', and store the predicted value in a variable called y_train_predict

``````y_train_predict = log_clf.<<your code comes here>>(X_train.reshape(1, -1))
``````

Let us compare the actual value to the predicted value of the label. You can use showImage() function to see the image.

``````y_train

y_train_predict

showImage(X_train)
``````

Make the predictions on the complete training dataset X_train_scaled using the above trained model 'log_clf' and save the result in variable 'y_train_predict'

``````y_train_predict = log_clf.<<your code comes here>>(X_train_scaled)
``````

Calculate the various metrics scores like - accuracy, precision, recall, F1 score - using the actual and the predicted values and relevant functions, - and store them in respective variables - log_accuracy, log_precision, log_recall and log_f1_score.

``````log_accuracy = <<your code comes here>>(y_train, <<your code comes here>>)