Skip to main content

XGP Python package with a scikit-learn interface

Project description

XGP Python package

PyPI version Travis build status Coverage Status

This repository contains Python bindings to the XGP library. It is a simple wrapper that calls the XGP dynamic shared library and exposes a scikit-learn interface.

Documentation

Please refer to the Python section of the XGP website.

Installation

Installation instructions are available here.

Quick start

>>> from sklearn import datasets
>>> from sklearn import metrics
>>> from sklearn import model_selection
>>> import xgp

>>> X, y = datasets.load_boston(return_X_y=True)
>>> X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, random_state=42)

>>> model = xgp.XGPRegressor(
...    flavor='boosting',
...    loss_metric='mse',
...    funcs='add,sub,mul,div',
...    n_individuals=50,
...    n_generations=20,
...    parsimony_coefficient=0.01,
...    n_rounds=8,
...    random_state=42,
... )

>>> model = model.fit(X_train, y_train, eval_set=(X_test, y_test), verbose=True)

>>> metrics.mean_squared_error(y_train, model.predict(X_train))  # doctest: +ELLIPSIS
17.794685...

>>> metrics.mean_squared_error(y_test, model.predict(X_test))  # doctest: +ELLIPSIS
17.337693...

This will also produce the following output in the shell:

00:00:00 -- train mse: 42.06567 -- val mse: 33.80606 -- round 1
00:00:00 -- train mse: 24.20662 -- val mse: 22.73832 -- round 2
00:00:00 -- train mse: 22.06328 -- val mse: 18.90887 -- round 3
00:00:00 -- train mse: 20.25549 -- val mse: 18.45531 -- round 4
00:00:00 -- train mse: 18.86693 -- val mse: 18.22908 -- round 5
00:00:00 -- train mse: 17.79469 -- val mse: 17.33769 -- round 6
00:00:01 -- train mse: 17.62692 -- val mse: 22.67012 -- round 7
00:00:01 -- train mse: 17.24799 -- val mse: 22.77802 -- round 8

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

xgp-0.1.1-cp36-cp36m-manylinux1_x86_64.whl (1.8 MB view hashes)

Uploaded CPython 3.6m

xgp-0.1.1-cp35-cp35m-manylinux1_x86_64.whl (1.8 MB view hashes)

Uploaded CPython 3.5m

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