An intelligent, flexible grammar of machine learning.

Overview


drawing


An english representation of machine learning. Modify what you want, let us handle the rest.

Build Status Downloads Package

Overview

Nylon is a python library that lets you customize automated machine learning workflows through a concise, JSON syntax. It provides a built in grammar, in which you can access different operations in ML with the english language.

Installation

Install latest release version:

pip install -U nylon-ai

Install directory from github:

git clone https://github.com/Palashio/nylon.git
cd nylon-ai
pip install .

Usage: the basics

A new Polymer object should be created everytime you're working with a new dataset. When initializing an object, a dataset in the form of a .csv or .xs file should be passed to it by path:

nylon_object = Polymer('housing.csv')

Now, it's time to create a specifications file using the nylon grammar. Here's a basic one, that lets Nylon handle most of the work. Nylon currently has four major parts in it's grammar: the data reader, preprocessor, modeler, and analysis modules. In the example below, you can see that we're specifying the target column under data (which is always required), and manually specifying the type of preprocessing we'd like. Everything we haven't specified will be handled for us.

{
  "data": {
    "target": "ocean_proximity"
  },
  "preprocessor": {
    "fill": "ALL",
    "label-encode": "ocean_proximity"
  }
}

Now, we can override more components to take advantage of the built in ensembling of SVM's, and nearest neighbors modeling in nylon.

 json_file = {
    "data": {
        "target": "ocean_proximity"
    },
    "preprocessor": {
        "fill": "ALL",
        "label-encode": "ocean_proximity"
    },
    "modeling": {
        "type": ["svms", "neighbors"]
    }
}

Now we can call,

nylon_object.run(json_file)

This will return a fully trained nylon object. You can access all information about this particular iteration in the .results field of the object.

Demos

alt text alt text

Asking for help

Welcome to the Nylon community!

If you have any questions, feel free to:

  1. Read the Docs
  2. Search through the issues
  3. Join our Discord

Contact

Shoot me an email at [email protected] if you'd like to get in touch!

Follow me on twitter for updates and my insights about modern AI!

Comments
  • Unable to import Polymer from nylon

    Unable to import Polymer from nylon

    I've installed nylon in a conda env with, I believe, all necessary dependencies for the library. However, when I code from nylon import Polymer, I get an error saying Polymer is not a module.

    opened by FrancyJGLisboa 4
  • Added PCA support

    Added PCA support

    Currently, I created a separate method that can be run/modified separately from the main method but eventually we should just make it a parameter of the run method itself.

    opened by sarda-devesh 0
  • overhaul documentation

    overhaul documentation

    check comment on reddit where lots of people agreed:

    "It seems to be something useful. I wish the documentation was better. Before going into "how" it should first explain the "what". I've spent full 5 minutes skimming the github and the docs and I still don't know what this is.

    "Nylon offers an easy to-use Python library to help users build complex machine learning models with the english language"

    Is it a natural language processing framework? Or is it a framework with which I can build "complex machine learning models" just by describing them in plain English?

    What is this?"

    documentation 
    opened by Palashio 0
  • TypeError: svm_stroke() got an unexpected keyword argument 'json_file'

    TypeError: svm_stroke() got an unexpected keyword argument 'json_file'

    nylon_object = Polymer('housing.csv')
    
    spec = {
        "data": {
            "target": "ocean_proximity"
        },
        "modeling": {
            "type": "svms"
        }
    }
    
    nylon_object.run(spec)
    
    bug 
    opened by Palashio 0
  • create design for correlations

    create design for correlations

    things that users choose should affect the automatic choices in different parts of the pipeline. for example, if you add a trimming statement, more models should be tried out or a certain preprocessing mechanic should trigger certain models etc.

    structure 
    opened by Palashio 0
Owner
Palash Shah
restructuring ML
Palash Shah
A platform for intelligent agent learning based on a 3D open-world FPS game developed by Inspir.AI.

Wilderness Scavenger: 3D Open-World FPS Game AI Challenge This is a platform for intelligent agent learning based on a 3D open-world FPS game develope

null 46 Nov 24, 2022
Grammar Induction using a Template Tree Approach

Gitta Gitta ("Grammar Induction using a Template Tree Approach") is a method for inducing context-free grammars. It performs particularly well on data

Thomas Winters 36 Nov 15, 2022
a grammar based feedback fuzzer

Nautilus NOTE: THIS IS AN OUTDATE REPOSITORY, THE CURRENT RELEASE IS AVAILABLE HERE. THIS REPO ONLY SERVES AS A REFERENCE FOR THE PAPER Nautilus is a

Chair for Sys­tems Se­cu­ri­ty 158 Dec 28, 2022
Official codebase for ICLR oral paper Unsupervised Vision-Language Grammar Induction with Shared Structure Modeling

CLIORA This is the official codebase for ICLR oral paper: Unsupervised Vision-Language Grammar Induction with Shared Structure Modeling. We introduce

Bo Wan                                             32 Dec 23, 2022
Numenta Platform for Intelligent Computing is an implementation of Hierarchical Temporal Memory (HTM), a theory of intelligence based strictly on the neuroscience of the neocortex.

NuPIC Numenta Platform for Intelligent Computing The Numenta Platform for Intelligent Computing (NuPIC) is a machine intelligence platform that implem

Numenta 6.3k Dec 30, 2022
Numenta Platform for Intelligent Computing is an implementation of Hierarchical Temporal Memory (HTM), a theory of intelligence based strictly on the neuroscience of the neocortex.

NuPIC Numenta Platform for Intelligent Computing The Numenta Platform for Intelligent Computing (NuPIC) is a machine intelligence platform that implem

Numenta 6.2k Feb 12, 2021
House-GAN++: Generative Adversarial Layout Refinement Network towards Intelligent Computational Agent for Professional Architects

House-GAN++ Code and instructions for our paper: House-GAN++: Generative Adversarial Layout Refinement Network towards Intelligent Computational Agent

null 122 Dec 28, 2022
A repository built on the Flow software package to explore cyber-security attacks on intelligent transportation systems.

A repository built on the Flow software package to explore cyber-security attacks on intelligent transportation systems.

George Gunter 4 Nov 14, 2022
RCD: Relation Map Driven Cognitive Diagnosis for Intelligent Education Systems

RCD: Relation Map Driven Cognitive Diagnosis for Intelligent Education Systems This is our implementation for the paper: Weibo Gao, Qi Liu*, Zhenya Hu

BigData Lab @USTC  中科大大数据实验室 10 Oct 16, 2022
A privacy-focused, intelligent security camera system.

Self-Hosted Home Security Camera System A privacy-focused, intelligent security camera system. Features: Multi-camera support w/ minimal configuration

Scott Barnes 175 Jan 1, 2023
Machine Learning From Scratch. Bare bones NumPy implementations of machine learning models and algorithms with a focus on accessibility. Aims to cover everything from linear regression to deep learning.

Machine Learning From Scratch About Python implementations of some of the fundamental Machine Learning models and algorithms from scratch. The purpose

Erik Linder-Norén 21.8k Jan 9, 2023
Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.

This is the Vowpal Wabbit fast online learning code. Why Vowpal Wabbit? Vowpal Wabbit is a machine learning system which pushes the frontier of machin

Vowpal Wabbit 8.1k Jan 6, 2023
Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

Apache MXNet (incubating) for Deep Learning Apache MXNet is a deep learning framework designed for both efficiency and flexibility. It allows you to m

The Apache Software Foundation 20.2k Jan 8, 2023
A flexible framework of neural networks for deep learning

Chainer: A deep learning framework Website | Docs | Install Guide | Tutorials (ja) | Examples (Official, External) | Concepts | ChainerX Forum (en, ja

Chainer 5.8k Jan 6, 2023
Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

Apache MXNet (incubating) for Deep Learning Apache MXNet is a deep learning framework designed for both efficiency and flexibility. It allows you to m

The Apache Software Foundation 20.2k Jan 5, 2023
Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

Apache MXNet (incubating) for Deep Learning Apache MXNet is a deep learning framework designed for both efficiency and flexibility. It allows you to m

The Apache Software Foundation 19.3k Feb 12, 2021
A flexible framework of neural networks for deep learning

Chainer: A deep learning framework Website | Docs | Install Guide | Tutorials (ja) | Examples (Official, External) | Concepts | ChainerX Forum (en, ja

Chainer 5.5k Feb 12, 2021
Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

Apache MXNet (incubating) for Deep Learning Master Docs License Apache MXNet (incubating) is a deep learning framework designed for both efficiency an

ROCm Software Platform 29 Nov 16, 2022