rep

Machine Learning toolbox for Humans

https://github.com/yandex/rep

Science Score: 33.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
    2 of 13 committers (15.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Machine Learning toolbox for Humans

Basic Info
  • Host: GitHub
  • Owner: yandex
  • License: other
  • Language: Jupyter Notebook
  • Default Branch: master
  • Homepage: http://yandex.github.io/rep/
  • Size: 131 MB
Statistics
  • Stars: 697
  • Watchers: 47
  • Forks: 150
  • Open Issues: 30
  • Releases: 7
Created about 11 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Authors

README.md

Reproducible Experiment Platform (REP)

Join the chat at https://gitter.im/yandex/rep Build Status PyPI version Documentation CircleCI

REP is ipython-based environment for conducting data-driven research in a consistent and reproducible way.

Main features:

  • unified python wrapper for different ML libraries (wrappers follow extended scikit-learn interface)
    • Sklearn
    • TMVA
    • XGBoost
    • uBoost
    • Theanets
    • Pybrain
    • Neurolab
    • MatrixNet service(available to CERN)
  • parallel training of classifiers on cluster
  • classification/regression reports with plots
  • interactive plots supported
  • smart grid-search algorithms with parallel execution
  • research versioning using git
  • pluggable quality metrics for classification
  • meta-algorithm design (aka 'rep-lego')

REP is not trying to substitute scikit-learn, but extends it and provides better user experience.

Howto examples

To get started, look at the notebooks in /howto/

Notebooks can be viewed (not executed) online at nbviewer
There are basic introductory notebooks (about python, IPython) and more advanced ones (about the REP itself)

Examples code is written in python 2, but library is python 2 and python 3 compatible.

Installation with Docker

We provide the docker image with REP and all it's dependencies. It is a recommended way, specially if you're not experienced in python.

Installation with bare hands

However, if you want to install REP and all of its dependencies on your machine yourself, follow this manual: installing manually and running manually.

Links

License

Apache 2.0, library is open-source.

Minimal examples

REP wrappers are sklearn compatible:

python from rep.estimators import XGBoostClassifier, SklearnClassifier, TheanetsClassifier clf = XGBoostClassifier(n_estimators=300, eta=0.1).fit(trainX, trainY) probabilities = clf.predict_proba(testX)

Beloved trick of kagglers is to run bagging over complex algorithms. This is how it is done in REP:

```python from sklearn.ensemble import BaggingClassifier clf = BaggingClassifier(baseestimator=XGBoostClassifier(), nestimators=10)

wrapping sklearn to REP wrapper

clf = SklearnClassifier(clf) ```

Another useful trick is to use folding instead of splitting data into train/test. This is specially useful when you're using some kind of complex stacking

python from rep.metaml import FoldingClassifier clf = FoldingClassifier(TheanetsClassifier(), n_folds=3) probabilities = clf.fit(X, y).predict_proba(X) In example above all data are splitted into 3 folds, and each fold is predicted by classifier which was trained on other 2 folds.

Also REP classifiers provide report:

```python report = clf.test_on(testX, testY) report.roc().plot() # plot ROC curve from rep.report.metrics import RocAuc

learning curves are useful when training GBDT!

report.learning_curve(RocAuc(), steps=10)
```

You can read about other REP tools (like smart distributed grid search, folding and factory) in documentation and howto examples.

Owner

  • Name: Yandex
  • Login: yandex
  • Kind: organization
  • Email: opensource-support@yandex-team.ru
  • Location: Moscow, Russia

Yandex open source projects and technologies

GitHub Events

Total
  • Watch event: 7
  • Fork event: 4
Last Year
  • Watch event: 7
  • Fork event: 4

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 885
  • Total Committers: 13
  • Avg Commits per committer: 68.077
  • Development Distribution Score (DDS): 0.647
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Alexey i****m@g****m 312
Andrey Ustyuzhanin a****u@g****m 270
tata-antares t****s@y****u 177
quadrocube g****k@g****m 39
Алексей Бердников a****v@y****u 38
haskile h****e@g****m 28
Eyad Sibai e****i@g****m 7
tyamana t****a@m****u 6
Andrey Ustyuzhanin a****n@c****h 3
Alexander Baranov s****1@y****u 2
The Gitter Badger b****r@g****m 1
Sasha Baranov s****v 1
CoreOS Admin c****e@l****h 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 63
  • Total pull requests: 41
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 24
  • Total pull request authors: 13
  • Average comments per issue: 1.68
  • Average comments per pull request: 0.83
  • Merged pull requests: 23
  • Bot issues: 0
  • Bot pull requests: 5
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • arogozhnikov (21)
  • anaderi (8)
  • tlikhomanenko (6)
  • jonas-eschle (4)
  • sashabaranov (3)
  • manjaneqx (2)
  • kazeevn (2)
  • 235614 (1)
  • eyadsibai (1)
  • FuriouslyCurious (1)
  • maxnoe (1)
  • HolyBayes (1)
  • Sandy4321 (1)
  • pupadupa (1)
  • amueller (1)
Pull Request Authors
  • anaderi (13)
  • arogozhnikov (7)
  • tlikhomanenko (6)
  • dependabot[bot] (5)
  • AzatKirakosyan (2)
  • sashabaranov (2)
  • gitter-badger (1)
  • RobsonRocha (1)
  • arsenyinfo (1)
  • mschlupp (1)
  • yandex-rep-ci-bot (1)
  • jonas-eschle (1)
  • annamasce (1)
Top Labels
Issue Labels
enhancement (10) bug (7) question (3) wontfix (2)
Pull Request Labels
dependencies (5)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 51 last-month
  • Total docker downloads: 83
  • Total dependent packages: 0
  • Total dependent repositories: 20
  • Total versions: 4
  • Total maintainers: 1
pypi.org: rep

infrastructure for computational experiments in machine learning

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 20
  • Downloads: 51 Last month
  • Docker Downloads: 83
Rankings
Stargazers count: 2.4%
Docker downloads count: 2.8%
Dependent repos count: 3.2%
Forks count: 4.0%
Average: 7.6%
Dependent packages count: 10.0%
Downloads: 23.2%
Maintainers (1)
Last synced: 11 months ago

Dependencies

requirements.txt pypi
  • bokeh ==0.11.1
  • hep_ml ==0.4
  • ipykernel ==4.3.1
  • matplotlib ==1.5.1
  • mpld3 ==0.2
  • neurolab ==0.3.5
  • nose ==1.3.7
  • nose-parameterized ==0.5.0
  • notebook ==4.2.1
  • numpy >=1.10.0
  • pandas ==0.17.1
  • pybrain ==0.3
  • requests ==2.9.1
  • scikit-learn ==0.17.1
  • scipy >=0.16.0
  • theanets ==0.7.3
  • theano ==0.8.2
  • xgboost ==0.4a30