Machine Learning,Exploratory Data Analysis

Digital Upstream Specialist

Level: Basic Grades: In College
Machine Learning,Exploratory Data Analysis
50 Hours of LIVE instruction
Weekend and Weekdays
63700.00 70000.00
9% off

Course Overview 5/5

This course aims at providing students with an overview of python and its essential libraries, with a focus on its application in the Upstream sector. It covers various exercises from different sub-verticals like Logging, Geology which are designed in a way to keep students focussed on learning.

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


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.
  •  Data collections and data structures
  • list — indexing again, slicing again, striding, nested lists.
  • Exercise:

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-else statements.
  • Exercise:

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

  • DataFrames: A new way to look at well logs.
  • 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: predicting a missing well log

Numpy and Pandas Image Preprocessing Supervised Learning

Projects you will build

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.