Metadata-Version: 2.2
Name: eazyml-automl
Version: 0.0.60
Summary: EazyML provides a suite of APIs for training, testing and optimizing machine learning models with built-in AutoML capabilities, hyperparameter tuning, and cross-validation.
Home-page: https://eazyml.com/
Author: EazyML
Author-email: admin@ipsoftlabs.com
Project-URL: Documentation, https://docs.eazyml.com/
Project-URL: Homepage, https://eazyml.com/
Project-URL: Contact Us, https://eazyml.com/trust-in-ai
Project-URL: eazyml-automl, https://pypi.org/project/eazyml-automl/
Project-URL: eazyml-counterfactual, https://pypi.org/project/eazyml-counterfactual/
Project-URL: eazyml-xai, https://pypi.org/project/eazyml-xai/
Project-URL: eazyml-xai-image, https://pypi.org/project/eazyml-xai-image/
Project-URL: eazyml-insight, https://pypi.org/project/eazyml-insight/
Project-URL: eazyml-data-quality, https://pypi.org/project/eazyml-data-quality/
Keywords: auto-ml,automl,machine-learning,model-training,hyperparameter-tuning,feature-selection,cross-validation,confidence-score,ml-api,model-evaluation
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: Other/Proprietary License
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Information Technology
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: statsmodels
Requires-Dist: xgboost
Requires-Dist: cryptography
Requires-Dist: Werkzeug>=2.0.3
Requires-Dist: PyYAML
Requires-Dist: nltk
Requires-Dist: cachetools
Requires-Dist: pyspark
Requires-Dist: markupsafe>=2.0.1
Requires-Dist: unidecode
Requires-Dist: Jinja2
Requires-Dist: ipython
Requires-Dist: setuptools
Requires-Dist: pandas==1.3.*; python_version <= "3.7"
Requires-Dist: scikit-learn==1.0.*; python_version <= "3.7"
Requires-Dist: numpy==1.21.*; python_version <= "3.7"
Requires-Dist: psutil==5.9.*; python_version <= "3.7"
Requires-Dist: requests==2.32.*; python_version <= "3.7"
Requires-Dist: pandas>=2.0.3; python_version == "3.8"
Requires-Dist: scikit-learn==1.3.*; python_version == "3.8"
Requires-Dist: numpy==1.24.*; python_version == "3.8"
Requires-Dist: psutil==5.9.*; python_version == "3.8"
Requires-Dist: requests==2.32.*; python_version == "3.8"
Requires-Dist: pandas>=2.2.3; python_version == "3.9"
Requires-Dist: scikit-learn==1.3.*; python_version == "3.9"
Requires-Dist: numpy==1.24.*; python_version == "3.9"
Requires-Dist: psutils; python_version == "3.9"
Requires-Dist: requests; python_version == "3.9"
Requires-Dist: pandas>=2.2.3; python_version == "3.10"
Requires-Dist: scikit-learn==1.3.*; python_version == "3.10"
Requires-Dist: numpy==1.24.*; python_version == "3.10"
Requires-Dist: psutils; python_version == "3.10"
Requires-Dist: requests; python_version == "3.10"
Requires-Dist: pandas>=2.2.3; python_version == "3.11"
Requires-Dist: scikit-learn==1.3.*; python_version == "3.11"
Requires-Dist: numpy==1.24.*; python_version == "3.11"
Requires-Dist: psutils; python_version == "3.11"
Requires-Dist: requests; python_version == "3.11"
Requires-Dist: pandas>=2.2.3; python_version > "3.11"
Requires-Dist: scikit-learn==1.3.*; python_version > "3.11"
Requires-Dist: numpy; python_version > "3.11"
Requires-Dist: psutils; python_version > "3.11"
Requires-Dist: requests; python_version > "3.11"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

## EazyML Responsible-AI: Modeling
![Python](https://img.shields.io/badge/python-3.8%20%7C%203.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue)  ![PyPI package](https://img.shields.io/badge/pypi%20package-0.0.60-brightgreen) ![Code Style](https://img.shields.io/badge/code%20style-black-black)

![EazyML](https://github.com/EazyML/eazyml-docs/raw/refs/heads/master/EazyML_logo.png)

`eazyml-automl` is a comprehensive python package designed to simplify machine learning workflows for data scientists, engineers, and developers. With **AutoML capabilities**, EazyML enables automated feature selection, model training, hyperparameter optimization, and cross-validation, all with minimal code. The package trains multiple models in the background, ranks them by performance metrics, and recommends the best model for your use case.

### Features
- **Global Feature Importance**: Get insights into the most impactful features in your dataset.
- **Confidence Scoring**: Enhance predictive reliability with confidence scores.

`eazyml-automl` is perfect for users looking to streamline the development of robust and efficient machine learning models.

## Installation
### User installation
The easiest way to install EazyML modeling is using pip:
```bash
pip install -U eazyml-automl
```
### Dependencies
EazyML Modeling requires :
- werkzeug,
- unidecode,
- pandas,
- scikit-learn,
- nltk,
- pyyaml,
- requests

## Usage
Initialize and build a predictive model based on the provided dataset and options. 
Perform prediction on the given test data based on model options.

```python
import pandas as pd
import pickle
from eazyml import ez_init, ez_build_model, ez_predict

# Initialize the EazyML library with the access key.
_ = ez_init()

# Load the training data (make sure the file path is correct).
train_file_path = "path_to_your_training_data.csv"  # Replace with the correct file path
train_data = pd.read_csv(train_file_path)

# Define the outcome (target variable) for the model
outcome = "target"  # Replace with your actual target variable name

# Set the options for building the model
build_options = {"model_type": "predictive"}

# Call the eazyml function to build the model
build_response = ez_build_model(train_data, outcome, options=build_options)

# build_response is a dictionary. Note: Do not print/view the response as it contains sensitive or encrypted model information in model_info.
build_response.keys()

# Expected output (this will vary depending on the data and model):            
# dict_keys(['success', 'message', 'model_performance', 'global_importance', 'model_info'])

# Save the response for later use (e.g., for predictions with ez_predict)
build_model_response_path = 'model_response.pkl'
pickle.dump(build_response, open(build_model_response_path, 'wb'))

# Load test data.
test_file_path = "path_to_your_test_data.csv"
test_data = pd.read_csv(test_file_path)

# Load output from ez_build_model. This should be the pickle file where model information is stored.
build_model_response_path = 'model_response.pkl'
build_model_response = pickle.load(open(build_model_response_path, 'rb'))
model_info = build_model_response["model_info"]

# Choose the model to use for prediction from the available performance options in the response.
pred_options = {"model": "Random Forest with Information Gain"}

# Call the eazyml function to predict
pred_response = ez_predict(test_data, model_info, options=pred_options)

# Check the keys of the prediction response. It will be a dictionary.
pred_response.keys()

# Example Output Keys(this will vary depending on your model and data):
# dict_keys(['success', 'message', 'pred_df'])

```
You can find more information in the [documentation](https://eazyml.readthedocs.io/en/latest/packages/eazyml_model.html).


## Useful links, other packages from EazyML family
- [Documentation](https://docs.eazyml.com)
- [Homepage](https://eazyml.com)
- If you have questions or would like to discuss a use case, please contact us [here](https://eazyml.com/trust-in-ai)
- Here are the other packages from EazyML suite:

    - [eazyml-automl](https://pypi.org/project/eazyml-automl/): eazyml-automl provides a suite of APIs for training, optimizing and validating machine learning models with built-in AutoML capabilities, hyperparameter tuning, and cross-validation.
    - [eazyml-data-quality](https://pypi.org/project/eazyml-data-quality/): eazyml-data-quality provides APIs for comprehensive data quality assessment, including bias detection, outlier identification, and drift analysis for both data and models.
    - [eazyml-counterfactual](https://pypi.org/project/eazyml-counterfactual/): eazyml-counterfactual provides APIs for optimal prescriptive analytics, counterfactual explanations, and actionable insights to optimize predictive outcomes to align with your objectives.
    - [eazyml-insight](https://pypi.org/project/eazyml-insight/): eazyml-insight provides APIs to discover patterns, generate insights, and mine rules from your datasets.
    - [eazyml-xai](https://pypi.org/project/eazyml-xai/): eazyml-xai provides APIs for explainable AI (XAI), offering human-readable explanations, feature importance, and predictive reasoning.
    - [eazyml-xai-image](https://pypi.org/project/eazyml-xai-image/): eazyml-xai-image provides APIs for image explainable AI (XAI).

## License
This project is licensed under the [Proprietary License](https://github.com/EazyML/eazyml-docs/blob/master/LICENSE).

---

Maintained by [EazyML](https://eazyml.com)  
Â© 2025 EazyML. All rights reserved.
