def soft_rmse_for(self, ground_model): rmse = 0.0 amount_terms = 0.0 for t in Transaction.all_for(self): rmse += ((self.probability_of(t) - ground_model.probability_of(t))**2) amount_terms += 1 return sqrt(rmse / float(amount_terms))
def infinite_in_sample_log_likelihood(self, ground_model): result = 0 for t in Transaction.all_for(self): result += (ground_model.probability_of(t) * self.log_probability_of(t)) return result