Py-earth is a Python implementation of Jerome Friedman's Multivariate Adaptive Regression Splines algorithm, in the style of scikit-learn. The py-earth package implements Multivariate Adaptive Regression Splines using Cython and provides an interface that is compatible with scikit-learn's Estimator, Predictor, Transformer, and Model interfaces.
https://github.com/scikit-learn-contrib/py-earth
Will tpot support py-earth in the future?
Thank you for introducing this algorithm. We need check whether this algorithm is suitable before putting it into default configuration in future version of TPOT. @rhiever
For now, you can use a custom TPOT configuration to include this algorithms that TPOT optimizes over. You may find some good examples in our built-in configuration. Below is a demo:
import numpy as np
from tpot import TPOTRegressor
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
housing = load_boston()
X_train, X_test, y_train, y_test = train_test_split(housing.data, housing.target,
train_size=0.75, test_size=0.25)
tpot_config = {
'sklearn.preprocessing.Normalizer': {
'norm': ['l1', 'l2', 'max']
},
'pyearth.Earth': {
'max_degree': [1,2,3],
'endspan_alpha': np.arange(0.0, 1.01, 0.05)
}
}
tpot = TPOTRegressor(generations=5, population_size=30, verbosity=2, config_dict=tpot_config)
tpot.fit(X_train, y_train)
print(tpot.score(X_test, y_test))
Most helpful comment
Thank you for introducing this algorithm. We need check whether this algorithm is suitable before putting it into default configuration in future version of TPOT. @rhiever
For now, you can use a custom TPOT configuration to include this algorithms that TPOT optimizes over. You may find some good examples in our built-in configuration. Below is a demo: