Skip to main content

Open, Dynamic, and Versatile Modeling AutoML system

Project description

O D V M
AutoML Python Beta MIT

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 PreprocessingModel Selection & TrainingReporting

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:

  1. Fork the repository
  2. Create a new branch
  3. Commit your changes
  4. Open a Pull Request

Contact

Gmail LinkedIn

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

odvm-0.1.0.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

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

odvm-0.1.0-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

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

Hashes for odvm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4397c262fac804c416e5eb20be22b5c5e928b8e159bacd00e37092d4f0f09c5e
MD5 4cd0811ddbf5efc7765e1f5cf1f1267c
BLAKE2b-256 4788ba4d50bd4f73867a631c14cbee8d6013234fb6eb69dac168276e470126b6

See more details on using hashes here.

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

Hashes for odvm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 909c4e9e8e31d2ada2bad041842d3f1e65dcf752995f75dfaa73b54fe312ad57
MD5 c03c0b636cac7d48cbf0f11c25b0513f
BLAKE2b-256 7d752ed0d137d9ceecbb8b6701cbceac553e20218ade4bb5bf79896ffbc51727

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