Home - gtzjh/mymodels GitHub Wiki

Welcome to mymodels!

Interpretable machine learning has gained significant prominence across various fields. Machine learning models are valued for their robust capability to capture complex relationships within data through sophisticated fitting algorithms. Complementing these models, interpretability frameworks provide essential tools for revealing such "black-box" models. These interpretable approaches deliver critical insights by ranking feature importance, identifying nonlinear response thresholds, and analyzing interaction relationships between factors.

Project mymodels, is targeting on building a tiny, user-friendly, and efficient workflow, for the scientific researchers and students who are seeking to implement interpretable machine learning in their their research works.

Supported encode methods

  • Onehot
  • Ordinal
  • Label

Supported models

Regression Classification
model_name Models model_name Models
lr Linear Regression lc Logistic Regression
svr Support Vector Regression svc Support Vector Classification
knr K-Nearest Neighbors Regression knc K-Nearest Neighbors Classification
mlpr Multi-Layer Perceptron Regressor mlpc Multi-Layer Perceptron Classifier
dtr Decision Tree Regressor dtc Decision Tree Classifier
rfr Random Forest Regressor rfc Random Forest Classifier
gbdtr Gradient Boosted Decision Trees (GBDT) Regressor gbdtc Gradient Boosted Decision Trees (GBDT) Classifier
adar AdaBoost Regressor adac AdaBoost Classifier
xgbr XGBoost Regressor xgbc XGBoost Classifier
lgbr LightGBM Regressor lgbc LightGBM Classifier
catr CatBoost Regressor catc CatBoost Classifier

The users should know

  • This project is intended solely for scientific reference. It may contain calculation errors or logical inaccuracies. Users are responsible for verifying the accuracy of the results independently, and the author shall not be held liable for any consequences arising from the use of this code.

  • Due to the developer's limited personal capabilities and time constraints, the project may inevitably have shortcomings. We sincerely welcome fellow professionals to provide critiques and suggestions for improvement.

  • The project is not suitable for time-series tasks.

  • The project is not supported for GPU acceleratation currently.

  • The hyperparameters shown in models.py are only for demonstration purposes. Users should try different hyperparameters in their actual applications to ensure the robustness of their results.

  • The random_state is set to 0 for demonstration purposes only. Users should try different random_state in their actual applications to ensure the robustness of their results.

  • The explanation in this project is currently based on SHAP and PDP (Partial Dependence Plot), Other explanation methods are under developing.

  • Note that explanations may not always be meaningful for real-world tasks, especially after data engineering. Users are solely responsible for validating the appropriateness of explanation methods for their specific use cases.

  • The Partial Dependence Plot (PDP) is not supported for classification tasks currently.

  • The Partial Dependence Plot (PDP) is not supported for categorical features currently.

⚠️ **GitHub.com Fallback** ⚠️