Пример #1
0
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]))