My Notes Day 2

 Short overview of Data Science:

Due to increase in the mobiles, cloud data etc. the source of Data has increased a lot.

Evolution of technology, social media data, iot data has impacted a lot in the increase of data sources. Moreover the online shopping data, education, banking and finance, media digitalization has increased the overall impact.

Data Science focuses on processing and analysis of the data.

Data science is a process of extracting the knowledge and insights form the data by using scientific methods.

Data Science-> Programming + Statistics + Business

Torture the data and it will confess to anything.

 Data Scientist  must be good inn Math, technology and the business

Skillset required: Statistics, Programming languages, Data Extraction and processing, Data wrangling and extrapolation, Machine Learning, Big Data processing frameworks, Data Visualization.

Statistics: Math for understanding the data

Programming: R, Python with sophisticated algorithms and libraries

Data extraction, processing, Data Wrangling and exploration: Determine uninit data or inconsistent and missing data and then cleaning data and try making sense of data

ML: Algorithm to make machine understand to process the data.

Big data processing frameworks: No traditional data processing-> Hadoop to be used.

*Data lifecycle:

Let us now just look at some of the Software engineering basics.

Data structures and algorithms notes:

Big Oh Notation:

  • Used for time complexity analysis.
  • Provides an abstract measurement by which we can judge the performance of algorithms without using mathematical proofs.

  • Cubic and exponential algorithm should only be used for very small problems (if exists), mostly try to avoid.

  • O(1) constant: Operation doesn't depend on the input example adding a node at tail of linked list
  • O(n) linear: Runtime complexity is directly proportional to size of n
  • O(log n) logarithmic: Normally, associated with the algorithm that break the problem into smaller chunks per each invocation example binary search tree
  • O(n log n): Usually with an algorithm that breaks the problem into smaller chunks per each invocation, then takes the results of these smaller chunks and stiches them back together example, quick sort.
  • O(n^2): Quadratic, bubble sort
  • O(n^3): very rare
  • O(2^n): incredibly rare
Sometimes algorithm designs are done for solving problems irrespective of how it works. Strongly these algorithms should be reviewed to optimize where possible, particularly loops and recursive calls so that you can get most efficient run times for your algorithm.
Big Oh notation is important as irrespective of the hardware to be used the algorithm gives better runtime results. For example quadratic and logarithmic algorithms are available for a problem, for sure one will go with the logarithmic algorithm as the input number increases in the quadratic it tends to infinity. Time taken by the logarithmic algorithm is very very less.

Oops concepts: Inheritance, Encapsulation, polymorphism

Pseudocode

Comments

Popular posts from this blog

Epoch 3: Solving problems by searching

My Notes Day 3

My notes Day 1