def process_OOD(file_name): name = os.path.basename(file_name).split(".")[0] print("### " + name) print("```") model = Model(file_name) de = DE(model) stat = de.run() print("Time Taken : ", stat.runtime) stat.tiles() data_map = stat.median_spread() objs = stat.spit_objectives() headers = [obj.__name__.split("_")[-1] for obj in de.settings.obj_funcs] cluster_input = [headers] + objs print("") g = KMeans(k=2) clusters = g.run(cluster_input) med_spread_plot(data_map, headers, fig_name="img/gen_bin_" + name) plot_clusters(clusters, fig_name="img/bin_" + name, col_names=headers, s=50, edgecolors='none') print("```") print("![1](../../src/img/gen_bin_%s.png)" % name) return stat.runtime
def test_pystar(): from pystar.models.CSServices import graph from pystar.model import Model #print(graph.nodes) model = Model(graph) de = DE(model) stat = de.run() stat.tiles() lastgen = stat.generations[-1] maxs = [-1] * len(lastgen[0].objectives) bests = [None] * len(lastgen[0].objectives) for point in lastgen: for i in range(len(maxs)): if point.objectives[i] > maxs[i]: maxs[i] = point.objectives[i] bests[i] = point print(maxs) columns = ["id", "type", "value", "is_random", "name"] stat.tabulate(columns, bests[0])
def __init__(self, model, **settings): O.__init__(self) self.model = model self.model.bases.extend(self.get_conflicts()) self.settings = default().update(**settings) self.de = DE(model, gens=self.settings.k1)