All Projects → akabe → Docker Iocaml Datascience

akabe / Docker Iocaml Datascience

Licence: mit
Dockerfile of Jupyter (IPython notebook) and IOCaml (OCaml kernel) with libraries for data science and machine learning

Programming Languages

shell
77523 projects
ocaml
1615 projects

Projects that are alternatives of or similar to Docker Iocaml Datascience

Functional intro to python
[tutorial]A functional, Data Science focused introduction to Python
Stars: ✭ 228 (+660%)
Mutual labels:  jupyter-notebook, data-science, functional-programming
Har Keras Coreml
Human Activity Recognition (HAR) with Keras and CoreML
Stars: ✭ 23 (-23.33%)
Mutual labels:  jupyter-notebook, data-science
4th Place Home Credit Default Risk
Codes and dashboards for 4th place solution for Kaggle's Home Credit Default Risk competition
Stars: ✭ 23 (-23.33%)
Mutual labels:  jupyter-notebook, data-science
Resources
PyMC3 educational resources
Stars: ✭ 930 (+3000%)
Mutual labels:  jupyter-notebook, data-science
Spring2017 proffosterprovost
Introduction to Data Science
Stars: ✭ 18 (-40%)
Mutual labels:  jupyter-notebook, data-science
Mds
Modern Data Science
Stars: ✭ 19 (-36.67%)
Mutual labels:  jupyter-notebook, data-science
Kubeflow Data Science On Steroids
The blog post about Kubeflow, including all materials
Stars: ✭ 25 (-16.67%)
Mutual labels:  jupyter-notebook, data-science
Machine learning refined
Notes, examples, and Python demos for the textbook "Machine Learning Refined" (published by Cambridge University Press).
Stars: ✭ 750 (+2400%)
Mutual labels:  jupyter-notebook, data-science
Data Science On Gcp
Source code accompanying book: Data Science on the Google Cloud Platform, Valliappa Lakshmanan, O'Reilly 2017
Stars: ✭ 864 (+2780%)
Mutual labels:  jupyter-notebook, data-science
Pandas Profiling
Create HTML profiling reports from pandas DataFrame objects
Stars: ✭ 8,329 (+27663.33%)
Mutual labels:  jupyter-notebook, data-science
Crime Analysis
Association Rule Mining from Spatial Data for Crime Analysis
Stars: ✭ 20 (-33.33%)
Mutual labels:  jupyter-notebook, data-science
Skdata
Python tools for data analysis
Stars: ✭ 16 (-46.67%)
Mutual labels:  jupyter-notebook, data-science
Python Machine Learning Book 2nd Edition
The "Python Machine Learning (2nd edition)" book code repository and info resource
Stars: ✭ 6,422 (+21306.67%)
Mutual labels:  jupyter-notebook, data-science
Lambdaschooldatascience
Completed assignments and coding challenges from the Lambda School Data Science program.
Stars: ✭ 22 (-26.67%)
Mutual labels:  jupyter-notebook, data-science
Coursera
Quiz & Assignment of Coursera
Stars: ✭ 774 (+2480%)
Mutual labels:  jupyter-notebook, data-science
Python Introducing Pandas
Introduction to pandas Treehouse course
Stars: ✭ 24 (-20%)
Mutual labels:  jupyter-notebook, data-science
Mlnet Workshop
ML.NET Workshop to predict car sales prices
Stars: ✭ 29 (-3.33%)
Mutual labels:  jupyter-notebook, data-science
Industry Machine Learning
A curated list of applied machine learning and data science notebooks and libraries across different industries (by @firmai)
Stars: ✭ 6,077 (+20156.67%)
Mutual labels:  jupyter-notebook, data-science
Hitchhikers Guide
The Hitchhiker's Guide to Data Science for Social Good
Stars: ✭ 732 (+2340%)
Mutual labels:  jupyter-notebook, data-science
Awesome Google Colab
Google Colaboratory Notebooks and Repositories (by @firmai)
Stars: ✭ 863 (+2776.67%)
Mutual labels:  jupyter-notebook, data-science

akabe/iocaml-datascience

Deprecated: this Dockerfile is no longer maintained. Please use akabe/ocaml-jupyter-datascience instead.

Travis CI MicroBadger
Build Status Image Status

A ready-to-use environment of Jupyter (IPython notebook) and IOCaml (OCaml kernel) with libraries for data science and machine learning.

Getting started

First, launch a Jupyter server as follows.

$ docker run --name iocaml -it -p 8888:8888 akabe/iocaml-datascience
[I 15:38:04.170 NotebookApp] Writing notebook server cookie secret to /home/opam/.local/share/jupyter/runtime/notebook_cookie_secret
[W 15:38:04.190 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[I 15:38:04.197 NotebookApp] Serving notebooks from local directory: /notebooks
[I 15:38:04.197 NotebookApp] 0 active kernels
[I 15:38:04.197 NotebookApp] The Jupyter Notebook is running at: http://[all ip addresses on your system]:8888/?token=4df0fee0719115f474c8dd9f9281abed28db140d25f933e9
[I 15:38:04.197 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 15:38:04.198 NotebookApp] No web browser found: could not locate runnable browser.
[C 15:38:04.198 NotebookApp]

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8888/?token=4df0fee0719115f474c8dd9f9281abed28db140d25f933e9

Second, access to the URL at the above last line to your web browser, then

Screenshot of Jupyter with IOCaml

You can create OCaml notebooks!

Notebooks on your host machine can be mounted to a Docker container like

docker run --name iocaml -it -p 8888:8888 -v $PWD:/notebooks akabe/iocaml-datascience

Distributions

The default images are built on Debian 8:

Tag OCaml OPAM Command Dockerfile
latest 4.04.1 1.2.2 docker pull akabe/iocaml-datascience Dockerfile
4.05.0 4.05.0+trunk 1.2.2 docker pull akabe/iocaml-datascience:4.05.0 Dockerfile
4.04.1 4.04.1 1.2.2 docker pull akabe/iocaml-datascience:4.04.1 Dockerfile

CentOS

Distribution OCaml OPAM Command Dockerfile
CentOS 7 4.05.0+trunk 1.2.2 docker pull akabe/iocaml-datascience:centos7_ocaml4.05.0 Dockerfile
CentOS 7 4.04.1 1.2.2 docker pull akabe/iocaml-datascience:centos7_ocaml4.04.1 Dockerfile

Debian

Distribution OCaml OPAM Command Dockerfile
Debian 8 4.05.0+trunk 1.2.2 docker pull akabe/iocaml-datascience:debian8_ocaml4.05.0 Dockerfile
Debian 8 4.04.1 1.2.2 docker pull akabe/iocaml-datascience:debian8_ocaml4.04.1 Dockerfile

Pre-installed packages

Standard libraries

The OCaml standard library is too small in practical use. The following packages provide popular data structures, a lot of frequently-used functions such as string operations, complex iteration on collections, etc.

  • Jane Street Core (GitHub, API) — A huge extended standard library developed by Jane Street Capital. The library is actively maintained and reliable due to industrial use of Jane Street. Its interface is designed differently from the OCaml standard library.
  • Batteries Included (GitHub, API) — A famous extended standard library compatible with the OCaml standard library. It is smaller than Jane Street Core, but commonly-used functions are implemented.

Numerical computation

  • Lacaml (GitHub, API) — A binding to BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear Algebra PACKage), traditional linear algebra libraries written in Fortran. This library supplies basic operations on vectors and matrices (e.g., addition, dot product, multiplication), LU, QR, SVD, least-square fitting, etc.
  • SLAP (GitHub, API) — A high-level wrapper of Lacaml with type-based static size checks for vectors and matrices.
  • GSL (GitHub, API) — A binding to GNU Scientific Library (GSL), a rich numerical analysis library containing interface to BLAS. This library contains eigenproblem solvers, least square fitting, pseudo-random number generators (such as Mersenne Twister), FFT (fast Fourier transform), Monte-Carlo simulation, etc.
  • FFTW3 (GitHub) — A binding to FFTW3, a major fast Fourier transform library.
  • libsvm (BitBucket, API) — Support vector machine (SVM) is a powerful model in machine learning. This is a binding to libsvm, a library for SVMs.
  • TensorFlow (GitHub) — A binding to TensorFlow, a popular open-source neural network library developed by Google.
  • L-BFGS (API) — A binding to L-BFGS-B, a quasi-Newton library for bound-constrained optimization.
  • Ocephes (GitHub, API) — A binding to Ocephes, a library of special math functions like Binominal, Gaussian, Gamma distributions, incomplete Beta integral.
  • Oml (GitHub, API) — A small library for numerical computing on OCaml.
  • GPR (GitHub, API. PDF) — Efficient and scalable Gaussian Process Regression in OCaml.

Visualization

Data sources

Concurrent programming

CUI tools

  • ImageMagick — ImageMagick is a program to create, edit, compose, or convert bitmap images. This supports many formats, e.g., PNG, JPEG, GIF, TIFF, PDF, etc.
  • FFmpeg — FFmpeg is a powerful tool for converting audio and video files.

Examples

git clone [email protected]:akabe/docker-iocaml-datascience.git
docker run --name iocaml -it -p 8888:8888 -v $PWD/docker-iocaml-datascience/examples:/notebooks akabe/iocaml-datascience

Contribution

If you know a widely-used numerical library in OCaml, find a bug, or have an idea to improve this environment, please create an issue or pull-request your changes.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].