code: def get_zeta_i_j(self, X):
  		'''
  		Parameters
  		----------
  		X : np.array
  			Array of word counts, shape (N, 2) where N is the vocab size.  X[:,0] is the
  			positive class, while X[:,1] is the negative class. None by default
  
  		Returns
  		-------
  		np.array of z-scores
  		'''
  		y_i, y_j = X.T[0], X.T[1]
  		return self.get_zeta_i_j_given_separate_counts(y_i, y_jf get_zeta_i_j(self, X):
  		'''
  		Parameters
  		----------
  		X : np.array
  			Array of word counts, shape (N, 2) where N is the vocab size.  X[:,0] is the
  			positive class, while X[:,1] is the negative class. None by default
  
  		Returns
  		-------
  		np.array of z-scores
  		'''
  		y_i, y_j = X.T[0], X.T[1]
  		return self.get_zeta_i_j_given_separate_counts(y_i, y_j)
docs: Parameters
  		----------
  		X : np.array
  			Array of word counts, shape (N, 2) where N is the vocab size.  X[:,0] is the
  			positive class, while X[:,1] is the negative class. None by default
  
  		Returns
  		-------
  		np.array of z-scores