{"id":15158104,"url":"https://github.com/georgian-io-archive/foreshadow","last_synced_at":"2025-09-30T07:31:08.355Z","repository":{"id":57674173,"uuid":"139168214","full_name":"georgian-io-archive/foreshadow","owner":"georgian-io-archive","description":"An automatic machine learning system","archived":true,"fork":false,"pushed_at":"2024-01-09T02:10:46.000Z","size":7283,"stargazers_count":29,"open_issues_count":54,"forks_count":2,"subscribers_count":12,"default_branch":"development","last_synced_at":"2025-09-03T11:59:19.286Z","etag":null,"topics":["automatic-machine-learning","automl","machine-learning","pandas","python","sklearn"],"latest_commit_sha":null,"homepage":"https://foreshadow.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/georgian-io-archive.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-06-29T15:46:59.000Z","updated_at":"2024-02-15T22:51:03.000Z","dependencies_parsed_at":"2024-01-15T03:26:49.317Z","dependency_job_id":null,"html_url":"https://github.com/georgian-io-archive/foreshadow","commit_stats":{"total_commits":298,"total_committers":8,"mean_commits":37.25,"dds":0.651006711409396,"last_synced_commit":"ca2e927c396ae0d61923b287d6e32e142f3ba96f"},"previous_names":["georgianpartners/foreshadow","georgian-io-archive/foreshadow","georgian-io/foreshadow"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/georgian-io-archive/foreshadow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgian-io-archive%2Fforeshadow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgian-io-archive%2Fforeshadow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgian-io-archive%2Fforeshadow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgian-io-archive%2Fforeshadow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/georgian-io-archive","download_url":"https://codeload.github.com/georgian-io-archive/foreshadow/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgian-io-archive%2Fforeshadow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277480039,"owners_count":25825079,"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","status":"online","status_checked_at":"2025-09-29T02:00:09.175Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["automatic-machine-learning","automl","machine-learning","pandas","python","sklearn"],"created_at":"2024-09-26T20:23:26.928Z","updated_at":"2025-09-30T07:31:07.233Z","avatar_url":"https://github.com/georgian-io-archive.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Foreshadow: Simple Machine Learning Scaffolding\n===============================================\n\n|BuildStatus| |DocStatus| |Coverage| |CodeStyle| |License|\n\nForeshadow is an automatic pipeline generation tool that makes creating, iterating,\nand evaluating machine learning pipelines a fast and intuitive experience allowing\ndata scientists to spend more time on data science and less time on code.\n\n.. |BuildStatus| image:: https://dev.azure.com/georgianpartners/foreshadow/_apis/build/status/georgianpartners.foreshadow?branchName=master\n   :target: https://dev.azure.com/georgianpartners/foreshadow/_build/latest?definitionId=1\u0026branchName=master\n\n.. |DocStatus| image:: https://readthedocs.org/projects/foreshadow/badge/?version=latest\n  :target: https://foreshadow.readthedocs.io/en/latest/?badge=latest\n  :alt: Documentation Status\n\n.. |Coverage| image:: https://img.shields.io/azure-devops/coverage/georgianpartners/foreshadow/1.svg\n  :target: https://dev.azure.com/georgianpartners/foreshadow/_build/latest?definitionId=1\u0026branchName=master\n  :alt: Coverage\n\n.. |CodeStyle| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n  :target: https://github.com/ambv/black\n  :alt: Code Style\n\n.. |License| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg\n  :target: https://github.com/georgianpartners/foreshadow/blob/master/LICENSE\n  :alt: License\n\nKey Features\n------------\n- Scikit-Learn compatible\n- Automatic column intent inference\n    - Numerical\n    - Categorical\n    - Text\n    - Droppable (All values in a column are either the same or different)\n- Allow user override on column intent and transformation functions\n- Automatic feature preprocessing depending on the column intent type\n    - Numerical: imputation followed by scaling\n    - Categorical: a variety of categorical encoding\n    - Text: TFIDF followed by SVD\n- Automatic model selection\n- Rapid pipeline development / iteration\n\nFeatures in the road map\n------------------------\n- Automatic feature engineering\n- Automatic parameter optimization\n\nForeshadow supports python 3.6+\n\nInstalling Foreshadow\n---------------------\n\n.. code-block:: console\n\n    $ pip install foreshadow\n\nRead the documentation to `set up the project from source`_.\n\n.. _set up the project from source: https://foreshadow.readthedocs.io/en/development/developers.html#setting-up-the-project-from-source\n\nGetting Started\n---------------\n\nTo get started with foreshadow, install the package using pip install. This will also\ninstall the dependencies. Now create a simple python script that uses all the\ndefaults with Foreshadow.\n\nFirst import foreshadow\n\n.. code-block:: python\n\n    from foreshadow.foreshadow import Foreshadow\n    from foreshadow.estimators import AutoEstimator\n    from foreshadow.utils import ProblemType\n\nAlso import sklearn, pandas, and numpy for the demo\n\n.. code-block:: python\n\n    import pandas as pd\n\n    from sklearn.datasets import boston_housing\n    from sklearn.model_selection import train_test_split\n\nNow load in the boston housing dataset from sklearn into pandas dataframes. This\nis a common dataset for testing machine learning models and comes built in to\nscikit-learn.\n\n.. code-block:: python\n\n    boston = load_boston()\n    bostonX_df = pd.DataFrame(boston.data, columns=boston.feature_names)\n    bostony_df = pd.DataFrame(boston.target, columns=['target'])\n\nNext, exactly as if working with an sklearn estimator, perform a train test\nsplit on the data and pass the train data into the fit function of a new Foreshadow\nobject\n\n.. code-block:: python\n\n    X_train, X_test, y_train, y_test = train_test_split(bostonX_df,\n       bostony_df, test_size=0.2)\n\n    problem_type = ProblemType.REGRESSION\n\n    estimator = AutoEstimator(\n        problem_type=problem_type,\n        auto=\"tpot\",\n        estimator_kwargs={\"max_time_mins\": 1},\n    )\n    shadow = Foreshadow(estimator=estimator, problem_type=problem_type)\n    shadow.fit(X_train, y_train)\n\nNow `fs` is a fit Foreshadow object for which all feature engineering has been\nperformed and the estimator has been trained and optimized. It is now possible to\nutilize this exactly as a fit sklearn estimator to make predictions.\n\n.. code-block:: python\n\n    shadow.score(X_test, y_test)\n\nGreat, you now have a working Foreshaow installation! Keep reading to learn how to\nexport, modify and construct pipelines of your own.\n\nTutorial\n------------\nWe also have a jupyter notebook tutorial to go through more details under the `examples` folder.\n\nDocumentation\n-------------\n`Read the docs!`_\n\n.. _Read the docs!: https://foreshadow.readthedocs.io/en/development/index.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorgian-io-archive%2Fforeshadow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeorgian-io-archive%2Fforeshadow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorgian-io-archive%2Fforeshadow/lists"}