# Memo on artificial intelligence, machine learning, deep learning and big data

- Transfer

For several months, we collected reminders on artificial intelligence, which we occasionally shared with friends and colleagues. Recently, a whole collection has been formed, and we have added descriptions and / or quotes to the reminders to make it more interesting to read. And at the end you will find a selection of the complexity of the "Big O" (Big-O). Enjoy.

*UPD. Many pictures will be more readable if you open them in separate tabs or save to disk.*

## Neural networks

*Memo on neural networks*

#### Neural Network Graphs

*Memo on graphs of neural networks*

*Memo on neural networks*

## Machine Learning Overview

*Memo on machine learning*

#### Scikit-learn Algorithm

This machine learning guide will help you find the right algorithm for evaluation, which is the most difficult part of the job. A flowchart will help check the documentation and set the general direction for each algorithm. This will allow you to better understand the problems you face and how to solve them.

**Scikit-learn**(formerly known as

**scikits.learn**) is a free machine learning library for Python. It includes various types of classification , regression and clustering algorithms , including support vector machine algorithm the Random forest ( «a random forest"), gradient boosting , the method

*k*-meansand DBSCAN . Scikit-learn is designed to interact with the computational and scientific libraries of Python NumPy and SciPy .

*Scikit-learn Memo*

## Memo on machine learning algorithms

This memo from Microsoft Azure will help you choose the right machine learning algorithms for your predictive analytic solution. First, the memo will ask about the nature of the data, and then advise the best algorithm.

#### Python for Data Science

*Python Memo for Data Science*

*Big*

*Data*

*Memo*

#### Tensorflow

In May 2017, Google announced the second-generation TPU, as well as their availability in the Google Compute Engine . The second-generation TPUs have a capacity of up to 180 teraflops, while clustering 64 TPU - up to 11.5 petaflops.

*TensorFlow Memo*

#### Keras

In 2017, the TensorFlow team at Google decided to embed Keras support into the main TensorFlow library. Chollet explained that Keras is an interface rather than an end-to-end machine learning system. It provides a higher-level, more intuitive set of abstractions that simplifies the configuration of neural networks, regardless of the scientific computing library used in the backend

#### Numpy

NumPy is intended for Cpython , the reference implementation of Python, which is a non-optimizing bytecode interpreter. Mathematical algorithms written for this version of Python often work much slower than compiled analogs. The NumPy library partially solves the problem of speed due to multidimensional arrays, as well as functions and operators optimized for working with arrays. It will be necessary to rewrite part of the code using NumPy, mainly internal loops.

*Memo by NumPy*

#### Pandas

The name “Pandas” is derived from the econometric term “ panel data ”, which is used for multidimensional structured data sets.

*Pandas Memo*

## Data wrangling

Data Wrangling (

*“grazing” of data, primary data processing*) - this term begins to penetrate into pop culture. In the 2017 film “Kong: Skull Island”, one of the characters is presented as “Steve Woodward, our data wrangler”.

*Memo by Data Wrangling*

*Memo by Pandas Data Wrangling*

#### Data Wrangling with dplyr and tidyr

*Data Wrangling Memo with dplyr and tidyr*

*Data Wrangling Memo with dplyr and tidyr*

## Scipy

SciPy is based on the NumPy array object. This library is part of the NumPy stack, which includes tools such as Matplotlib , Pandas, and SymPy , as well as an expanding set of libraries for scientific computing. The NumPy stack and MATLAB , GNU Octave and Scilab applications have the same user audience. The NumPy stack is also sometimes called the SciPy stack.

*SciPy Memo*

## Matplotlib

Matplotlib is a graphing library for Python and its computational mathematical extension NumPy. It provides an object-oriented API for embedding graphs in applications using universal GUI tools, such as Tkinter , wxPython , Qt , or GTK + . There is also a state-of-the-art pylab-based procedural interface (for example, OpenGL) designed to be like MATLAB , although its use is not recommended. SciPy uses matplotlib.

Pyplot is a matplotlib module that provides an interface like MATLAB. Matplotlib is used in the same way as MATLAB, allows you to use Python, and is also free.

*Memo by Matplotlib*

## Data visualization

*Memo on data visualization*

*Memo by ggplot*

## Pyspark

*PySpark Memo*

## “Oh Big” (Big-O)

*Memo on the complexity of algorithms*

*Memo on the complexity of algorithms*

*Memo on the complexity of operations with data structures in algorithms*

*Memo on the complexity of algorithms for sorting an array*

## Sources

Guide to the complexity of algorithms

Poster Bokeh

Guide to Data Science

Guide to Data Wrangling

Poster Ggplot

Poster Keras

reminder of machine learning

memo on machine learning

memo on machine learning

Poster Matplotlib

reminder of neural networks

memo on graphs of neural networks

Neural networks

Poster Numpy

reminder of Pandas

Memo by Pandas

Memo by Pyspark

Memo by Scikit

Memo by Scikit-learn

Memo by Scipy

Memo by TensorFlow