Genetic algorithms are used to solve many optimization tasks.

If I have a dataset, can I evolve it with a genetic algorithm to create an evolved version of the same dataset?

We could consider each feature of the initial dataset as a chromosome (or individual), which is then combined with other chromosomes (features) to find more features. Is this possible? Has this been done?

I will like to edit the details with an example so that it is easier to understand.

Example: In practice cyber-security attacks evolve over time since it finds a new way to breach a system. The main draw-back of intrusion detection model is that it needs to be trained every time attack evolves. So I was hoping if genetic algorithm can be used on the present benchmarked datasets (like NSL-KDD) to come up with a futuristic type dataset maybe after X-number of generations. And check if a model is able to classify that generated dataset as well.

  • $\begingroup$ I don't really understand the problem. Let's use the Iris dataset as an example. Your features are sepal length and width and petal length and width. So you make a bunch of four-chromosome individuals based on those features. Then what? What is the fitness of one of them and what makes it better or worse than another one? $\endgroup$ – deong Sep 12 '20 at 13:39
  • $\begingroup$ @deong Initially, the OP used the term "parent" to refer to a feature, but I edited the post to use the term "chromosome", which is more general. I don't think I changed the meaning of the post, but I added the part "which is then combined with other chromosomes (features) to find more features", given that's what the OP seemed to suggest. $\endgroup$ – nbro Sep 12 '20 at 13:46
  • $\begingroup$ @deong I have edited the actual description with an example which may hep you understand my question much better. Because Iris-dataset is not the type which I am referring to. $\endgroup$ – Souradip Roy Sep 13 '20 at 14:46

This question raises a lot more questions. It seems like a solution looking for a problem, instead of the other way round.

  • How do you measure the fitness of a feature?
  • What would one of the "evolved datasets" mean? What does it represent?
  • What would your overal purpose be? If you just wish to generate simulated datasets, there are easier ways to do this, with more control over the various aspects of the resulting datasets.

If you want to compute a new set of features to "better" describe a given dataset, there are many approaches to this, such as PCA, ISOMAP, self-organizing maps, ... If this is the kind of thing you're thinking about, I would recommend starting there.

  • $\begingroup$ I have edited the description with a specific example since the example is more closely related to what I am thinking. Please take a look once. I guess that will surely help to understand what I am trying to say. $\endgroup$ – Souradip Roy Sep 13 '20 at 14:44

The paper Evolutionary Dataset Optimisation: learning algorithm quality through evolution (2019), by Henry Wilde et al., proposes a method to generate datasets with a genetic algorithm. Their goal is to generate data for which a particular algorithm performs well, in terms of a certain metric, so that to get more insights about this algorithm and why it performs well. The individuals of the population are datasets (so not features of the dataset!), which can be combined with a crossover operator or mutated. The details are explained in section 2 (page 4) and they also provide nice diagrams that summarise their descriptions.

The authors evaluate their approach on k-means (section 3, page 12) and they use the k-means objective function as the fitness function of the genetic algorithm.

They also developed a library edo that is freely available, so you can start to play with their approach.

  • $\begingroup$ I only read the paper up to page 12 (this is a long paper), so I don't know about their conclusion of their approach. I suggest that you read the paper yourself to know more about it. $\endgroup$ – nbro Sep 13 '20 at 11:01
  • $\begingroup$ Thanks. I will surely take a look at it what the paper is saying. $\endgroup$ – Souradip Roy Sep 13 '20 at 14:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.