(self, x_test)
return(pdfs)
Computes the probability density function at all x_test
Computes the probability density function at all x_test
Computes the probability density function at all x_test
def pdf(self, x_test):
		"""
			Computes the probability density function at all x_test
		"""
		N,D = self.data.shape
		x_test = np.asfortranarray(x_test)
		x_test = x_test.reshape([-1, D])
		
		pdfs = self._individual_pdfs(x_test)
		#import pdb; pdb.set_trace()
		# combine values based on fully_dimensional!
		if self.fully_dimensional:
			# first the product of the individual pdfs for each point in the data across dimensions and then the average (factorized kernel)
			pdfs = np.sum(np.prod(pdfs, axis=-1)*self.weights[None, :], axis=-1)
		else:
			# first the average over the 1d pdfs and the the product over dimensions (TPE like factorization of the pdf)
			pdfs = np.prod(np.sum(pdfs*self.weights[None,:,None], axis=-2), axis=-1)
		return(pdfs)
def pdf ( self , x_test ) : N , D = self . data . shape x_test = np . asfortranarray ( x_test ) x_test = x_test . reshape ( [ - 1 , D ] ) pdfs = self . _individual_pdfs ( x_test ) #import pdb; pdb.set_trace() # combine values based on fully_dimensional! if self . fully_dimensional : # first the product of the individual pdfs for each point in the data across dimensions and then the average (factorized kernel) pdfs = np . sum ( np . prod ( pdfs , axis = - 1 ) * self . weights [ None , : ] , axis = - 1 ) else : # first the average over the 1d pdfs and the the product over dimensions (TPE like factorization of the pdf) pdfs = np . prod ( np . sum ( pdfs * self . weights [ None , : , None ] , axis = - 2 ) , axis = - 1 ) return ( pdfs )