{"id":28944722,"url":"https://github.com/john-hawkins/minvime","last_synced_at":"2026-02-02T11:35:41.090Z","repository":{"id":62577502,"uuid":"180890247","full_name":"john-hawkins/minvime","owner":"john-hawkins","description":"This is a tool that will allow you to estimate the minimum required performance characteristics of an ML model for a business problem","archived":false,"fork":false,"pushed_at":"2024-09-06T08:27:37.000Z","size":1207,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-16T21:11:15.071Z","etag":null,"topics":["business-analytics","machine-learning","predictive-analysis","predictive-modeling","roi-analysis"],"latest_commit_sha":null,"homepage":"","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/john-hawkins.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-04-11T22:55:00.000Z","updated_at":"2024-09-06T08:27:41.000Z","dependencies_parsed_at":"2024-03-26T04:44:37.350Z","dependency_job_id":null,"html_url":"https://github.com/john-hawkins/minvime","commit_stats":{"total_commits":52,"total_committers":3,"mean_commits":"17.333333333333332","dds":"0.46153846153846156","last_synced_commit":"dbcb7622b8fced2db8bfdbf0f608936534925971"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/john-hawkins/minvime","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hawkins%2Fminvime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hawkins%2Fminvime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hawkins%2Fminvime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hawkins%2Fminvime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/john-hawkins","download_url":"https://codeload.github.com/john-hawkins/minvime/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-hawkins%2Fminvime/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260484582,"owners_count":23016133,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["business-analytics","machine-learning","predictive-analysis","predictive-modeling","roi-analysis"],"created_at":"2025-06-23T06:07:15.988Z","updated_at":"2026-02-02T11:35:41.083Z","avatar_url":"https://github.com/john-hawkins.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"MinViME - Minimum Viable Model Estimator \n=====================================================\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n![build](https://github.com/john-hawkins/minvime/workflows/build/badge.svg)\n[![PyPI](https://img.shields.io/pypi/v/minvime.svg)](https://pypi.org/project/minvime)\n[![Documentation Status](https://readthedocs.org/projects/minvime/badge/?version=latest)](https://minvime.readthedocs.io/en/latest/?badge=latest)\n  \n:copyright: 2020 John Hawkins\n\n```\nSTATUS: Functional\n```\n\nFor many business problems it is worthwhile understanding how accurate a\nmachine learning model would need to be before you try and build it.\n\nThis information could be useful in prioritising projects or determining the\nquantity and quality of data that will be needed. Extremely accurate models\nfor complicated problems typically require large amounts of data.\n\nThis application is a tool that allows you to estimate\nwhat the minimum performance characteristics would need to be for a machine\nlearning problem. To make this estimate you will need to supply parameters\nthat describe the costs and benefits of the context in which it will be used.\n\nIf you use MinViME in academic work please reference the following paper:\n```\nHawkins, John.,(2020), Minimum Viable Model Estimates for Machine Learning Projects,\nProceedings of the 6th International Conference on Computer Science, \nEngineering And Applications (CSEA 2020), pages 37-46, Issue 18, Volume 10,\nDOI: 10.5121/csit.2020.101803\n```\n\n### For Binary Classification Problems \n\nThe application will make the estimate in terms of the ROC plot characteristics \nthat satisfy the requirements. The constraints need to be provided as:\n\n* A cost/benefit payoff matrix\n* The required ROI\n* Information about the volume and frequency of the event you are predicting.\n\n\nSee examples in the [scripts directory](https://github.com/john-hawkins/minvime/tree/master/scripts)\n\n### For Regression/Time Series Problems\n```\nIn Progress\n```\nThe application will make an estimate in terms of the minimum RMSE, MAE, and MAPE.\nYou will need to specify how the difference between actual and predicted values\nwill affect the business outcome. This can be as either proportional costs for \nerrors that are too high ot too low, or as costs for predictions above a specified\nmargin of error.\n\n\n#### Caveats\n\nIn order to produce a MAPE score regardless of the distribution we add a nominal \nvalue of 0.0001 to calculate the percentage error when actuals are zero. \nThere are many situations in which this would not be acceptable, for example,\nwhen the quantities being prediced are in fact very low value real numbers. \nIf your target distribution has many zero values and \nis confined to values that very close to zero then please ignore the MAPE estimates. \n\n\n## Usage\n\nYou can use this application in multiple ways. The core application will launch a Flask\nweb application through which you can enter the parameters of the business problem you\nrequire an estimate for.\n\n### Web Application\n\nThis web application can be launched via the runner:\n\n```\n./minvime-runner.py \n```\n\nOr you caniInvoke the directory as a package:\n\n```\npython -m minvime\n```\n\nOr simply install the package and use the command line application directly\n\n#### Installation\n\nInstallation from the source tree:\n\n```\ngit clone https://github.com/john-hawkins/minvime\ncd minvime\npython setup.py install\n```\n\n(or via pip from PyPI):\n\n```\npip install minvime \n```\n\nNow, the ``minvime`` command will launch the application \n\n```\nminvime\n```\n\n### Library\n\nAlternatively you can use minvime as a library of functions to use inside your own\napplications or Jupyter Notebooks\n\n```\nimport minvime as mvime\n\n```\n\n\n# Acknowledgements\n\nPython package built using the\n[bootstrap cmdline template](https://github.com/jgehrcke/python-cmdline-bootstrap)\n by [jgehrcke](https://github.com/jgehrcke)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohn-hawkins%2Fminvime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohn-hawkins%2Fminvime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohn-hawkins%2Fminvime/lists"}