Some useful PYTHON libraries for data science
NumPy stands for Numerical Python. The most powerful feature of NumPy is n-dimensional array. This library also contains basic linear algebra functions, Fourier transforms, advanced random number capabilities and tools for integration with other low level languages like Fortran, C and C++
SciPy stands for Scientific Python. SciPy is built on NumPy. It is one of the most useful library for variety of high level science and engineering modules like discrete Fourier transform, Linear Algebra, Optimization and Sparse matrices.
Matplotlib for plotting vast variety of graphs, starting from histograms to line plots to heat plots.. You can use Pylab feature in ipython notebook (ipython notebook –pylab = inline) to use these plotting features inline. If you ignore the inline option, then pylab converts ipython environment to an environment, very similar to Matlab. You can also use Latex commands to add math to your plot.
Pandas for structured data operations and manipulations. It is extensively used for data munging and preparation. Pandas were added relatively recently to Python and have been instrumental in boosting Python’s usage in data scientist community.
Scikit Learn for machine learning. Built on NumPy, SciPy and matplotlib, this library contains a lot of efficient tools for machine learning and statistical modeling including classification, regression, clustering and dimensionality reduction.
Statsmodels for statistical modeling. Statsmodels is a Python module that allows users to explore data, estimate statistical models, and perform statistical tests. An extensive list of descriptive statistics, statistical tests, plotting functions, and result statistics are available for different types of data and each estimator.
Seaborn for statistical data visualization. Seaborn is a library for making attractive and informative statistical graphics in Python. It is based on matplotlib. Seaborn aims to make visualization a central part of exploring and understanding data.
Bokeh for creating interactive plots, dashboards and data applications on modern web-browsers. It empowers the user to generate elegant and concise graphics in the style of D3.js. Moreover, it has the capability of high-performance interactivity over very large or streaming datasets.
Blaze for extending the capability of Numpy and Pandas to distributed and streaming datasets. It can be used to access data from a multitude of sources including Bcolz, MongoDB, SQLAlchemy, Apache Spark, PyTables, etc. Together with Bokeh, Blaze can act as a very powerful tool for creating effective visualizations and dashboards on huge chunks of data.
Scrapy for web crawling. It is a very useful framework for getting specific patterns of data. It has the capability to start at a website home url and then dig through web-pages within the website to gather information.
SymPy for symbolic computation. It has wide-ranging capabilities from basic symbolic arithmetic to calculus, algebra, discrete mathematics and quantum physics. Another useful feature is the capability of formatting the result of the computations as LaTeX code.
Requests for accessing the web. It works similar to the the standard python library urllib2 but is much easier to code. You will find subtle differences with urllib2 but for beginners, Requests might be more convenient.
Additional libraries, you might need:
os for Operating system and file operations
networkx and igraph for graph based data manipulations
regular expressions for finding patterns in text data
BeautifulSoup for scrapping web. It is inferior to Scrapy as it will extract information from just a single webpage in a run.
NumPy stands for Numerical Python. The most powerful feature of NumPy is n-dimensional array. This library also contains basic linear algebra functions, Fourier transforms, advanced random number capabilities and tools for integration with other low level languages like Fortran, C and C++
SciPy stands for Scientific Python. SciPy is built on NumPy. It is one of the most useful library for variety of high level science and engineering modules like discrete Fourier transform, Linear Algebra, Optimization and Sparse matrices.
Matplotlib for plotting vast variety of graphs, starting from histograms to line plots to heat plots.. You can use Pylab feature in ipython notebook (ipython notebook –pylab = inline) to use these plotting features inline. If you ignore the inline option, then pylab converts ipython environment to an environment, very similar to Matlab. You can also use Latex commands to add math to your plot.
Pandas for structured data operations and manipulations. It is extensively used for data munging and preparation. Pandas were added relatively recently to Python and have been instrumental in boosting Python’s usage in data scientist community.
Scikit Learn for machine learning. Built on NumPy, SciPy and matplotlib, this library contains a lot of efficient tools for machine learning and statistical modeling including classification, regression, clustering and dimensionality reduction.
Statsmodels for statistical modeling. Statsmodels is a Python module that allows users to explore data, estimate statistical models, and perform statistical tests. An extensive list of descriptive statistics, statistical tests, plotting functions, and result statistics are available for different types of data and each estimator.
Seaborn for statistical data visualization. Seaborn is a library for making attractive and informative statistical graphics in Python. It is based on matplotlib. Seaborn aims to make visualization a central part of exploring and understanding data.
Bokeh for creating interactive plots, dashboards and data applications on modern web-browsers. It empowers the user to generate elegant and concise graphics in the style of D3.js. Moreover, it has the capability of high-performance interactivity over very large or streaming datasets.
Blaze for extending the capability of Numpy and Pandas to distributed and streaming datasets. It can be used to access data from a multitude of sources including Bcolz, MongoDB, SQLAlchemy, Apache Spark, PyTables, etc. Together with Bokeh, Blaze can act as a very powerful tool for creating effective visualizations and dashboards on huge chunks of data.
Scrapy for web crawling. It is a very useful framework for getting specific patterns of data. It has the capability to start at a website home url and then dig through web-pages within the website to gather information.
SymPy for symbolic computation. It has wide-ranging capabilities from basic symbolic arithmetic to calculus, algebra, discrete mathematics and quantum physics. Another useful feature is the capability of formatting the result of the computations as LaTeX code.
Requests for accessing the web. It works similar to the the standard python library urllib2 but is much easier to code. You will find subtle differences with urllib2 but for beginners, Requests might be more convenient.
Additional libraries, you might need:
os for Operating system and file operations
networkx and igraph for graph based data manipulations
regular expressions for finding patterns in text data
BeautifulSoup for scrapping web. It is inferior to Scrapy as it will extract information from just a single webpage in a run.
❤7
What does KNN stand for?
Anonymous Quiz
6%
A) Known Nearest Network
86%
B) K-Nearest Neighbors
6%
C) Kernel Neighbor Node
1%
D) Key Number Network
❤1
What does the value of K represent in KNN?
Anonymous Quiz
4%
A) Number of features
30%
B) Number of clusters
63%
C) Number of nearest neighbors
3%
D) Number of datasets
❤2
How does KNN make predictions?
Anonymous Quiz
3%
A) Using equations
92%
B) Using nearest data points
4%
C) Random prediction
1%
D) Using trees only
❤3
Which distance method is commonly used in KNN?
Anonymous Quiz
13%
A) Manhattan Distance
70%
B) Euclidean Distance
10%
C) Hamming Distance
7%
D) Cosine Similarity
❤2
What is a disadvantage of KNN?
Anonymous Quiz
8%
A) Easy to understand
16%
B) No training phase
71%
C) Slow for large datasets
5%
D) Simple implementation
❤2😁1
✅ Support Vector Machine (SVM) Basics 🤖📈
👉 SVM is a powerful Machine Learning algorithm mainly used for classification problems.
It tries to find the best boundary (hyperplane) that separates different classes.
🔹 1. What is SVM?
SVM = Support Vector Machine
👉 It separates data into categories by creating a decision boundary.
Example:
✔ Spam vs Not Spam
✔ Cat vs Dog
✔ Fraud vs Normal Transaction
🔥 2. How SVM Works
👉 SVM finds the optimal hyperplane that maximizes the margin between classes.
Important Terms ⭐
✔ Hyperplane → Decision boundary
✔ Margin → Distance between boundary and nearest points
✔ Support Vectors → Closest data points to boundary
🔹 3. Example
Imagine two groups of points:
🔵 Blue points
🔴 Red points
SVM draws the best line separating them.
🔹 4. Types of SVM
✅ Linear SVM
👉 Used when data is linearly separable.
✅ Non-Linear SVM
👉 Uses Kernel Trick for complex data.
Popular kernels:
✔ Linear
✔ Polynomial
✔ RBF (Radial Basis Function)
🔹 5. Implementation (Python)
🔹 6. Advantages ⭐
✔ Works well with high-dimensional data
✔ Effective for classification
✔ Powerful for complex datasets
🔹 7. Disadvantages
❌ Slow for very large datasets
❌ Harder to interpret
❌ Sensitive to parameter tuning
🔹 8. Why SVM is Important?
✔ Popular interview topic
✔ Used in image classification & NLP
✔ Powerful classification algorithm
🎯 Today’s Goal
✔ Understand hyperplane & margin
✔ Learn support vectors
✔ Understand kernels
👉 SVM = Smart boundary-based classification 🔥
💬 Tap ❤️ for more!
👉 SVM is a powerful Machine Learning algorithm mainly used for classification problems.
It tries to find the best boundary (hyperplane) that separates different classes.
🔹 1. What is SVM?
SVM = Support Vector Machine
👉 It separates data into categories by creating a decision boundary.
Example:
✔ Spam vs Not Spam
✔ Cat vs Dog
✔ Fraud vs Normal Transaction
🔥 2. How SVM Works
👉 SVM finds the optimal hyperplane that maximizes the margin between classes.
Important Terms ⭐
✔ Hyperplane → Decision boundary
✔ Margin → Distance between boundary and nearest points
✔ Support Vectors → Closest data points to boundary
🔹 3. Example
Imagine two groups of points:
🔵 Blue points
🔴 Red points
SVM draws the best line separating them.
🔹 4. Types of SVM
✅ Linear SVM
👉 Used when data is linearly separable.
✅ Non-Linear SVM
👉 Uses Kernel Trick for complex data.
Popular kernels:
✔ Linear
✔ Polynomial
✔ RBF (Radial Basis Function)
🔹 5. Implementation (Python)
from sklearn.svm import SVC
# Sample data
X = [[1], [2], [3], [4]]
y = [0, 0, 1, 1]
model = SVC()
model.fit(X, y)
print(model.predict([[3]]))
🔹 6. Advantages ⭐
✔ Works well with high-dimensional data
✔ Effective for classification
✔ Powerful for complex datasets
🔹 7. Disadvantages
❌ Slow for very large datasets
❌ Harder to interpret
❌ Sensitive to parameter tuning
🔹 8. Why SVM is Important?
✔ Popular interview topic
✔ Used in image classification & NLP
✔ Powerful classification algorithm
🎯 Today’s Goal
✔ Understand hyperplane & margin
✔ Learn support vectors
✔ Understand kernels
👉 SVM = Smart boundary-based classification 🔥
💬 Tap ❤️ for more!
❤21👏3
What does SVM stand for?
Anonymous Quiz
10%
A) Statistical Vector Model
76%
B) Support Vector Machine
11%
C) Supervised Vector Method
2%
D) Support Variable Machine
What is the main purpose of SVM?
Anonymous Quiz
9%
A) Data cleaning
25%
B) Clustering
60%
C) Classification
6%
D) Visualization
🥰2
Which kernel is commonly used in non-linear SVM?
Anonymous Quiz
23%
A) Binary kernel
29%
B) Matrix kernel
45%
C) RBF kernel
3%
D) Table kernel
❤1🙏1
What are Support Vectors?
Anonymous Quiz
8%
A) Random points
25%
B) Farthest points from boundary
58%
C) Closest points to boundary
10%
D) Cluster centers
❤1
What is the decision boundary in SVM called?
Anonymous Quiz
15%
A) Margin
61%
B) Hyperplane
21%
C) Kernel
4%
D) Cluster
👏2😢1
✅ Clustering with K-Means Algorithm 📊🤖
👉 K-Means is one of the most popular unsupervised learning algorithms. It groups similar data points into clusters.
🔹 1. What is Clustering?
Clustering = Grouping similar data together
👉 No labels are provided. The algorithm finds hidden patterns automatically.
Examples:
✔ Customer segmentation
✔ Grouping similar products
✔ Image compression
🔥 2. What is K-Means?
K-Means divides data into K clusters.
👉 Each cluster has a center called Centroid.
🔹 3. How K-Means Works
Step-by-step:
1️⃣ Choose number of clusters (K)
2️⃣ Select random centroids
3️⃣ Assign points to nearest centroid
4️⃣ Update centroid positions
5️⃣ Repeat until stable
🔹 4. Example
👉 Customer Segmentation
Customers are grouped based on:
✔ Age
✔ Income
✔ Spending habits
🔹 5. Implementation (Python)
🔹 6. Important Terms ⭐
✔ Cluster → Group of similar points
✔ Centroid → Center of cluster
✔ K → Number of clusters
🔹 7. Choosing Best K (Elbow Method) ⭐
👉 Elbow Method helps find optimal K.
The graph looks like an elbow 🔻
🔹 8. Advantages
✔ Simple and fast
✔ Works well for grouped data
✔ Easy to implement
🔹 9. Disadvantages
❌ Need to choose K manually
❌ Sensitive to outliers
❌ Not good for irregular shapes
🔹 10. Why K-Means is Important?
✔ Used in recommendation systems
✔ Customer segmentation
✔ Market analysis
🎯 Today’s Goal
✔ Understand clustering
✔ Learn centroids & clusters
✔ Implement K-Means
👉 K-Means = Finding hidden groups in data 🔥
💬 Tap ❤️ for more!
👉 K-Means is one of the most popular unsupervised learning algorithms. It groups similar data points into clusters.
🔹 1. What is Clustering?
Clustering = Grouping similar data together
👉 No labels are provided. The algorithm finds hidden patterns automatically.
Examples:
✔ Customer segmentation
✔ Grouping similar products
✔ Image compression
🔥 2. What is K-Means?
K-Means divides data into K clusters.
👉 Each cluster has a center called Centroid.
🔹 3. How K-Means Works
Step-by-step:
1️⃣ Choose number of clusters (K)
2️⃣ Select random centroids
3️⃣ Assign points to nearest centroid
4️⃣ Update centroid positions
5️⃣ Repeat until stable
🔹 4. Example
👉 Customer Segmentation
Customers are grouped based on:
✔ Age
✔ Income
✔ Spending habits
🔹 5. Implementation (Python)
from sklearn.cluster import KMeans
# Sample data
X = [[1], [2], [10], [11]]
model = KMeans(n_clusters=2)
model.fit(X)
print(model.labels_)
🔹 6. Important Terms ⭐
✔ Cluster → Group of similar points
✔ Centroid → Center of cluster
✔ K → Number of clusters
🔹 7. Choosing Best K (Elbow Method) ⭐
👉 Elbow Method helps find optimal K.
The graph looks like an elbow 🔻
🔹 8. Advantages
✔ Simple and fast
✔ Works well for grouped data
✔ Easy to implement
🔹 9. Disadvantages
❌ Need to choose K manually
❌ Sensitive to outliers
❌ Not good for irregular shapes
🔹 10. Why K-Means is Important?
✔ Used in recommendation systems
✔ Customer segmentation
✔ Market analysis
🎯 Today’s Goal
✔ Understand clustering
✔ Learn centroids & clusters
✔ Implement K-Means
👉 K-Means = Finding hidden groups in data 🔥
💬 Tap ❤️ for more!
❤14👏2🔥1
K-Means belongs to which type of Machine Learning?
Anonymous Quiz
27%
A) Supervised Learning
10%
B) Reinforcement Learning
59%
C) Unsupervised Learning
4%
D) Deep Learning
❤3
What does the “K” in K-Means represent?
Anonymous Quiz
9%
A) Number of features
81%
B) Number of clusters
5%
C) Number of rows
5%
D) Number of algorithms
❤4👍1
What is the center of a cluster called?
Anonymous Quiz
5%
A) Margin
17%
B) Hyperplane
74%
C) Centroid
5%
D) Vector
❤2😁1
Which method is commonly used to find the best value of K?
Anonymous Quiz
7%
A) Pie Method
9%
B) Bar Method
55%
C) Elbow Method
28%
D) Scatter Method
❤3🔥1
Which of the following is a real-world application of K-Means?
Anonymous Quiz
79%
A) Customer segmentation
13%
B) Sorting files
4%
C) Writing code
4%
D) Database backup
❤2🔥1🤔1😢1
✅ PCA (Principal Component Analysis) Basics 📉🤖
👉 PCA is a Dimensionality Reduction technique used to simplify large datasets while keeping important information.
🔹 1. What is Dimensionality Reduction?
👉 Reducing the number of features columns in data.
Example:
Instead of 100 features → reduce to 10 important features.
✔ Faster training
✔ Better visualization
✔ Reduced complexity
🔥 2. What is PCA?
PCA = Principal Component Analysis
👉 It transforms data into new components called:
✔ Principal Components
These components capture the maximum variance in data.
🔹 3. Why PCA is Important?
✔ Reduces high-dimensional data
✔ Improves model performance
✔ Helps avoid overfitting
✔ Useful for visualization
🔹 4. How PCA Works (Simple Idea)
1️⃣ Find directions with maximum variance
2️⃣ Create principal components
3️⃣ Keep most important components
4️⃣ Remove less useful information
🔹 5. Example
👉 Suppose dataset has:
• Height
• Weight
• BMI
• Body Fat
Many features may contain similar information.
PCA combines them into fewer components.
🔹 6. Important Terms ⭐
✔ Variance → Spread of data
✔ Principal Component → New feature
✔ Explained Variance → Information retained
🔹 7. Implementation (Python)
🔹 8. Advantages
✔ Faster ML models
✔ Reduces noise
✔ Better visualization
🔹 9. Disadvantages
❌ Hard to interpret transformed features
❌ Possible information loss
🔹 10. Real-World Uses
✔ Image compression
✔ Face recognition
✔ Big data preprocessing
🎯 Today’s Goal
✔ Understand dimensionality reduction
✔ Learn principal components
✔ Understand variance concept
👉 PCA = Compressing data intelligently 🔥
💬 Tap ❤️ for more!
👉 PCA is a Dimensionality Reduction technique used to simplify large datasets while keeping important information.
🔹 1. What is Dimensionality Reduction?
👉 Reducing the number of features columns in data.
Example:
Instead of 100 features → reduce to 10 important features.
✔ Faster training
✔ Better visualization
✔ Reduced complexity
🔥 2. What is PCA?
PCA = Principal Component Analysis
👉 It transforms data into new components called:
✔ Principal Components
These components capture the maximum variance in data.
🔹 3. Why PCA is Important?
✔ Reduces high-dimensional data
✔ Improves model performance
✔ Helps avoid overfitting
✔ Useful for visualization
🔹 4. How PCA Works (Simple Idea)
1️⃣ Find directions with maximum variance
2️⃣ Create principal components
3️⃣ Keep most important components
4️⃣ Remove less useful information
🔹 5. Example
👉 Suppose dataset has:
• Height
• Weight
• BMI
• Body Fat
Many features may contain similar information.
PCA combines them into fewer components.
🔹 6. Important Terms ⭐
✔ Variance → Spread of data
✔ Principal Component → New feature
✔ Explained Variance → Information retained
🔹 7. Implementation (Python)
from sklearn.decomposition import PCA
import numpy as np
X = np.array([
[1,2],
[3,4],
[5,6]
])
pca = PCA(n_components=1)
X_pca = pca.fit_transform(X)
print(X_pca)
🔹 8. Advantages
✔ Faster ML models
✔ Reduces noise
✔ Better visualization
🔹 9. Disadvantages
❌ Hard to interpret transformed features
❌ Possible information loss
🔹 10. Real-World Uses
✔ Image compression
✔ Face recognition
✔ Big data preprocessing
🎯 Today’s Goal
✔ Understand dimensionality reduction
✔ Learn principal components
✔ Understand variance concept
👉 PCA = Compressing data intelligently 🔥
💬 Tap ❤️ for more!
❤15🤩1
What does PCA stand for?
Anonymous Quiz
7%
A) Primary Component Analysis
75%
B) Principal Component Analysis
14%
C) Predictive Cluster Algorithm
4%
D) Principal Cluster Analysis
❤1