GithubHelp home page GithubHelp logo

fagan2888 / ballet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ballet/ballet

0.0 1.0 0.0 13.96 MB

โ˜€๏ธ๐Ÿฆถ A lightweight framework for collaborative, open-source, data science

Home Page: https://hdi-project.github.io/ballet

License: MIT License

Makefile 1.19% Python 96.53% Shell 0.03% Jupyter Notebook 2.26%

ballet's Introduction

PyPI Shield Travis CI Shield codecov Shield

ballet

A lightweight framework for collaborative, open-source data science projects through feature engineering.

Overview

Do you develop machine learning models? Do you work by yourself or on a team? Do you share notebooks or are you committing code to a shared repository? In contrast to successful, massively collaborative, open-source projects like the Linux kernel, the Rails framework, Firefox, GNU, or Tensorflow, most data science projects are developed by just a handful of people. But think if the open-source community could leverage its ingenuity and determination to collaboratively develop data science projects to predict the incidence of disease in a population, to predict whether vulnerable children will be evicted from their homes, or to predict whether learners will drop out of online courses.

Our vision is to make collaborative data science possible by making it more like open-source software development. Our approach is based on decomposing the data science process into modular patches - standalone units of contribution - that can then be intelligently combined, representing objects like "feature", "labeling function", or "prediction task definition". Collaborators work in parallel to write patches and submit them to a repo. Our software framework provides the underlying functionality to merge high-quality contributions, collect modules from the file system, and compose the accepted contributions into a single product. It also provides a familiar notebook-based development experience that is friendly to data scientists and other inexperienced open-source contributors. We don't require any computing infrastructure beyond that which is commonly used in open-source software development.

Currently, Ballet focuses on supporting collaboratively developing feature engineering pipelines, an important part of many data science projects. Individual features are represented as separate Python modules, declaring the subset of a dataframe that they operate on and a scikit-learn-style learned transformer that extracts feature values from the raw data. Ballet collects individual features and composes them into a feature engineering pipeline. At any point, a project built on Ballet can be installed for end-to-end feature engineering on new data instances for the same problem. How do we ensure the feature engineering pipeline is always useful? Ballet thoroughly validates proposed features for correctness and machine learning performance, using an extensive test suite and a novel streaming feature definition selection algorithm. Accepted features can be automatically merged by the ballet GitHub app into projects.

Ballet Feature Lifecycle

Next steps

Are you a data owner or project maintainer that wants to organize a collaboration?

๐Ÿ‘‰ Check out the Ballet Maintainer Guide

Are you a data scientist or enthusiast that wants to join a collaboration?

๐Ÿ‘‰ Check out the Ballet Contributor Guide

Want to learn about how Ballet enables Better Feature Engineeringโ„ข๏ธ?

๐Ÿ‘‰ Check out the Feature Engineering Guide

Want to see a demo collaboration in progress and maybe even participate yourself?

๐Ÿ‘‰ Check out the ballet-predict-house-prices project

ballet's People

Contributors

kelvin-lu avatar micahjsmith avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.