CoderzColumn : Tutorials Home (Page: 4)

CoderzColumn Tutorials


Learning is a lifelong process. But you must know what, where, and how to learn? What skills to develop? What skills will help you boost your career? If not, you are at the right place! Our tutorial section at CoderzColumn is dedicated to providing you with all the practical lessons. It will give you the experience to learn Python for different purposes and code on your own. Our tutorials cover:

  • Python Programming - threading, multiprocessing, concurrent.futures, asyncio, queue, imaplib, smtplib, email, mimetypes, cprofile, profile, tracemalloc, logging, ipywidgets, beautifulsoup, filecmp, glob, shutil, tarfile, zipfile, argparse, datetime, traceback, abc, contextlib, warnings, dataclasses, re, difflib, textwrap, collections, heapq, bisect, weakref, configparser, signa, ipaddress, xarray, pandas, subprocess, sched, etc.
  • Artificial Intelligence - PyTorch, Keras, Tensorflow, JAX, MXNet, Torchvision, Torchtext, GluonCV, GluonNLP, etc
  • Machine Learning - Scikit-Learn, Statsmodels, XGBoost, CatBoost, LightGBM, optuna, scikit-optimize, hyperopt, bayes_opt, scikit-plot, lime, shap, eli5, etc.
  • Data Science - missingno, seaborn, pandas, sweetviz, numpy, networkx, xarray, awkward-array, etc.
  • Data Visualization - Matplotlib, Bokeh, Bqplot, Plotnine, Altair, Plotly, Cufflinks, Holoviews, dash, streamlit, panel, voila, bokeh, geopandas, geoviews, folium, ipyleaflet, geoplot, cartopy, etc.
  • Digital Marketing - SEO tactics, marketing strategies, Social Media marketing, and more.

For an in-depth understanding of the above concepts, check out the sections below.

Recent Tutorials


Tags eli5, interpret-ml-models
How to Use eli5 to Interpret ML Models and their Predictions [Python]?
Machine Learning

How to Use eli5 to Interpret ML Models and their Predictions [Python]?

A detailed guide on how to use Python library "eli5" to interpret/explain ML Models and their predictions. Tutorial explains simple sklearn ML Models trained on toy datasets to solve regression and classification tasks. It explains how to interpret predictions made by ML models on individual data examples. The usage of library is explained with structured data (tabular) as well as unstructured data (text).

Sunny Solanki  Sunny Solanki
Tags imap, read-mails, manage-mailbox
imaplib - Simple Guide to Manage Mailboxes (Gmail, Yahoo, etc) using Python
Python

imaplib - Simple Guide to Manage Mailboxes (Gmail, Yahoo, etc) using Python

A comprehensive guide on how to use Python library "imaplib" to manage mailboxes (Gmail, Yahoo, etc). Tutorial covers various operations with mailbox like login/logout, list/create/rename/delete directories, search emails, read emails, copy emails, delete emails, mark emails as read/unread, flag emails as important, etc. It uses IMAP4 protocol behind the scene to communicate with the mailbox server.

Sunny Solanki  Sunny Solanki
Tags lime, interpret-ml-models
How to Use LIME to Interpret Predictions of ML Models [Python]?
Machine Learning

How to Use LIME to Interpret Predictions of ML Models [Python]?

A detailed guide on how to use Python library lime (implements LIME algorithm) to interpret predictions made by Machine Learning (scikit-learn) models. LIME is commonly used to explain black-box as well as white-box ML models. We have explained usage for structured (tabular) as well as unstructured (image & text) data and classification as well as regression problems.

Sunny Solanki  Sunny Solanki
Tags cufflinks, plotly, pandas
cufflinks [Python] - How to create plotly charts from pandas dataframe with one line of code?
Data Science

cufflinks [Python] - How to create plotly charts from pandas dataframe with one line of code?

A detailed guide on how to use Python library "cufflinks" to create interactive data visualizations/charts. Cufflinks is built on top of Plotly and let us create charts by calling 'iplot()' method on Pandas dataframe. The 'iplot()' method tries to mimic 'plot()' API (matplotlib) of pandas dataframe to generate charts but uses Plotly.

Sunny Solanki  Sunny Solanki
Tags profiling, memory_profiler
memory_profiler: How to Profile Memory Usage in Python?
Python

memory_profiler: How to Profile Memory Usage in Python?

A detailed guide on how to use Python library "memory_profiler" to profile memory usage by Python code/script/program and processes. Tutorial covers various ways of profiling with "memory_profiler" like "@profile decorator", "mprof shell command", "memory_usage() function", etc. It even covers how to use "memory_profiler" in Jupyter notebook using "%mprun" and "%memit" magic commands.

Sunny Solanki  Sunny Solanki
Tags sankey-diagram, holoviews, plotly
How to Create Sankey Diagrams (Alluvial) in Python (holoviews & plotly)?
Data Science

How to Create Sankey Diagrams (Alluvial) in Python (holoviews & plotly)?

A detailed guide to creating Sankey Diagram (Alluvial Diagram) using Python data visualization libraries Plotly and Holoviews (Bokeh & Matplotlib). The charts are interactive and visualized in Jupyter Notebooks.

Sunny Solanki  Sunny Solanki
Tags missing-data, visualization
missingno - Visualize Missing Values (NaNs / Null Values) Distribution in Datasets [Python]
Data Science

missingno - Visualize Missing Values (NaNs / Null Values) Distribution in Datasets [Python]

Tutorial explains how to use Python module "missingno" to analyze the distribution of missing data (NaNs/NULLs/None Values) in our datasets. It let us create various charts to visualize the spread of missing data from various angles which can help us make better decisions.

Sunny Solanki  Sunny Solanki
Tags python, multiprocessing, threadpool, processpool
concurrent.futures: High-Level Multithreading and Multiprocessing API in Python
Python

concurrent.futures: High-Level Multithreading and Multiprocessing API in Python

A comprehensive guide on how to use Python module "concurrent.futures" for multitasking (Multithreading & Multiprocessing). The "concurrent.futures" module provides a very high-level API that let us create a pool of workers (threads/processes) to which we can submit tasks for completion. It'll take care of handling resources and we don't need to do much low-level coding that we have to do if we use "threading" or "multiprocessing" modules.

Sunny Solanki  Sunny Solanki
Tags ipywidgets, notebook
ipywidgets  - An In-depth Guide to Interactive Widgets in Jupyter Notebook [Python]
Python

ipywidgets - An In-depth Guide to Interactive Widgets in Jupyter Notebook [Python]

A detailed guide on how to use Python library ipywidgets that let us create widgets (dropdown, radio buttons, checkboxes, buttons, etc) in Jupyter notebooks. These widgets let us add interactivity to our notebooks. It can be linked to various data viz libraries to make charts interactive like dashboards and web apps.

Sunny Solanki  Sunny Solanki
Tags gluoncv, image-classification, pre-trained-networ…
MXNet (GluonCV): Image Classification using Pre-Trained Models
Artificial Intelligence

MXNet (GluonCV): Image Classification using Pre-Trained Models

A brief guide on how to use pre-trained MXNet networks (GluonCV) for image classification tasks. GluonCV is an image processing toolkit of MXNet and provides many famous pre-trained networks like ResNet, VGG, InceptionNet, MobileNet, DenseNet, AlexNet, etc.

Sunny Solanki  Sunny Solanki
Parallel Computing using Python

Parallel Computing using Python


Parallel Computing is a type of computation where tasks are assigned to individual processes for completion. These processes can be running on a single computer or cluster of computers. Parallel Computing makes multi-tasking super fast.

Python provides different libraries (joblib, dask, ipyparallel, etc) for performing parallel computing.

Concurrent Programming in Python

Concurrent Programming in Python


Concurrent computing is a type of computing where multiple tasks are executed concurrently. Concurrent programming is a type of programming where we divide a big task into small tasks and execute these tasks in parallel. These tasks can be executed in parallel using threads or processes.

Python provides various libraries (threading, multiprocessing, concurrent.futures, asyncio, etc) to create concurrent code.

Visualize Machine Learning Metrics

Visualize Machine Learning Metrics


Once our Machine Learning model is trained, we need some way to evaluate its performance. We need to know whether our model has generalized or not.

For this, various metrics (confusion matrix, ROC AUC curve, precision-recall curve, silhouette Analysis, elbow method, etc) are designed over time. These metrics help us understand the performance of our models trained on various tasks like classification, regression, clustering, etc.

Python has various libraries (scikit-learn, scikit-plot, yellowbrick, interpret-ml, interpret-text, etc) to calculate and visualize these metrics.

Interpret Predictions Of ML Models

Interpret Predictions Of ML Models


After training ML Model, we generally evaluate the performance of model by calculating and visualizing various ML Metrics (confusion matrix, ROC AUC curve, precision-recall curve, silhouette Analysis, elbow method, etc).

These metrics are normally a good starting point. But in many situations, they don’t give a 100% picture of model performance. E.g., A simple cat vs dog image classifier can be using background pixels to classify images instead of actual object (cat or dog) pixels.

In these situations, our ML metrics will give good results. But we should always be a little skeptical of model performance.

We can dive further deep and try to understand how our model is performing on an individual example by interpreting results. Various algorithms have been developed over time to interpret predictions of ML models and many Python libraries (lime, eli5, treeinterpreter, shap, etc) provide their implementation.

Python Data Visualization Libraries

Python Data Visualization Libraries


Data Visualization is a field of graphical representation of information / data. It is one of the most efficient ways of communicating information with users as humans are quite good at capturing patterns in data.

Python has a bunch of libraries that can help us create data visualizations. Some of these libraries (matplotlib, seaborn, plotnine, etc) generate static charts whereas others (bokeh, plotly, bqplot, altair, holoviews, cufflinks, hvplot, etc) generate interactive charts. Majority of basic visualizations like bar charts, line charts, scatter plots, histograms, box plots, pie charts, etc are supported by all libraries. Many libraries also support advanced visualization, widgets, and dashboards.

Advanced Data Visualizations using Python

Advanced Data Visualizations using Python


Basic Data Visualizations like bar charts, line charts, scatter plots, histograms, box plots, pie charts, etc are quite good at representing information and exploring relationships between data variables.

But sometimes these visualizations are not enough and we need to analyze data from different perspectives. For this purpose, many advanced visualizations are developed over time like Sankey diagrams, candlestick charts, network charts, chord diagrams, sunburst charts, radar charts, parallel coordinates charts, etc. Python has many data visualization libraries that let us create such advanced data visualizations.

Python Deep Learning Libraries

Python Deep Learning Libraries


Deep learning is a field in Machine Learning that uses deep neural networks to solve tasks. The neural networks with generally more than one hidden layer are referred to as deep neural networks.

Many real-world tasks like object detection, image classification, image segmentation, etc can not be solved with simple machine learning models (decision trees, random forest, logistic regression, etc). Research has shown that neural networks with many layers are quite good at solving these kinds of tasks involving unstructured data (Image, text, audio, video, etc). Deep neural networks nowadays can have different kinds of layers like convolution, recurrent, etc apart from dense layers.

Python has many famous deep learning libraries (PyTorch, Keras, JAX, Flax, MXNet, Tensorflow, Sonnet, Haiku, PyTorch Lightning, Scikeras, Skorch, etc) that let us create deep neural networks to solve complicated tasks.

Image Classification

Image Classification


Image classification is a sub-field under computer vision and image processing that identifies an object present in an image and assigns a label to an image based on it. Image classification generally works on an image with a single object present in it.

Over the years, many deep neural networks (VGG, ResNet, AlexNet, MobileNet, etc) were developed that solved image classification task with quite a high accuracy. Due to the high accuracy of these algorithms, many Python deep learning libraries started providing these neural networks. We can simply load these networks with weights and make predictions using them.

Python libraries PyTorch and MXNet have helper modules named 'torchvision' and 'gluoncv’ respectively that provide an implementation of image classification networks.