Giter VIP home page Giter VIP logo

diamond's Introduction

Diamond

CircleCI

O Diamond, Diamond, thou little knowest the mischief thou hast done.

Damn You Diamond

(Diamond was Newton's mischievous dog)

What is Diamond?

Diamond utilizes iterative, quasi-Newton 2nd-order solvers for certain kinds of generalized linear models (GLMs) with arbitrary but known L2-regularization. A common use is fitting mixed-effects models, with their covariance already being known by another means (e.g. lme4). These 2nd-order iterative solvers are considerably faster than a full-blown solution.

Limitations

  • The random-effects covariances must be input a-priori. Unlike R's lme4 or Julia's MixedModels, Diamond does not estimate the covariance of random effects terms.
  • Diamond only supports the following models
    • logistic regression
    • ordinal logistic regression using proportional odds, as defined in Section 7.2.1 of Categorical Data Analysis, 2nd Ed., by Alan Agresti
  • Currently, only formulae with crossed, independent random effects are supported. Using the mtcars dataset as an example, these look like mpg ~ 1 + hp + (1 + hp | cyl) + (1 | gear). I.e. no hierarchical terms

Installation

You must have docker installed. Then, run docker run -ti --rm -p 8888:8888 tsweetser/diamond

Copy-paste the URL, including the token, into your browser. Then, check out the Jupyter notebook examples!

You can also install from PyPI via pip install sf-diamond

Troubleshooting installation

  • You may need to restart docker if you've been running jupyter notebooks locally on port 8888.

Documentation

See documentation for more details on the details of Diamond and how to use it

Contributing to Diamond

We always welcome contributions. See CONTRIBUTING.md

Running Tests

You will need R to run the integration tests. From the root directory, run pip install nose then nosetests.

Development Status

Diamond is an evolving project. Please file issues if you would like to use Diamond in new ways.

License

See LICENSE.txt

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.