engine.vectorizer = getattr(cfg,"VECTORIZER", LogicVectorizer()) engine.algorithm = getattr(cfg,"ALGORITHM", HierarchicalAlgo()) engine.algorithm.n_clusters = getattr(cfg,"N_CLUSTERS", 3) engine.target = getattr(cfg,"TARGET", "both") if getattr(cfg,"ENABLE_TEST", False): assert hasattr(cfg,"TEST_CLUSTERING_RANGE"), "TEST_CLUSTERING_RANGE has not been defined" test_folder = getattr(cfg,"TEST_FOLDER", "results") if not os.path.exists(test_folder): os.makedirs(test_folder) engine.run_cleaner() engine.run_vectorizer() with open(test_folder+"/clustering.test","w") as file : file.write("n_cluster\tintra\textra\tsilhouette\n") for n_cluster in cfg.TEST_CLUSTERING_RANGE: log.info("N_CLUSTER {}".format(n_cluster)) log.info("Clustering with n_cluster : {}".format(n_cluster)) engine.algorithm.n_clusters = n_cluster engine.run_algorithm() engine.show_log() engine.save_json(test_folder+"/clustering-{}.json".format(n_cluster)) item = engine.scores() file.write("{}\t{}\t{}\t{}\n".format(n_cluster,item[0],item[1],item[2]))