Skip to main content

Gene Programming Rules (GPR) implementation

Project description

An implementation of an extremely simple classifier (GPR) that consists of highly interpretable fuzzy metarules and is suitable for many applications. GPR is effective in accuracy and area under the receiver operating characteristic (ROC) curve. We provide a Python implementation of the GPR algorithm to enable the use of the algorithm without using commercial software tools and open access to the research community. We also added enhancements to facilitate the reading and interpretation of the rules.

Example usage

import numpy as np
from gpr_algorithm import GPR

feature_names = ['weight', 'height']
target_names = ['sick', 'healthy']

cls = GPR(
    feature_names=feature_names,
    target_names=target_names,
    max_n_of_rules=2, max_n_of_ands=2, n_generations=10, n_populations=10,
    verbose=False
)

attributes = np.array([
    [.9, .1],  # sick
    [1., .9],  # sick
    [0., .9],
    [.1, .1]
])
labels = np.array([
    0,  # sick
    0,  # sick
    1,
    1
])
cls.fit(attributes, labels)

pred_labels = cls.predict(attributes)

assert np.all(labels == pred_labels)
rules = cls.rules
assert rules == ['IF weight is Low THEN healthy | Support: 0.9500', 'ELSE sick']

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

gpr-algorithm-1.0.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

gpr_algorithm-1.0.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file gpr-algorithm-1.0.0.tar.gz.

File metadata

  • Download URL: gpr-algorithm-1.0.0.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.6 Windows/10

File hashes

Hashes for gpr-algorithm-1.0.0.tar.gz
Algorithm Hash digest
SHA256 45407fbad155008e82a30d665144ce8f3534ed30478f844d71fb02bbbd94e645
MD5 68ab257d866c6a035b4566044db57aec
BLAKE2b-256 6c4ee7aef95a62d694fdb3c2527acb475feb11e4fa52c33463a4f291329ec686

See more details on using hashes here.

File details

Details for the file gpr_algorithm-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: gpr_algorithm-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.6 Windows/10

File hashes

Hashes for gpr_algorithm-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 05eb3f618f9798294d60c089d0595d7880427ac571669de50b9ff2a566eee605
MD5 62f59c1c26174ff1f4c1fe60f2222704
BLAKE2b-256 d41d30f9ccd783cef0f558d5cf792215a4d5e301012fb98e818691e4e0741d37

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page