class_docstr: The Linear Discriminant Analysis classifier, also known as Fisher's linear discriminant.
  Can besides from classification also be used to reduce the dimensionaly of the dataset.
code: def fit(self, X, y):
      # Separate data by class
      X1 = X[y == 0]
      X2 = X[y == 1]
  
      # Calculate the covariance matrices of the two datasets
      cov1 = calculate_covariance_matrix(X1)
      cov2 = calculate_covariance_matrix(X2)
      cov_tot = cov1 + cov2
  
      # Calculate the mean of the two datasets
      mean1 = X1.mean(0)
      mean2 = X2.mean(0)
      mean_diff = np.atleast_1d(mean1 - mean2)
  
      # Determine the vector which when X is projected onto it best separates the
      # data by class. w = (mean1 - mean2) / (cov1 + cov2)
      self.w = np.linalg.pinv(cov_tot).dot(mean_diff)
  
file_path: BentoML/examples/custom_python_model/lda_classifier/lda.py
imports: from __future__ import division
  from __future__ import print_function
  import numpy
label_desc: Use image node_id 3 for calling the LDA obj's underlying member method code with example usage: obj.fit(X, y) without return types