Open, Dynamic, and Versatile Modeling AutoML system
Project description
From Raw Data to Intelligent Insights
Where data clarity meets decision power through automated intelligence
Overview
ODVM is a modular AutoML pipeline that automates the entire data science workflow:
Exploratory Data Analysis (EDA) → Smart Preprocessing → Model Selection & Training → Reporting
Multi-backend support (Pandas, Dask) and extensible architecture accelerate your ML projects while maintaining transparency.
Documentation Summary
| Module / Class | Method / Function | Description (Humanized) | Sample Code Example |
|---|---|---|---|
| core.runner.ODVM | __init__ |
Initialize the pipeline with data, target column, and config settings. | python\nodvm = ODVM(data="data.csv", target="price", config=config)\n |
_load_data |
Load data from file path or DataFrame. | python\ndf = odvm._load_data("data.csv")\n |
|
_validate |
Check that the target column exists in the dataset. | python\nodvm._validate()\n |
|
run |
Run the full pipeline with options for each stage (EDA, preprocessing, modeling, reporting, deployment). | python\nodvm.run(eda=True, preprocess=True, model=True)\n |
|
run_eda |
Perform exploratory data analysis with charts and stats. | python\nodvm.run_eda()\n |
|
run_preprocessing |
Clean, encode, split, and scale the data preparing for modeling. | python\nodvm.run_preprocessing()\n |
|
run_modeling |
Select, tune, train, and evaluate models automatically. | python\nodvm.run_modeling()\n |
|
generate_report |
(Work in progress) Generate detailed performance reports. | python\nodvm.generate_report()\n |
|
deploy_model |
(Work in progress) Deploy model via REST API or dashboard. | python\nodvm.deploy_model()\n |
|
save_best_model |
Save the best trained model to a pickle file for later use. | python\nodvm.save_best_model(results, models_dict)\n |
|
| assistant.task_detector.TaskDetector | detect |
Automatically detect task type: classification, regression, clustering, etc. | python\ntask_info = TaskDetector(df, target="price").detect()\n |
| eda.analyzer.EDAAnalyzer | get_shape |
Get the shape of the dataset (rows and columns). | python\nrows, cols = analyzer.get_shape()\n |
get_columns_info |
Get information about columns and their data types. | python\ninfo = analyzer.get_columns_info()\n |
|
missing_values |
Analyze and report missing values in each column. | python\nmissings = analyzer.missing_values()\n |
|
save_summary |
Save EDA summary statistics to a JSON file. | python\nanalyzer.save_summary("eda_summary.json")\n |
|
| eda.visualizer.EDAVisualizer | plot_distributions |
Plot distributions for numerical and categorical features. | python\nvisualizer.plot_distributions()\n |
plot_boxplots |
Plot boxplots to check outliers and spread. | python\nvisualizer.plot_boxplots()\n |
|
plot_correlation |
Plot correlation heatmap for numerical features. | python\nvisualizer.plot_correlation()\n |
|
plot_target_distribution |
Plot distribution of the target variable. | python\nvisualizer.plot_target_distribution()\n |
|
plot_pairplot |
Plot pairwise scatterplots for features. | python\nvisualizer.plot_pairplot()\n |
|
| preprocess.cleaner.DataCleaner | clean |
Clean data by handling missing values, duplicates, and outliers. | python\ncleaned_df = cleaner.clean()\n |
| preprocess.encoder.Encoder | encode |
Encode categorical/text features to numerical form. | python\nencoded_df = encoder.encode()\n |
| preprocess.scaler.Scaler | fit_transform |
Fit scaler on training data and transform it. | python\nX_train_scaled = scaler.fit_transform(X_train)\n |
transform |
Transform validation/test data using fitted scaler. | python\nX_test_scaled = scaler.transform(X_test)\n |
|
| preprocess.splitter.DataSplitter | split |
Split dataset into train, validation, and test sets. | python\nX_train, X_val, X_test, y_train, y_val, y_test = splitter.split()\n |
| modeling.model_selector.ModelSelector | get_models |
Get a dictionary of models suitable for the detected task. | python\nmodels = selector.get_models()\n |
| modeling.tuner.ModelTuner | tune |
Tune model hyperparameters using grid or random search. | python\nbest_model = tuner.tune()\n |
| modeling.trainer.ModelTrainer | train_all |
Train all selected (and tuned) models. | python\ntrained_models, params = trainer.train_all()\n |
| modeling.evaluator.ModelEvaluator | evaluate |
Evaluate models on test data and return performance metrics. | python\nresults = evaluator.evaluate()\n |
| reporting.report_builder.ReportBuilder | build |
Build performance reports in HTML or Excel format. | python\nreport.build()\n |
Quick Start Example
from core.runner import ODVM
config = {
"eda": {"visualize": True, "save_summary": True},
"preprocessing": {"missing_strategy": "mean", "encoding": "label", "scaling": "standard"},
"split": {"test_size": 0.2, "val_size": 0.1, "random_state": 42},
"modeling": {"allowed_models": ["LinearRegression"], "tuning": True, "cv": 3, "scoring": "r2"}
}
odvm = ODVM(data="data/housing.csv", target="median_house_value", config=config)
odvm.run(eda=True, preprocess=True, model=True)
Contributing
We welcome all contributions, big or small!
To get started:
- Fork the repository
- Create a new branch
- Commit your changes
- Open a Pull Request
Contact
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 odvm-0.1.0.tar.gz.
File metadata
- Download URL: odvm-0.1.0.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4397c262fac804c416e5eb20be22b5c5e928b8e159bacd00e37092d4f0f09c5e
|
|
| MD5 |
4cd0811ddbf5efc7765e1f5cf1f1267c
|
|
| BLAKE2b-256 |
4788ba4d50bd4f73867a631c14cbee8d6013234fb6eb69dac168276e470126b6
|
File details
Details for the file odvm-0.1.0-py3-none-any.whl.
File metadata
- Download URL: odvm-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
909c4e9e8e31d2ada2bad041842d3f1e65dcf752995f75dfaa73b54fe312ad57
|
|
| MD5 |
c03c0b636cac7d48cbf0f11c25b0513f
|
|
| BLAKE2b-256 |
7d752ed0d137d9ceecbb8b6701cbceac553e20218ade4bb5bf79896ffbc51727
|