Package: slickml
SlickML🧞: Slick Machine Learning in PythonExplore Releases🟣Become a Contributor🟣Explore API Docs🟣Join our Slack🟣Tweet Us🧠 SlickML🧞 PhilosophySlickMLis an open-source machine learning library written in Python aimed at accelerating the
experimentation time for ML applications with tabular data while maximizing the amount of information
can be inferred. Data Scientists' tasks can often be repetitive such as feature selection, model
tuning, or evaluating metrics for classification and regression problems. We strongly believe that a
good portion of the tasks based on tabular data can be addressed via gradient boosting and generalized
linear models1. SlickML provides Data Scientists
with a toolbox to quickly prototype solutions for a given problem with minimal code while maximizing
the amount of information that can be inferred. Additionally, the prototype solutions can be easily
promoted and served in production with our recommended recipes via various model serving frameworks
includingZenML,BentoML,
andPrefect. More details coming soon 🤞 ...📖 Documentation✨ The API documentation is available atdocs.slickml.com.🛠 InstallationTo begin with, installPython version >=3.8,<3.11and to install the library
fromPyPIsimply run 🏃‍♀️ :pip install slickmlor if you are apython poetryuser, simply run 🏃‍♀️ :poetry add slickml📣  Please note that a workingFortran Compiler(gfortran) is also required to build the package. If you do not havegccinstalled, the following commands depending on your operating system will take care of this requirement.# Mac Users
brew install gcc

# Linux Users
sudo apt install build-essential gfortranThe SlickML CLI tool behaves similarly to many other CLIs for basic features. In order to find out
which version of SlickML you are running, simply run 🏃‍♀️ :slickml --version🐍 Python Virtual EnvironmentsIn order to avoid any potential conflicts with other installed Python packages, it is
recommended to use a virtual environment, e.g.python poetry,python virtualenv,pyenv virtualenv, orconda environment. Our recommendation is to usepython-poetry🥰 for everything 😁.📌 Quick Start✅ An example to quickly run aFeature Selectionpipeline with embeddedCross-ValidationandFeature-Importancevisualization:fromslickml.feautre_selectionimportXGBoostFeatureSelectorxfs=XGBoostFeatureSelector()xfs.fit(X,y)xfs.plot_cv_results()xfs.plot_frequency()✅ An example to quickly find thetuned hyper-parameterwithBayesian Optimization:fromslickml.optimizationimportXGBoostBayesianOptimizerxbo=XGBoostBayesianOptimizer()xbo.fit(X_train,y_train)best_params=xbo.get_best_params()best_params{"colsample_bytree":0.8213916662259918,"gamma":1.0,"learning_rate":0.23148232373451072,"max_depth":4,"min_child_weight":5.632602921054691,"reg_alpha":1.0,"reg_lambda":0.39468801734425263,"subsample":1.0}✅ An example to quickly train/validate aXGBoostCV ClassifierwithCross-Validation,Feature-Importance, andShapvisualizations:fromslickml.classificationimportXGBoostCVClassifierclf=XGBoostCVClassifier(params=best_params)clf.fit(X_train,y_train)y_pred_proba=clf.predict_proba(X_test)clf.plot_cv_results()clf.plot_feature_importance()clf.plot_shap_summary(plot_type="violin")clf.plot_shap_summary(plot_type="layered_violin",layered_violin_max_num_bins=5)clf.plot_shap_waterfall()✅ An example to train/validate aGLMNetCV ClassifierwithCross-ValidationandCoefficientsvisualizations:fromslickml.classificationimportGLMNetCVClassifierclf=GLMNetCVClassifier(alpha=0.3,n_splits=4,metric="auc")clf.fit(X_train,y_train)y_pred_proba=clf.predict_proba(X_test)clf.plot_cv_results()clf.plot_coeff_path()✅ An example to quickly visualize thebinary classification metricsbased on multiplethresholds:fromslickml.metricsimportBinaryClassificationMetricsclf_metrics=BinaryClassificationMetrics(y_test,y_pred_proba)clf_metrics.plot()✅ An example to quickly visualize someregression metrics:fromslickml.metricsimportRegressionMetricsreg_metrics=RegressionMetrics(y_test,y_pred)reg_metrics.plot()🧑‍💻🤝 Contributing to SlickML🧞You can find the details of the development process in ourContributingguidelines. We strongly believe that reading and following these guidelines will help us make the contribution process easy and effective for everyone involved 🚀🌙 .
Special thanks to all of our amazing contributors 👇❓ 🆘 📲 Need Help?Please join ourSlack Channelto interact directly with the core team and our small community. This is a good place to discuss your questions and ideas or in general ask for help 👨‍👩‍👧 👫 👨‍👩‍👦 .📚 Citing SlickML🧞If you use SlickML in an academic work 📃 🧪 🧬 , please consider citing it 🙏 .Bibtex Entry:@software{slickml2020,title={SlickML: Slick Machine Learning in Python},author={Tahmassebi, Amirhessam and Smith, Trace},url={https://github.com/slickml/slick-ml},version={0.2.0},year={2021},}@article{tahmassebi2021slickml,title={Slickml: Slick machine learning in python},author={Tahmassebi, Amirhessam and Smith, Trace},journal={URL available at: https://github. com/slickml/slick-ml},year={2021}}