Skip to main content

A tool for creating machine learning pipelines with custom preprocessing and model selection

Project description

easyml

easyml is a Python package designed to simplify the process of creating machine learning pipelines. It allows you to easily handle data preprocessing, model selection, and model evaluation with a few simple function calls.

Features

  • Customizable missing value handling for numerical and categorical features.
  • Support for multiple machine learning models including:
    • Random Forest
    • Logistic Regression
    • Decision Tree
    • Support Vector Machine (SVM)
    • K-Nearest Neighbors (KNN)
    • Gradient Boosting Classifier (XGBoost)
    • Naive Bayes
  • Easy to integrate into your machine learning workflows.
  • Built-in model evaluation with accuracy score and classification report.

Installation

You can install easyml directly from PyPI (if published) or locally from the source.

From PyPI (Coming Soon)

pip install easyml

From Source

To install easyml from the source, follow these steps:

  1. Clone the repository:

    git clone https://github.com/gaharivatsa/easyml.git
    
  2. Navigate to the project directory:

    cd easyml
    
  3. Install the package:

    pip install .
    

Usage

Here's a step-by-step guide on how to use easyml in your projects.

1. Import the Package

Start by importing the create_ml_pipeline function from the easyml package.

from easyml import create_ml_pipeline

2. Prepare Your Data

Ensure your dataset is in a CSV format and includes a target column that you want to predict.

# Example: Load your dataset
dataset = 'path_to_your_dataset.csv'
target = 'target_column_name'

3. Create and Run the Pipeline

Use the create_ml_pipeline function to build and run the pipeline. You can specify the missing value handling strategies, the model, and any model-specific parameters.

pipeline = create_ml_pipeline(
    numerical_na_method='mean',            # Strategy for imputing missing values in numerical columns
    categorical_na_method='most_frequent', # Strategy for imputing missing values in categorical columns
    model_name='knn',                      # Choose the model (e.g., 'knn', 'random_forest', etc.)
    model_params={'n_neighbors': 5},       # Model-specific parameters
    dataset=dataset,                       # Path to your dataset
    target=target,                         # Target column name
    splitting_ratio=0.25                   # Ratio for splitting the dataset into training and testing sets
)

4. View Results

The function will output the accuracy and classification report after training the model.

5. Save the Pipeline

The trained pipeline is automatically saved as a .pkl file for future use.

# Example: Load and use the saved pipeline
import joblib

loaded_pipeline = joblib.load('knn_pipeline.pkl')

6. Customize Further

Feel free to customize the pipeline further by adjusting the model parameters, trying different models, or even extending the functionality by modifying the source code.

Example Projects

You can find example projects and more detailed tutorials in the examples/ directory of the repository.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request or open an Issue on GitHub.

Author

Harivatsa G A - GitHub

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

onelineml-0.1.2.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

onelineml-0.1.2-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file onelineml-0.1.2.tar.gz.

File metadata

  • Download URL: onelineml-0.1.2.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.4

File hashes

Hashes for onelineml-0.1.2.tar.gz
Algorithm Hash digest
SHA256 3aa27bfbb9b075a9bd2bf371ad0e1121e6cb97306a5cc295af35b570d8fee78b
MD5 ac10d6d9d5fc09551dee4706464a8e84
BLAKE2b-256 f6dad5e82c0d71994a9d9967102f0cf99329849a24b7bca1dbd62eef6198e337

See more details on using hashes here.

File details

Details for the file onelineml-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: onelineml-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.4

File hashes

Hashes for onelineml-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6646ce05afac7cd252d570c8f8756d16c16e9af5b2abfb0bf11e56eab3f7ff1d
MD5 4c1f24683ddb9fd42dd09a52feb1b613
BLAKE2b-256 da7c2cb33d6289c40084a8a7d6e2337b56cedb1b3b59663088d70044b6353cac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page