Data Science Tutorials

“Data science” is just about as broad of a term as they come. It may be easiest to describe what it is by listing its more concrete components:

Data exploration & analysis.

  • Included here: Pandas; NumPy; SciPy; a helping hand from Python’s Standard Library.

Data visualization. A pretty self-explanatory name. Taking data and turning it into something colorful.

  • Included here: Matplotlib; Seaborn; Datashader; others.

Classical machine learning. Conceptually, we could define this as any supervised or unsupervised learning task that is not deep learning (see below). Scikit-learn is far-and-away the go-to tool for implementing classification, regression, clustering, and dimensionality reduction, while StatsModels is less actively developed but still has a number of useful features.

  • Included here: Scikit-Learn, StatsModels.

Deep learning. This is a subset of machine learning that is seeing a renaissance, and is commonly implemented with Keras, among other libraries. It has seen monumental improvements over the last ~5 years, such as AlexNet in 2012, which was the first design to incorporate consecutive convolutional layers.

  • Included here: Keras, TensorFlow, and a whole host of others.

Data storage and big data frameworks. Big data is best defined as data that is either literally too large to reside on a single machine, or can’t be processed in the absence of a distributed environment. The Python bindings to Apache technologies play heavily here.

  • Apache Spark; Apache Hadoop; HDFS; Dask; h5py/pytables.

Odds and ends. Includes subtopics such as natural language processing, and image manipulation with libraries such as OpenCV.

  • Included here: nltk; Spacy; OpenCV/cv2; scikit-image; Cython.

All data science tutorials at Real Python: