class OType: def __init__(self, topics_n, id): self.id = id self.dSet = DataSet(O_TYPES_STR[id]) self.N = topics_n self.topics = [] for i in range(self.N): self.topics.append(Topic(i)) def add_item(self, probabilities, cand): #officer = db.officer[line] #if officer == 1: # y = 2 self.dSet.add_item(cand) for i in range(self.N): self.topics[i].add_item(probabilities[i], cand) def print_topics(self): output = "Officer Type {}\n".format(O_TYPES_STR[self.id]) output = "{}\n{}\n".format(output, self.dSet.print_data()) for i in range(self.N): output = "{}{}\n".format(output, self.topics[i].print_datasets()) return output
def print_topic_modeling_stats(db, doc_topic, users, cands, file): Otypes = [] ot = OType(N, 0) dSet = DataSet("Summary") for i in range(4): Otypes.append(OType(N, i)) for i in range(0, len(users)): line = cands[users[i]] cand = CandData(db, line) dSet.add_item(cand) Otypes[get_officer_type(line)].add_item(doc_topic[i], cand) ot.add_item(doc_topic[i], cand) file.write("\n{}\n".format(dSet.print_data())) file.write("{}\n".format(ot.print_topics())) for t in Otypes: file.write("{}\n".format(t.print_topics()))