def pdf(self, X): """ Evaluate the pdf of data to belong to the mixture :param data: (npArray) data to evaluate :return: proba (npArray) """ proba = None for i in range(self.K): w = self.w[i] probaToAdd = GMM.gaussianPdf(X, self.mean[i], self.cov[i]) * w if proba is None: proba = probaToAdd else: proba += probaToAdd return proba