Skip to content

Embarrassingly Parallel Array Computing: EPAC is a machine learning workflow builder.

Notifications You must be signed in to change notification settings

duchesnay/pylearn-epac

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

epac

Embarrassingly Parallel Array Computing: EPAC is a machine learning workflow builder.

  • You can build a big machine workflow:

    Permutation (Perm) + Cross-validation (CV) of SVM(linear) and SVM(rbf)
    ----------------------------------------------------------------------
             Perms         Perm (Splitter)
         /     |       \
        0      1       2   Samples
               |
              CV           CV (Splitter)
          /   |   \
         0    1    2       Folds
              |
           Methods         Methods (Splitter)
       /           \
    SVM(linear)  SVM(rbf)  Classifiers (Estimator)

using very simple codes:

    from sklearn.svm import SVC
    from epac import Perms, CV, Methods
    perms_cv_svm = Perms(CV(
                     Methods(*[SVC(kernel="linear"), SVC(kernel="rbf")]),
                     n_folds=3),
                     n_perms=3)
    perms_cv_svm.run(X=X, y=y) # Top-down process: computing recognition rates, etc.
    perms_cv_svm.reduce() # Bottom-up process: computing p-values, etc.
  • Run epac tree in parallel on local multi-core machine or even on HPC using soma-workflow.
    from epac import LocalEngine
    local_engine = LocalEngine(tree_root=perms_cv_svm, num_processes=2)
    perms_cv_svm = local_engine.run(X=X, y=y)
    perms_cv_svm.reduce()
  • Design your own machine learning algorithm as a plug-in node in epac tree.
   Todo......need to finish wrapper

Important links

Installation http://neurospin.github.io/pylearn-epac/installation.html

Tutorials http://neurospin.github.io/pylearn-epac/tutorials.html

Documentation http://neurospin.github.io/pylearn-epac

About

Embarrassingly Parallel Array Computing: EPAC is a machine learning workflow builder.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.2%
  • Shell 3.8%