Machine Learning,Clustering

Seismic Data Visualization and Feature Extraction

Level: Advance Grades: In College
Machine Learning,Clustering
90 Hours of LIVE instruction
Weekdays
112500.00 125000.00
10% off

Course Overview 5/5

This course aims at providing the students with advanced knowledge of EDA, manipulation, and visualization of seismic data. Advanced topics and python libraries will be covered in detail. Various exercises related to the field application of the subject are designed to cover the technical aspects of both domain and python.

Topics Covered

  • What is Machine Learning
  • Creating a Machine Learning Model
  • Feature Engineering
  • Working with well logs in Python

Course Curriculam

Manipulating and visualizing data

  • Follow-along exercise: Make a topography map in 5 lines of code (right).
  • Follow-along exercise: A lightweight 3D seismic visualization.

Variables and assignment

  • Introduction to Python command line.
  • Basic assignment syntax and dynamic typing.
  • Asking for help. Finding help online.
  • Native data types
  • int and float (and complex); why so many kinds of numbers?
  • str.
  • Type casting.
  • String methods, strings as collections. Indexing and slicing.
  • String formatting anf f-strings.
  • Exercise: text processing practice manipulating formation names.

Operators and expressions

  • Mathematical operations, comparison operators, booleans.
  • Augmented assignment, multiple assignment.
  • Copies and pointers.
  • Exercise: some gentle rock physics.
  • Data collections and data structures
  • list — indexing again, slicing again, striding, nested lists.
  • Exercise: Getting ages from the geologic timescale. Practice indexing.
  • tuple and set
  • dict — mappings of key:value pairs.
  • Exercise: Stratigraphic column: storing, retrieving and modifying entries in dicts.
  • Exercise: Introduction to visualizing well logs: line plots vs scatter plots

Flow control

  • Iteration and iterables: for and while.
  • Exercise: compute impedance and reflectivity in a well.
  • List comprehensions.
  • Exercise: convert for loops into list comprehensions.
  • Making decisions: if-elif-else statements.
  • Exercise: create a pay flag on a gamma-ray log.

Getting data, part 1

  • Reading and writing text files.
  • Exercise: create a dictionary of well tops from a ‘broken’ input text file.
  • Functions
  • Built-in functions, and importing modules.
  • The anatomy of a function. Syntax, docstrings.
  • Exercise: write a function that computes an impedance log.
  • Exercise: write a function that computes reflection coefficients.
  • Exercise: write a function that computes formation thicknesses.
  • Sharing code via modules, importing and using modules.
  • Exercise: Getting data from a sidewall core analysis report (csv file).
  • Exercise: Get geological ages by processing pages.
  • The Python standard library.
  • External Python packages and PyPi.

NumPy

  • What is NumPy for? n-dimensional arrays!
  • A simple synthetic seismogram.
  • Exercise: make a 2D wedge model.
  • Load and inspect a 1D wireline log.
  • Exercise: compare list iteration to vectorized math to compute reflectivity.
  • Load and inspect a 2D seismic section from Numpy binary.
  • Exercise: plotting raster data with imshow.
  • Load and inspect a 3D seismic volume from Numpy binary.
  • Indexing into the cube, computing trace statistics.
  • Visualize traces, sections, and timeslices.
  • Exercise: load and visualize a seismic horizon.

matplotlib

  • What is matplotlib?
  • Exercise: Exploring plots.
  • Seaborn, Plotly, Bokeh, and other plotting environments.

SciPy

  • What's in the SciPy package?
  • Interpolation: time conversion of a sonic log.
  • Convolution.
  • Exercise: make a simple synthetic seismogram.
  • Complex seismic trace attributes — phase and envelope.
  • Exercise: make an offset synthetic seismogram.
  • Spectral analysis with scipy.
  • Exercise: make a time-frequency plot of our synthetic.

Scikit-image and PIL

  • What is image processing? What are scikit-image and PIL?
  • Exercise: resize and recolour an image in PIL.
  • Image segmentation.
  • Exercise: find grains in a photomicrograph with scikit-image.

Pandas, a quick introduction

  • What is pandas? When do we use pandas vs ndarrays?
  • Exercise: Loading and cleaning a dataset with pandas.
  • Exercise: A quick introduction to GeoPandas.

Reading and writing data files

  • Persisting ndarrays, dataframes, and other objects. Pickling.
  • Reading SEG-Y files with ObsPy. Writing SEG-Y files.
  • Reading LAS files with lasio and welly. Writing LAS files.
  • Reading and writing SHP files with fiona.

Getting data, part 2

  • Databases. SQL vs NoSQL. Libraries for hitting databases.
  • Exercise: Storing objects in a database, and retrieving them again.
  • Querying.
  • Exercise: Storing the same objects in a NoSQL database, msiemens's TinyDB

Writing code

  • Text editors, IDES, Jupyter.
  • Linting and PEP8.
  • Documentation, testing, continuous integration.

Classes and object-oriented programming

  • Everything is an object.
  • Why use classes?
  • Exercise:

Version control

  • Introduction to git and GitHub.
  • Exercise:

Runtime

  • Conda environments. Other options.
  • Exercise: build and clone a conda environment for your project.
  • Containers, Docker, and developer operations.

Test driven development

  • Untested code is broken code.
  • Writing tests.

Writing code

  • Text editors, IDES, Jupyter.
  • Linting and PEP8.
  • Documentation, testing, continuous integration.

Classes and object-oriented programming

  • Everything is an object.
  • Why use classes?
  • Exercise:

Version control

  •  Introduction to git and GitHub.
  • Exercise:

Runtime

  • Conda environments. Other options.
  • Exercise: build and clone a conda environment for your project.
  • Containers, Docker, and developer operations.

Test driven development

  • Untested code is broken code.
  • Writing tests.
  • Exercise: write the first tests for our well log class.

Documentation

  • Writing self-documenting code: docstrings and comments.
  • Supporting documents and notebooks.
  • Exercise:

Packaging

  • Functions, files, modules, and packages — review.
  • Setup.py, requirements.txt, PyPi, and everything else.
  • Managing branches in git.

Getting better

  •  Tips for becoming a better programmer.
  • Online resources. Conferences and meetings.

Introduction

  • Recognizing tasks suitable for machine learning.
  • What's the difference between supervised and unsupervised learning?
  • Recognizing regression vs classification tasks.

Data management for machine learning

  • Exercise: loading a pandas DataFrame from a CSV.
  • Exercise: building a pandas DataFrame from a LAS file.
  • DataFrames vs arrays (vs Hadoop, Dask, etc).

The machine learning iterative loop

  • Data — Getting the data. Loading and storing in an array and/or DataFrame
  • Processing — data exploration, inspection, cleaning, and feature engineering.
  • Model — What is a model? Training a Scikit-Learn model (for now).
  • Results — assessing quality and performance metrics (accuracy, recall, F1, confusion matrices)
  • Repeat — What can we do to improve performance?
  • Exercise: improving the pay flag prediction.

Numpy and Pandas Exploratory Data Analysis Feature Engineering

Projects you will build

Supervised Lithology Classification

Using AI/ML tools to identify facies

Artificial Intelligence
Supervised Lithology Classification
EDA, Feature Engineering, Volve Dataset

Machine Learning in Seismic Interpretation

To figure out and understand the patterns in datasets that consist of input data without labeled responses.

Artificial Intelligence
Machine Learning in Seismic Interpretation
Supervided Learning, Classification

Learn Effectively with our Industry Focused Approach

Petrocoder runs most specialised courses in oil & energy sector developed by industry specialists after several decades of experience.