def get_label_probs(self, c2_data, vector=None): if vector is None: vector = vectorize_with_sparse_features(self.sparse_features, self.total_feature_count, c2_data) label_results = {} label_scores = {} best_choice = None best_score = 0 for label in self.decision_trees.keys(): label_results[label] = {1: 0.0, 0: 0.0} for pair in self.decision_trees[label]: model = pair["model"] probs = model.predict_probs(vector)[0] label_results[label][0] += 0.0 if 0 not in probs else probs[0] label_results[label][1] += 0.0 if 1 not in probs else probs[1] #print label_results[label] score = label_results[label][1] - label_results[label][0] score = float(score) / float(len(self.decision_trees[label])) label_scores[label] = score if score > best_score: best_choice = label best_score = score return best_choice, label_results, label_scores
def get_label_scores(self, c2_data, vector=None): if vector is None: vector = vectorize_with_sparse_features(self.sparse_features, self.total_feature_count, c2_data) label_results = {} best_choice = None best_score = 0 for label in self.decision_trees.keys(): label_results[label] = [] for pair in self.decision_trees[label]: model = pair["model"] label_results[label].append(float(model.predict(vector)[0])) #print label_results[label] score = sum(label_results[label]) if score > best_score: best_choice = label best_score = score return best_choice, label_results