class_docstr: Also referred to as Tikhonov regularization. Linear regression model with a regularization factor.
  Model that tries to balance the fit of the model with respect to the training data and the complexity
  of the model. A large regularization factor with decreases the variance of the model.
  Parameters:
  -----------
  reg_factor: float
      The factor that will determine the amount of regularization and feature
      shrinkage. 
  n_iterations: float
      The number of training iterations the algorithm will tune the weights for.
  learning_rate: float
      The step length that will be used when updating the weights.
class_docstr_tok: ["Also","referred","to","as","Tikhonov","regularization",".","Linear","regression","model","with","a","regularization","factor",".","Model","that","tries","to","balance","the","fit","of","the","model","with","respect","to","the","training","data","and","the","complexity","of","the","model",".","A","large","regularization","factor","with","decreases","the","variance","of","the","model",".","Parameters",":","--","--","--","--","--","-","reg_factor",":","float","The","factor","that","will","determine","the","amount","of","regularization","and","feature","shrinkage",".","n_iterations",":","float","The","number","of","training","iterations","the","algorithm","will","tune","the","weights","for",".","learning_rate",":","float","The","step","length","that","will","be","used","when","updating","the","weights","."]
code: def __init__(
      self, reg_factor, n_iterations=1000, learning_rate=0.001
  ):
      self.regularization = l2_regularization(alpha=reg_factor)
      super(RidgeRegression, self).__init__(n_iterations, learning_rate)
  
imports: from __future__ import print_function, division
  import numpy
  import math
  from mlfromscratch.utils import normalize, polynomial_features
label_desc: Use image node_id 1 to create a new RidgeRegression object from inherited base classes: Regression with example: obj = RidgeRegression(reg_factor, n_iterations, learning_rate)