The Workshop
will showcase how to code and perform machine-learning analyses in Julia.
Especially, we will demonstrate what tools are good for geoscientific data analysis.
We will cover a series of general, frequently-solved ML tasks such as:
- Unsupervised and supervised machine learning
The unsupervised machine learning methods are:
- k-means clustering
- principal component analysis
- non-negative matrix factorization
- non-negative matrix factorization with customized k-means clustering
The supervised machine learning methods include:
- neural networks
- convolutional neural networks
We will also demonstrate guided tutorials using real data
- Spatiotemporal data analytics
- GeoThermal exploration
- Filling data gaps
Download and install the latest version of Julia.
Julia REPL looks like this:
Julia uses GIT for package management. GIT needs to be installed and configured as well. `
Jupyter notebooks are in-browser interactive programming environments that we will use for this workshop. The notebooks are run through IJulia.
To install IJulia separately, open a Julia REPL and run:
ENV["PYTHON"] = ""
import Pkg
Pkg.add("IJulia")
To open a Jupyter Notebook session in your browser, run the following in a REPL:
import IJulia
IJulia.notebook()
The first time you run this, it will install jupyter
using conda
.
The Workshop
has the following notebooks (in the notebook directory) that can be executed in Jupyter or in the Julia REPL.
- Julia_Introduction
- Unsupervised_ML
- Supervised_ML
- Geothermalcloud
ENV["PYTHON"] = ""
import Pkg
Pkg.add("NMF")
Pkg.add("Clustering")
Pkg.add("Statistics")
Pkg.add("MultivariateStats")
Pkg.add("Distances")
Pkg.add("Random")
Pkg.add("Mads")
Pkg.add("NMFk")
Pkg.add("DelimitedFiles")
Pkg.add("Cairo")
Pkg.add("Fontconfig")
Pkg.add("Gadfly")
Pkg.add("Compose")
Pkg.add("GMT") # this is not mandatory but an alternative tool of ArcGIS
The official Julia documentation is available at https://docs.julialang.org.
The official Julia discourse https://discourse.julialang.org is an excellent resource for all kinds of questions and insights in addition to Stack Overflow.
In the Julia community, it is not recommended to push/pull requests, submit coding issues, or ask questions before you have checked for existing answers or insights at the Julia discourse website.