Data analysis with evolutionary simulation
Project description
pikaia - Genetic AI
pikaia is the Python implementation of Genetic AI (evolutionary simulation for data analysis).
Installation
Use the package manager pip to install pikaia
pip install pikaia
Usage
We provide here the code for the "hello_model" example
import pikaia
import pikaia.alg
rawdata = np.zeros([3,3])
rawdata[:,:] = [[ 300, 10, 2],
[ 600, 5, 2],
[1500, 4, 1]]
# defines the variant fitness rules
gvfitnessrules = ["inv_percentage", "inv_percentage", "inv_percentage"]
# converts the raw data to a genetic population
data = pikaia.alg.Population(rawdata, gvfitnessrules)
# defines the used evolutionary strategies
strategy = ["GS Dominant", "OS Balanced"]
iterations = 1
# creating the genetic model
model = pikaia.alg.Model(data, strategy)
initialgenefitness = [1.0/3.0, 1.0/3.0, 1.0/3.0]
# returns the gene fitness values after 1 iteration
model.complete_run(initialgenefitness, iterations)
Examples
# provides the data for a small decision problem
example3x3 = pikaia.examples.assemble_example("3x3-DomBal+AltSal")
# provides the data for a real-world decision problem
example10x5 = pikaia.examples.assemble_example("10x5-DomBal+AltSal")
# use genetic ai to search a datafile using keywords and rank results
# for a more detailed example we refer to examples/geneticAI_run_search_example.py
search = pikaia.search.Search(data, orgs_labels, gens_labels)
fitnessOrganisms, fitnessGenes = search.search_request(query, top_k=5)
For details see examples/README.md.
Scientific Background
Please find the preprint of Genetic AI here
In Genetic AI, we convert a data problem to a model of genes and organisms. Afterwards, we run evolutionary simulations to obtain understanding of the input data.
Genetic AI is an AI that does not use training data to 'learn' but fully autonomously analyzes a problem. This is done by evolutionary strategies that cover certain 'behavior' and correlations of the input data.
License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pikaia-0.0.3.tar.gz.
File metadata
- Download URL: pikaia-0.0.3.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a98662243e5a8366cc7bdb0216ffcd398c3c03317b0a4e4d2c123a97dc561d1
|
|
| MD5 |
a432ce1c9698772f1ba1235278012a68
|
|
| BLAKE2b-256 |
75d5295766cdef4a402391b40dddd3c0d2f8ae06de6eab08b3d29995daaa2c8c
|
File details
Details for the file pikaia-0.0.3-py3-none-any.whl.
File metadata
- Download URL: pikaia-0.0.3-py3-none-any.whl
- Upload date:
- Size: 13.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f95e90be6d2a0d2c90dfa6cd4dbb862d29689c09c32d4667d4a441bccf2f7d4
|
|
| MD5 |
cb3e79d4bb0283d2b9bd45f75abfaa87
|
|
| BLAKE2b-256 |
8c72e246f7f6bb738c70034be7d21c455c6ddbc629a1aade093e3781ffe42e3d
|