ciselab/Guided-MT-Code2Vec

Individuals and Paretos as JSON

Closed this issue · 0 comments

Currently the results are saved as a .txt and then mined again later in the python scripts.

I'd like that every individual has a .json or some other file format and be saved like this next to the altered files / in an output folder.
Later, the python does not work on the .txt but run on the folder and find all .jsons for later use.

Example JSON one Individual:

{
    "hash" : "xxxxxxx",
    "first_seen_gen" : 1,
    "last_seen_gen" : 5, 
    "transformers" : [
        {"transformer" : "iftrue","seed":42}, {"transformer" : "lambda","seed":24}
    ],
    "f1":0.8,
    "mrr":0.75,
     ....
}

ParetoJSON:

{
    "Generation" : 10,
    "Metrics" : [ "F1", "Transformers"],
    "individuals" : [
        ... list of above ...
    ]
}

This should help easing use later in python, with plotting different things and looking for new / different trends.

Migrated from the Original Repository.
Update 06.09.2022:

Change:

    "first_seen_gen" : 1,
    "last_seen_gen" : 5, 

To:

    "introduced_gen": 4
     "age": 3

As genes can be "re-introduced" by accident. this should be covered by this.
Update 09.09.2022:

We had a short chat about individuals being re-introduced when they already moved out of a population.
This is unlikely, however we thought of the following scheme:

Introduce two hashes:

  1. hash of the transformers and their seeds
  2. hash of the transformers, seeds and their introduced life-time

We also try to save the parents of an individual, so we can later reconstruct flow of genetic individuals.