# Top 5 Python Libraries for Data Science
#
# 1) Tensor Flow Library :
#           For high performance numerical computation
#           Used across many scientific domains
#           Data in tensorflow are represented as tensors, which are multidimensional Arrays
# Features:
#           Used in deep learning models and neural networks
#           Better than Torch and thiano due to better visualizations
#           In neural machine translation, it reduces error by 50-60%
#           Parallel computing to execute complex models aka Pipelining
#           Seamless performance
#
# Applications:
#           Speech-Image recognition
#           Text based applications
#           Time Series
#           Video Detection
#
#
#
#
#
# 2) NumPy Library :
#           General Purpose Array-Processing package
#           NumPy is the fundamental package for numerical computation with python, it contains a powerful
#               N-Dimensional Array object
#           Provides fast precompiled functions for numerical routines
#           Array oriented computing for better performance
#           Supports object-oriented approach
#           Compact and faster Computations
# Features:
#           Provides fast precompiled functions for numerical routines
#           Array oriented  computing for Better efficiency
#           Supports Object-oriented approach
#           Compact and faster computations with vectorization

# Applications:
#           Used extensively in data analysis
#           Powerful in creation of n-dimensional array
#           Useful in machine learning models
#           Forms the base of the other libraries such as SciPy,Scikit-Learn
#           Machine learning models have the base of NumPy
#           Can act as a replacement for Matlab whn used with SciPy,Matpotlib
#
#
# 3) SciPy Library :
#           Used extensively in data analysis science for high level computations
# Features:
#           A large collection of algorithms and scientific functions built on NumPy
#           Has high level commands and classes for data manipulations and visualizations
#           Multi dimensional image processing with SciPy.ndimage
#           Includes functions for computing integrals numerically, solving differential equations,optimization, etc
#
# Applications:
#           Multi dimensional image operations
#           Solving differential equations
#           Optimization Algorithms
#           Linear Algebra
#
#
# 4) Pandas (MOST WIDELY USED):
#           PANDAS Stand for python data analysis
#           Used for data analysis and cleaning
# Features:
#           Eloquent syntax and Rich functionalities
#           'Apply()' enables you to run a function across a series of data
#           High Level Abstraction
#           Contains high-level data structures and manipulation tools
# Application:
#           General Data wrangling
#           Useful in ETL jobs in data storage and transformation
#           Used in varieties of Academic and commercial domains including statistics etc
#           Useful in time series specific functionality
#
#
# 5) MatPlotLib:
#           Plotting library for python
#           Used for data visualization
#           It provides an object-oriented API for embedding plots into applications
# Features:
#           As usable as matlab with an advantage of free and open source
#           Supports dozens of backend and output types
#           Pandas can itself be used a wrappers around MATPLOTLIB's API
#           Small memory consumption and very good runtime behaviour
# Applications:
#           Correlation of analysis of variables
#           Visualize 95% confidence intervals of the models
#           Outlier Detection
#           Visualizing the distributions to gain instant insights










