• Stars
    star
    145
  • Rank 248,724 (Top 5 %)
  • Language
    R
  • License
    MIT License
  • Created over 10 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Syberia: The development framework for R

Syberia Build Status Documentation Documentation Documentation License: MIT Join the chat at https://gitter.im/syberia/Lobby

Syberia is the development framework for R.

Syberia was developed at Avant to serve as the framework for developing and deploying machine learning models. The goal was to develop a modeling engine capable of solving academic, research and business problems that require use of statistical methods.

The modeling grammar, currently the main significant engine built in Syberia, is a framework for building, debugging, testing, and deploying classifiers developed in R. It provides an opinionated unified framework for fast iteration on model development and deployment. It has modularity and testability built in as a design assumption, is founded on convention-over-configuration, and aims to solve the problems of classifier-specific data preparation and classifier-specific modeling parameters.

The more general vision for Syberia is still in progress but aims to bring unity to the currently disparate realms of the R development ecosystem. In the viewpoint of the author, R is syntactic sugar around LISP, which enables arbitrary computation; Syberia is an attempt to support this conjecture by allowing the construction of arbitrary software projects within the R programming language, thereby finally outgrowing its long-overdue misconception as a statistical tool.

The timeline for future engines and information about how to contribute is listed at the Syberia roadmap.

Installation

To get started right away, try out the minimal example syberia project:

# Run this from your command line terminal.
git clone [email protected]:syberia/example.sy.git && cd example.sy && R

This will open an R console (installing dependencies for the first time may take a while; for troubleshooting see the troubleshooting guide). You can then type:

run("example1")
model$predict(iris[1:5, ]) # The first five scores from a trained classifier.
# [1] 5.005686 4.757667 4.773923 4.890092 5.055138

For more detailed instructions, see the installation guide.

Minimal syberia example

(Example generated using ttygif.)

Packages

Syberia relies on the following supplemental packages:

Name Status
Mungebits2 Build Status Coverage Status Documentation Documentation License: MIT
Stagerunner Build Status Coverage Status Documentation Documentation License: MIT
Tundra Build Status Coverage Status Documentation Documentation License: MIT
Director Build Status Coverage Status Documentation Documentation License: MIT

Additional packages used internally at Avant in conjunction with Syberia modeling projects include batchman, bettertrace, cachemeifyoucan, dokk, lockbox, microserver, objectdiff, Ramd, rocco, s3mpi, testthatsomemore, and treeskeleton.

Engines

Syberia is currently released with the following engines.

Name Status Description
Base Build Status The base engine that defines routes and controllers.
Modeling Build Status The modeling engine for deploying structured learning problems.
Example Build Status The hello world of modeling projects. Can be used for new projects.
Examples Build Status Some examples from Kaggle and other sources in Syberia.

Development

To run the tests for the Syberia package, you will have to check out its git submodules.

git submodule update --init --recursive

This will pull in inst/engines/base.sy from the base engine.

License

This project is licensed under the MIT License:

Copyright (c) 2014-2017 Robert Krzyzanowski

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Authors

Syberia was originally created at Avant by Robert Krzyzanowski, [email protected]. Additional contributors include Peter Hurford, Kirill Sevastyanenko, Tong Lu, Abel Castillo, and others.

More Repositories

1

lockbox

Bundler-style dependency management for R
R
49
star
2

send.zsh

A zsh plugin for a command to pull, git add all files, commit, and push -- all in one command
Shell
29
star
3

xgboost.hs

A Haskell wrapper for xgboost
Haskell
23
star
4

testthatsomemore

R package for extending testthat to more testing helpers
R
21
star
5

s3mpi

R message passing interface using S3 storage
R
13
star
6

hipchat.zsh

A zsh plugin to send hipchat messages through shell
Shell
13
star
7

dummit-foote

Some solutions to the Dummit & Foote abstract algebra textbook
TeX
12
star
8

hull-finance

Exercises to John Hull's book on Options, Futures, and Other Derivates
11
star
9

objectdiff

An R package for measuring differences between arbitrary R objects using patches, a la Git
R
9
star
10

MicrosoftR

A Syberia engine to interact with Microsoft / Revolution Analytics tooling for deployable models
R
8
star
11

FiniteFields

Arithmetic over finite fields in Ruby
JavaScript
8
star
12

cachemeifyoucan

An R caching layer
R
7
star
13

microserver

Minimal R server
R
7
star
14

Ramd

AMD (asynchronous module definitions) in R
R
6
star
15

misp

Multi-list processor language
C++
6
star
16

bettertrace

Better stack trace for R
R
6
star
17

hipchat

R package for talking to Hipchat
R
5
star
18

sudo.zsh

A zsh plugin to use Esc+S to prepend sudo to a command with vi keybindings
Shell
5
star
19

dataframe.cpp

R's data.frame's in 100% beautiful C++
Shell
5
star
20

r-package-template

A template for R packages
R
5
star
21

recombinator

R recombinators for turning nested lists into data.frames
R
4
star
22

meyerbot

A Python web bot for automatically posting "Tests?" to github pull requests lacking enough tests
Python
4
star
23

rfinance17

Examples for the R/Finance 2017 conference and accompanying slides
R
4
star
24

dataframe-ruby

A translation of R's data.frame into Ruby
Ruby
3
star
25

xmlmunger

Convert XML files into flat hashes with automatic naming via nested paths
Ruby
3
star
26

mungebits

R mungebits
R
3
star
27

vc.r

A network interception testing / stubbing utility for R packages
R
3
star
28

s3mpi-ruby

Simple interface wrapper to the AWS SDK for console-facing upload and fetching of Ruby objects to S3 in JSON format.
Ruby
3
star
29

RDS2

Slightly smarter (customizable) serialization for R
R
3
star
30

rokogiri

An XML generator DSL in R, inspired by Ruby's Nokogiri
R
3
star
31

berdie

Berdie is an R package for synchronizing data sources across two separate layers
R
3
star
32

machine-learning-with-spark

My solutions to Machine Learning With Spark by Nick Pentreath
Scala
3
star
33

s3mpy

S3 MPI for Python
Python
3
star
34

rfinance17-notes

Notes for R/Finance 2017 conference
3
star
35

LookR

Fixed version of LookR package
R
2
star
36

super

Giving R the ability to invoke "parent" methods, solving the namespace collision issue
R
2
star
37

mappy

An R package for managing shortcut maps in your Rprofile.
R
2
star
38

productivus

A suite of productivity tools for R -- debugging, visualization, inline editing, etc.
R
2
star
39

ristocrat

A better, richer REPL for R
R
2
star
40

module

An R namespace system that supersedes packages by allowing nesting
R
2
star
41

r-book

Classifier Development in R
2
star
42

syberiaStages

A library of stages for the Syberia framework
R
2
star
43

syberiaMungebits

Mungebits transformations
R
2
star
44

rocco

Literate documentation for R packages in the spirit of Coffeescript's docco
CSS
2
star
45

deflate

Deflate an R object so it can be serialized without extraneous information.
2
star
46

context

Context is an R package for importing dependencies in large projects
2
star
47

k

"K" for R -- all the built ins are really short!
R
2
star
48

rum

Mocha for R
R
1
star
49

rprofile

A re-usable and modular Rprofile backed by AWS S3
R
1
star
50

scalactite

Early exercises in picking up Scala
Scala
1
star
51

ouroboros

Ouroboros is an R package for algorithmically parsing mathematical papers and using the contents to automatically write new machine learning packages
1
star
52

activesession

A heterogeneous-backend key-value store syntax for R
R
1
star
53

kernelectricianing

Tricks from reading through Linus Torvalds's code
C
1
star
54

sinartra-example

An example of an R sinartra application
R
1
star
55

3chessengine

Javascript-based 3 man chess engine
JavaScript
1
star
56

hiprchat

R console integration with Hipchat
1
star
57

refclass

A re-factoring of R's built-in reference classes to make the code understandable
R
1
star
58

syberiaStructure

Structural components of Syberia (e.g., file system traversal)
R
1
star
59

matrix.hs

An implementation of numerical matrices in Haskell, for fun and pedagogy
Haskell
1
star
60

frost

Nested list cross-referential preprocessing engine
R
1
star
61

statsUtils

R Stats utils
R
1
star
62

mungebits.cpp

C++11 mungebits
C++
1
star
63

haskellementary

Introductory exercises in Haskell
Haskell
1
star
64

packagepackage

Iterative operations on a collection of packages. Useful for R developers with many packages to maintain.
R
1
star
65

graphrunner

Graphical execution engine for R
R
1
star
66

allthepackages

All robertzk packages
R
1
star
67

rnotes

Miscellaneous notes on advanced R topics
R
1
star
68

data-scientist-interview

A comprehensive guide to interviewing, preparing for and understanding data scientist positions
1
star
69

databasic

A summary of best practices in modern database design, migration, and refactoring with a focus towards PostgreSQL
1
star
70

dataframe.hs

An implementation of R's dataframes in Haskell
Haskell
1
star
71

grenader

Grenader is an HTML5-based drag and drop multiplayer shooter game
CoffeeScript
1
star
72

monadicbase

The R base library equipped with a history monad
R
1
star
73

grasshopper

Grasshopper is an R framework for testing questions about classifiers coming from learning theory: convergence rate, estimation of empirical risk minimization potential, etc.
R
1
star
74

flatfileparser

A C++ utility for parsing flat files given a header specification
C++
1
star