рдЕрдм рд╣рдо Machine Learning рдХреЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ:
ЁЯза 1. рдбреЗрдЯрд╛ рдХреНрдпрд╛ рд╣реИ? / What is Data?
рдбреЗрдЯрд╛ рд╡рд╣ рдХрдЪреНрдЪрд╛ рдЗрдирдкреБрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбрд▓ рдХреБрдЫ рд╕реАрдЦрддрд╛ рд╣реИред
рдпрд╣ рд╕рдВрдЦреНрдпрд╛рдУрдВ, рд╢рдмреНрджреЛрдВ, рдЗрдореЗрдЬ рдпрд╛ рдСрдбрд┐рдпреЛ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
ЁЯСЙ рдЙрджрд╛рд╣рд░рдг:
рдЙрдореНрд░ | рд╡реЗрддрди | рдиреМрдХрд░реА | рд▓реЛрди рд╕реНрд╡реАрдХреГрдд? |
---|---|---|---|
25 | тВ╣30k | рд╣рд╛рдБ | рдирд╣реАрдВ |
ЁЯУж 2. рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рдХрд╛рд░ / Types of Data:
рдкреНрд░рдХрд╛рд░ | рд╡рд┐рд╡рд░рдг | рдЙрджрд╛рд╣рд░рдг |
---|---|---|
Structured | рдЯреЗрдмрд▓ рдлреЙрд░реНрдо рдореЗрдВ рдбреЗрдЯрд╛ | Excel рд╢реАрдЯ, SQL |
Unstructured | рдЗрдореЗрдЬ, рдЯреЗрдХреНрд╕реНрдЯ, рдСрдбрд┐рдпреЛ | рдлреЛрдЯреЛ, рдИрдореЗрд▓ |
Semi-structured | рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЯреЗрдмрд▓ | JSON, XML |
ЁЯз╣ 3. рдбреЗрдЯрд╛ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ / Data Preprocessing
рдбреЗрдЯрд╛ рдХреЛ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╕реНрдЯреЗрдк рд╣реИред
ЁЯЫая╕П рдЗрд╕рдореЗрдВ рдореБрдЦреНрдп рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВ:
ЁЯФ╣ A. Missing Values рдХреЛ рд╣реИрдВрдбрд▓ рдХрд░рдирд╛
- NaN рдпрд╛ null рдХреЛ рд╣рдЯрд╛рдирд╛ / рднрд░рдирд╛
ЁЯФ╣ B. Encoding Categorical Data
- рдиреМрдХрд░реА = тАЬрд╣рд╛рдБтАЭ / тАЬрдирд╣реАрдВтАЭ рдХреЛ 1/0 рдореЗрдВ рдмрджрд▓рдирд╛ (Label Encoding)
ЁЯФ╣ C. Normalization / Scaling
- рд╕рднреА рдлреАрдЪрд░реНрд╕ рдХреЛ рдПрдХ рд╕рдорд╛рди рд╕реНрдХреЗрд▓ рдкрд░ рд▓рд╛рдирд╛
рдЙрдореНрд░ = 25 рд╕реЗ 60 тЖТ [0, 1] рд╕реНрдХреЗрд▓ рдореЗрдВ </br>
X_scaled = (X – min) / (max – min)
ЁЯФ╣ D. Outlier Detection
- рдРрд╕реЗ рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕ рдЬреЛ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИрдВ тАФ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рдирд╛
ЁЯПЧя╕П 4. рдлреАрдЪрд░ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреНрдпрд╛ рд╣реИ? / What is Feature Engineering?
Feature Engineering рдХрд╛ рдЕрд░реНрде рд╣реИ:
“рдбреЗрдЯрд╛ рд╕реЗ рдРрд╕реЗ рд╡рд┐рд╢реЗрд╖ рдЧреБрдг (features) рдирд┐рдХрд╛рд▓рдирд╛ рдЬреЛ рдореЙрдбрд▓ рдХреЛ рдмреЗрд╣рддрд░ рд╕реАрдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВред”
ЁЯУМ рдлреАрдЪрд░ = рд╡рд╣ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИ
ЁЯФз 5. рдлреАрдЪрд░ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреА рддрдХрдиреАрдХреЗрдВ / Techniques of Feature Engineering:
ЁЯФ╣ A. Feature Creation (рдирдП рдлреАрдЪрд░реНрд╕ рдмрдирд╛рдирд╛)
рдЙрджрд╛рд╣рд░рдг:
рдЬрдиреНрдорддрд┐рдерд┐ тЖТ рдЙрдореНрд░
тАЬTotal PurchaseтАЭ + тАЬDiscountтАЭ тЖТ Final Price
ЁЯФ╣ B. Feature Selection (рдмреЗрд╣рддрд░ рдлреАрдЪрд░ рдЪреБрдирдирд╛)
рд╕рд┐рд░реНрдл рд╡рд╣реА рдлреАрдЪрд░ рд░рдЦреЗрдВ рдЬреЛ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рд╕рдмрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрдВред
рдЙрдкрдпреЛрдЧреА рддрдХрдиреАрдХреЗрдВ:
- Correlation Matrix
- Mutual Information
- Recursive Feature Elimination (RFE)
ЁЯФ╣ C. Dimensionality Reduction (рдлрд╝реАрдЪрд░ рдШрдЯрд╛рдирд╛)
- рдЬрдм рдлреАрдЪрд░реНрд╕ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛрдВ (High Dimensional Data)
- рддрдХрдиреАрдХ: PCA (Principal Component Analysis)
ЁЯдЦ рдЙрджрд╛рд╣рд░рдг:
from sklearn.preprocessing import LabelEncoder, MinMaxScaler
import pandas as pd
data = pd.DataFrame({
'Age': [25, 32, 40],
'Job': ['Yes', 'No', 'Yes'],
'Salary': [30000, 50000, 60000]
})
# Categorical Encoding
le = LabelEncoder()
data['Job'] = le.fit_transform(data['Job'])
# Scaling
scaler = MinMaxScaler()
data[['Age', 'Salary']] = scaler.fit_transform(data[['Age', 'Salary']])
ЁЯУК Summary Table:
Step | рдХрд╛рд░реНрдп |
---|---|
Data Cleaning | Missing values, Outliers рд╣рдЯрд╛рдирд╛ |
Encoding | Categorical рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдмрдирд╛рдирд╛ |
Scaling | рдлреАрдЪрд░реНрд╕ рдХреЛ рд╕рдорд╛рди рд╕реНрдХреЗрд▓ рдкрд░ рд▓рд╛рдирд╛ |
Feature Creation | рдирдП рд╕рд╛рд░реНрдердХ рдлреАрдЪрд░реНрд╕ рдмрдирд╛рдирд╛ |
Feature Selection | рдЬрд╝рд░реВрд░реА рдлреАрдЪрд░реНрд╕ рдЪреБрдирдирд╛ |
Dimensionality Reduction | рдЕрдирд╛рд╡рд╢реНрдпрдХ рдлреАрдЪрд░реНрд╕ рдШрдЯрд╛рдирд╛ |
ЁЯОп рдирд┐рд╖реНрдХрд░реНрд╖ / Conclusion:
“Garbage In тЖТ Garbage Out”
рдЕрдЧрд░ рдбреЗрдЯрд╛ рдФрд░ рдлреАрдЪрд░ рд╕рд╣реА рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдореЙрдбрд▓ рдХрд╛ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП ML рдХреА рд╕рдлрд▓рддрд╛ рдХрд╛ 70% рд╣рд┐рд╕реНрд╕рд╛ рдбреЗрдЯрд╛ рдФрд░ рдлреАрдЪрд░ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
Data Preprocessing + Feature Engineering Example
рд╣рдо рдПрдХ рд╕рд┐рдВрдкрд▓ рдЯреЗрдмрд▓ рдбреЗрдЯрд╛ рд▓реЗрдВрдЧреЗ (рдЙрдореНрд░, рд╡реЗрддрди, рдЬреЙрдм рдЯрд╛рдЗрдк), рдФрд░ рдЗрд╕реЗ PyTorch рдореЗрдВ рдЯреЗрдВрд╕рд░ рдмрдирд╛рдХрд░ рд╕реНрдХреЗрд▓, рдПрдирдХреЛрдб рдФрд░ рдЯреНрд░реЗрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗред
ЁЯУМ рдЙрджрд╛рд╣рд░рдг рдбреЗрдЯрд╛:
рдЙрдореНрд░ (Age) | рд╡реЗрддрди (Salary) | рдиреМрдХрд░реА (Job) |
---|---|---|
25 | 30000 | Yes |
35 | 45000 | No |
45 | 60000 | Yes |
ЁЯФз рдХреЛрдб:
import torch
import pandas as pd
from sklearn.preprocessing import LabelEncoder, MinMaxScaler
# -------------------------------
# Step 1: Raw Data Load
# -------------------------------
data = pd.DataFrame({
'Age': [25, 35, 45],
'Salary': [30000, 45000, 60000],
'Job': ['Yes', 'No', 'Yes'],
'Approved': [1, 0, 1] # Target label
})
# -------------------------------
# Step 2: Label Encode 'Job'
# -------------------------------
le = LabelEncoder()
data['Job'] = le.fit_transform(data['Job']) # 'Yes'тЖТ1, 'No'тЖТ0
# -------------------------------
# Step 3: Feature Scaling
# -------------------------------
scaler = MinMaxScaler()
data[['Age', 'Salary']] = scaler.fit_transform(data[['Age', 'Salary']])
# -------------------------------
# Step 4: Split Features & Labels
# -------------------------------
X = data[['Age', 'Salary', 'Job']].values # Features
y = data['Approved'].values # Labels
# -------------------------------
# Step 5: Convert to PyTorch tensors
# -------------------------------
X_tensor = torch.tensor(X, dtype=torch.float32)
y_tensor = torch.tensor(y, dtype=torch.float32).unsqueeze(1)
# -------------------------------
# Output for verification
# -------------------------------
print("Features Tensor:\n", X_tensor)
print("Labels Tensor:\n", y_tensor)
ЁЯУд Output (рдЙрджрд╛рд╣рд░рдг):
Features Tensor:
tensor([[0.0000, 0.0000, 1.0000],
[0.5000, 0.5000, 0.0000],
[1.0000, 1.0000, 1.0000]])
Labels Tensor:
tensor([[1.],
[0.],
[1.]])
ЁЯФН рдЗрд╕ рдХреЛрдб рдореЗрдВ рд╣рдордиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛:
рдЪрд░рдг | рдХрд╛рд░реНрдп |
---|---|
Step 1 | DataFrame рдмрдирд╛рдпрд╛ |
Step 2 | ‘Job’ рдХреЙрд▓рдо рдХреЛ Encode рдХрд┐рдпрд╛ |
Step 3 | Features рдХреЛ Normalize рдХрд┐рдпрд╛ |
Step 4 | Features рдФрд░ Labels рдЕрд▓рдЧ рдХрд┐рдП |
Step 5 | NumPy рд╕реЗ PyTorch Tensor рдореЗрдВ рдмрджрд▓рд╛ |
ЁЯУШ рдпрд╣ рдХреЛрдб рдЦрд╛рд╕ рддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛:
- Tabular Dataset рдкрд░ Deep Learning Model рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ
- PyTorch рдореЗрдВ MLP (Multi-layer Perceptron) рдЯреНрд░реЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ
ЁЯФ╖ ЁЯФ╣ Why Data & Feature Engineering?
Reason | Benefit |
---|---|
Raw Data рдХреЛ рд╕рд╛рдл рдХрд░рдирд╛ | рдореЙрдбрд▓ training рдореЗрдВ noise рдФрд░ errors рдХрдо рд╣реЛрддреЗ рд╣реИрдВ |
Features рдХреЛ encode/scaling рдХрд░рдирд╛ | рдбреЗрдЯрд╛ рдХреЛ рдЧрдгрд┐рддреАрдп рд░реВрдк рд╕реЗ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдмрдирд╛рдирд╛ |
рдЕрдЪреНрдЫреЗ Features рдирд┐рдХрд╛рд▓рдирд╛ | Accuracy, Generalization рдФрд░ Explainability рдмрдврд╝рд╛рдирд╛ |
ЁЯФ╢ 1. рдбреЗрдЯрд╛ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ (Data Preprocessing)
рдбреЗрдЯрд╛ рдХреЛ model рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рдирд╛:
тЬЕ Missing Values рд╣рдЯрд╛рдирд╛ рдпрд╛ рднрд░рдирд╛
тЬЕ Categorical Data рдХреЛ Encode рдХрд░рдирд╛
тЬЕ Scaling / Normalization
тЬЕ Outlier рдХреЛ detect рдФрд░ handle рдХрд░рдирд╛
ЁЯФ╢ 2. рдлреАрдЪрд░ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ
ЁЯФ╣ 2.1 Feature Creation
рдЬреИрд╕реЗ:
- рдЬрдиреНрдорддрд┐рдерд┐ тЖТ рдЙрдореНрд░
- Final Price = Price – Discount
ЁЯФ╣ 2.2 Feature Selection
рд╕рд┐рд░реНрдл рд╡реЗ features рдЬреЛ target рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрдВ (correlation рдЖрджрд┐ рд╕реЗ рдЪреБрдиреЗ рдЧрдП)
ЁЯФ╣ 2.3 Dimensionality Reduction
High-dimensional рдбреЗрдЯрд╛ рдХреЛ PCA рдпрд╛ Autoencoder рдЬреИрд╕реЗ рддрд░реАрдХреЛрдВ рд╕реЗ рдХрдо рдХрд░рдирд╛
ЁЯФ╖ ЁЯФз PyTorch рдХреЛрдб рдЙрджрд╛рд╣рд░рдг
import torch
import pandas as pd
from sklearn.preprocessing import LabelEncoder, MinMaxScaler
# Step 1: Raw Data
data = pd.DataFrame({
'Age': [25, 35, 45],
'Salary': [30000, 45000, 60000],
'Job': ['Yes', 'No', 'Yes'],
'Approved': [1, 0, 1]
})
# Step 2: Encode categorical feature
le = LabelEncoder()
data['Job'] = le.fit_transform(data['Job'])
# Step 3: Scaling
scaler = MinMaxScaler()
data[['Age', 'Salary']] = scaler.fit_transform(data[['Age', 'Salary']])
# Step 4: Separate X and y
X = data[['Age', 'Salary', 'Job']].values
y = data['Approved'].values
# Step 5: Convert to tensors
X_tensor = torch.tensor(X, dtype=torch.float32)
y_tensor = torch.tensor(y, dtype=torch.float32).unsqueeze(1)
print("Features:\n", X_tensor)
print("Labels:\n", y_tensor)
ЁЯФЪ Summary Table
Component | Description |
---|---|
Missing Handling | NaN рдпрд╛ null рдХреЛ mean, median рдпрд╛ drop рд╕реЗ рдареАрдХ рдХрд░рдирд╛ |
Encoding | LabelEncoder, OneHotEncoder рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ |
Scaling | MinMaxScaler, StandardScaler |
Feature Creation | рдирдП meaningful features generate рдХрд░рдирд╛ |
Feature Selection | рдЬрд░реВрд░реА features рдЪреБрдирдирд╛ (correlation, RFE) |
Dimensionality Reduce | PCA, AutoEncoder, UMAP, t-SNE рдЖрджрд┐ |
PyTorch Integration | NumPy arrays тЖТ torch.tensor рдореЗрдВ рдмрджрд▓рдирд╛ |
ЁЯУЭ Practice Questions:
- PyTorch рдореЗрдВ
MinMaxScaler
рдФрд░LabelEncoder
рдХрд╛ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рд╣реИ? - Feature Creation рдФрд░ Feature Selection рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ?
- Normalization рдФрд░ Standardization рдореЗрдВ рдХреНрдпрд╛ рдлрд╝рд░реНрдХ рд╣реИ?
- Dimensionality Reduction рдХрдм рдЬрд╝рд░реВрд░реА рд╣реЛрддрд╛ рд╣реИ?
- PyTorch рдореЗрдВ NumPy array рдХреЛ tensor рдореЗрдВ рдХреИрд╕реЗ рдмрджрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ?