# Scalable Data Science

- Institution: IIT Gadhinagar IIT Kharagpur
- Department: Computer Science and Engineering
- Taught by: Prof. Anirban Dasgupta, Prof. Sourangshu Bhattacharya
- Level: Graduate
- Language: English
- Subjects: Computer science, Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/106105186)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/106105186)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

Consider the following example problems: One is interested in computing summary statistics (word count distributions) for a set of words which occur in the same document in entire Wikipedia collection (5 million documents). Naive techniques, will run out of main memory on most computers. One needs to train an SVM classifier for text categorization, with unigram features (typically ~10 million) for hundreds of classes. One would run out of main memory, if they store uncompressed model parameters in main memory. One is interested in learning either a supervised model or find unsupervised patterns, but the data is distributed over multiple machines. Communication being the bottleneck, naïve methods to adapt existing algorithms to such a distributed setting might perform extremely poorly. In all the above situations, a simple data mining / machine learning task has been made more complicated due to large scale of input data, output results or both. In this course, we discuss algorithmic techniques as well as software paradigms which allow one to develop scalable algorithms and systems for the common data science tasks.

INTENDED AUDIENCE : Computer Science and Engineering

PREREQUISITES : Algorithms, Machine Learning

INDUSTRY SUPPORT : Google, Microsoft, Facebook, Amazon, Flipkart, LinkedIn etc.

## Lectures

1. [Lecture 1 : Background: Introduction](https://invisiblenetwork.ai/learn/nptel/106105186/bd80908530a8) (YouTube)
2. [Lecture 2 : Probability: Concentration inequalities](https://invisiblenetwork.ai/learn/nptel/106105186/a695933b1d2b) (YouTube)
3. [Lecture 3 : Linear algebra: PCA, SVD](https://invisiblenetwork.ai/learn/nptel/106105186/d8d50c5b48fe) (YouTube)
4. [Lecture 4 : Optimization: Basics, Convex, GD](https://invisiblenetwork.ai/learn/nptel/106105186/5c9942f9d275) (YouTube)
5. [Lecture 5 : Machine Learning: Supervised, generalization, feature learning, clustering.](https://invisiblenetwork.ai/learn/nptel/106105186/7e96e3c653b2) (YouTube)
6. [Lecture 6 : Memory-efficient data structures: Hash functions, universal / perfect hash families](https://invisiblenetwork.ai/learn/nptel/106105186/d14235a93232) (YouTube)
7. [Lecture 7 : Bloom filters](https://invisiblenetwork.ai/learn/nptel/106105186/8ddfa54541d1) (YouTube)
8. [Lecture 8 : Sketches for distinct count](https://invisiblenetwork.ai/learn/nptel/106105186/b2b825c9575f) (YouTube)
9. [Lecture 9 : Sketches for distinct count (Contd.)](https://invisiblenetwork.ai/learn/nptel/106105186/bb807d0abbcf) (YouTube)
10. [Lecture 10 : Misra-Gries sketch](https://invisiblenetwork.ai/learn/nptel/106105186/dbc82e416a05) (YouTube)
11. [Lecture 11 : Frequent Element: Space Saving and Count Min.](https://invisiblenetwork.ai/learn/nptel/106105186/bb35f0983933) (YouTube)
12. [Lecture 12 : Frequent Element: Count Sketch](https://invisiblenetwork.ai/learn/nptel/106105186/c655824d321c) (YouTube)
13. [Lecture 13 : Near Neighbors](https://invisiblenetwork.ai/learn/nptel/106105186/7a4853917502) (YouTube)
14. [Lecture 14 : Locality Sensitive Hashing.](https://invisiblenetwork.ai/learn/nptel/106105186/5ba0e991c50e) (YouTube)
15. [Lecture 15 : Building LSH Tables.](https://invisiblenetwork.ai/learn/nptel/106105186/96b4b9600997) (YouTube)
16. [Lecture 16 : Approximate near neighbors search: Extensions e.g. multi-probe, b-bit hashing, Data dependent variants](https://invisiblenetwork.ai/learn/nptel/106105186/34efcb02cd29) (YouTube)
17. [Lecture 17 : Approximate near neighbors search: Extensions e.g. multi-probe, b-bit hashing, Data dependent variants (Contd.)](https://invisiblenetwork.ai/learn/nptel/106105186/794d693a5b5c) (YouTube)
18. [Lecture 18 : Approximate near neighbors search: Extensions e.g. multi-probe, b-bit hashing, Data dependent variants (Contd.)](https://invisiblenetwork.ai/learn/nptel/106105186/a0c1b59d672d) (YouTube)
19. [Lecture 19 : Randomized Numerical Linear Algebra: Random projection](https://invisiblenetwork.ai/learn/nptel/106105186/744766dfea9a) (YouTube)
20. [Lecture 20 : Randomized Numerical Linear Algebra: Random projection (Contd.)](https://invisiblenetwork.ai/learn/nptel/106105186/5730f6a2c5d5) (YouTube)
21. [Lecture 21 : Randomized Numerical Linear Algebra:a) Matrix multiplication + QB decomposition](https://invisiblenetwork.ai/learn/nptel/106105186/b500dfa14f0d) (YouTube)
22. [Lecture 22 : Randomized Numerical Linear Algebra:b) CUR+CX](https://invisiblenetwork.ai/learn/nptel/106105186/1dbb8e9aefd7) (YouTube)
23. [Lecture 23 : Randomized Numerical Linear Algebra:a) L2 regression using RP](https://invisiblenetwork.ai/learn/nptel/106105186/2355194580c5) (YouTube)
24. [Lecture 24 : Randomized Numerical Linear Algebra:b) Leverage scores](https://invisiblenetwork.ai/learn/nptel/106105186/a26e8fce4078) (YouTube)
25. [Lecture 25 : Randomized Numerical Linear Algebra:c) Hash Kernels + Kitchen Sink](https://invisiblenetwork.ai/learn/nptel/106105186/dbbecbb81cf0) (YouTube)
26. [Lecture 26 : Map-reduce and Hadoop](https://invisiblenetwork.ai/learn/nptel/106105186/416a503f63da) (YouTube)
27. [Lecture 27 : Hadoop System](https://invisiblenetwork.ai/learn/nptel/106105186/2557fbeb030d) (YouTube)
28. [Lecture 28 : Hadoop System(Contd.)](https://invisiblenetwork.ai/learn/nptel/106105186/2523a82fc1aa) (YouTube)
29. [Lecture 29 : Hadoop System(Contd.)](https://invisiblenetwork.ai/learn/nptel/106105186/5a8dfd1d1942) (YouTube)
30. [Lecture 30 : Spark](https://invisiblenetwork.ai/learn/nptel/106105186/e487fd5600e5) (YouTube)
31. [Lecture 31 : Spark(Contd.)](https://invisiblenetwork.ai/learn/nptel/106105186/d3d94b159005) (YouTube)
32. [Lecture 32 : Spark(Contd.)](https://invisiblenetwork.ai/learn/nptel/106105186/85a29366350c) (YouTube)
33. [Lecture 33 : Distributed Machine Learning and Optimization: Introduction](https://invisiblenetwork.ai/learn/nptel/106105186/9d5ad01ed754) (YouTube)
34. [Lecture 34 : SGD+Proof](https://invisiblenetwork.ai/learn/nptel/106105186/85f2cf43e6e2) (YouTube)
35. [Lecture 35 : SGD+Proof(Contd.)](https://invisiblenetwork.ai/learn/nptel/106105186/51b59384cd05) (YouTube)
36. [Lecture 36 : Distributed Machine Learning and Optimization: ADMM + applications](https://invisiblenetwork.ai/learn/nptel/106105186/20b6508fc332) (YouTube)
37. [Lecture 37 : Distributed Machine Learning and Optimization: ADMM + applications(Contd.)](https://invisiblenetwork.ai/learn/nptel/106105186/a5ce0d8a579d) (YouTube)
38. [Lecture 38 : Clustering](https://invisiblenetwork.ai/learn/nptel/106105186/9f396f41b08a) (YouTube)
39. [Lecture 39 : Clustering(Contd.)](https://invisiblenetwork.ai/learn/nptel/106105186/a7453cef0029) (YouTube)
40. [Lecture 40 : Conclusion](https://invisiblenetwork.ai/learn/nptel/106105186/62be8bb53712) (YouTube)
