![PyPI Now Supports iOS and Android Wheels for Mobile Python Development](https://cdn.sanity.io/images/cgdhsj6q/production/96416c872705517a6a65ad9646ce3e7caef623a0-1024x1024.webp?w=400&fit=max&auto=format)
Security News
PyPI Now Supports iOS and Android Wheels for Mobile Python Development
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
constrained optimization for gradient boosting models with non-decomposable constraints
Constrained Optimization of Gradient Boosting models which is written on top of Sklearn gradient boosting.
Explore the docs »
This is the companion code for the Master Thesis entitled "". The master thesis is done in Bosch Center of AI research, and licenced by GNU AFFERO GENERAL PUBLIC LICENSE. The code allows the users to apply constrained for one type of error, such as false negative rate to do safe classification using gradient boosting. Besides, one can reproduce the results in the paper as it is provided in the examples.
This library enables user to define their own constraints and apply them on for the gradient boosting. To see how to do this visit here.
This project language is Python and it is built on top of scikit-learn
gradient boosting. For hyper-parameter optimization GPyOpt
bayesian optimization is used.
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
To use the constrained_gb
library, you need to have scikit-learn>=0.22.0
installed,
which is probably installed if you are using Machine Learning algorithm in Python.
To do hyper-parameter optimization using .optimize()
, you need to have GPyOpt
installed.
To install GPyOpt
simply run
pip install gpyopt
If you have problem with GPyOpt
installation visit here.
git clone https://github.com/maryami66/constrained_gb.git
pip install constrained_gb
In this example, we are looking for a classifier to Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
import constrained_gb as gbmco
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.metrics import *
X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=2)
constraints = [gbmco.FalseNegativeRate(0.001)]
parms = {'constraints': constraints,
'multiplier_stepsize': 0.01,
'learning_rate': 0.1,
'min_samples_split': 99,
'min_samples_leaf': 19,
'max_depth': 8,
'max_leaf_nodes': None,
'min_weight_fraction_leaf': 0.0,
'n_estimators': 300,
'max_features': 'sqrt',
'subsample': 0.7,
'random_state': 2
}
clf = gbmco.ConstrainedClassifier(**parms)
clf.fit(X_train, y_train)
test_predictions = clf.predict(X_test)
print("Test F1 Measure: {} \n".format(f1_score(y_test, test_predictions)))
print("Test FNR: {} \n".format(1-recall_score(y_test, test_predictions)))
Distributed under the GNU AFFERO GENERAL PUBLIC LICENSE License v3 or later (GPLv3+). See LICENSE
for more information.
Maryam Bahrami - maryami_66@yahoo.com
Project Link: https://github.com/maryami66/constrained_gb
FAQs
constrained optimization for gradient boosting models with non-decomposable constraints
We found that constrained-gb demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.