A tool for creating machine learning pipelines with custom preprocessing and model selection
Project description
onelineml
onelineml 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 onelineml directly from PyPI (if published) or locally from the source.
From PyPI
pip install onelineml
From Source
To install onelineml from the source, follow these steps:
-
Clone the repository:
git clone https://github.com/gaharivatsa/easyml.git
-
Navigate to the project directory:
cd onelineml
-
Install the package:
pip install .
Usage
Here's a step-by-step guide on how to use onelineml in your projects.
1. Import the Package
Start by importing the create_ml_pipeline function from the onelineml package.
from onelineml 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file onelineml-0.2.1.tar.gz.
File metadata
- Download URL: onelineml-0.2.1.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ee15fc7123ff037d67392c2c2092e39f560da9e860d7ac7d42279283ef16cde
|
|
| MD5 |
a82c489160d46456123999a72a5e62b1
|
|
| BLAKE2b-256 |
5a6a0a4f67161fc2434938c90e480922e3b68b8c0a3d12e323bdc508361dda79
|
File details
Details for the file onelineml-0.2.1-py3-none-any.whl.
File metadata
- Download URL: onelineml-0.2.1-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2aae3fe5b679561f66772873ae3ab40614f1e02e7b6394d86bb95e018dcdc289
|
|
| MD5 |
28f3ce1bcee16a49846ce80de3c1b8b5
|
|
| BLAKE2b-256 |
1eb72b57aef5fce7f68d377b28663da24b1c1789e52b864d0fd318443fc1f49c
|