Feature Selection & Feature Extraction

मशीन लर्निंग में सही फीचर्स (गुण) चुनना और नए उपयोगी फीचर्स बनाना मॉडल की दक्षता और सटीकता को कई गुना बढ़ा सकता है। यह प्रक्रिया दो भागों में बाँटी जाती है:
🔹 Feature Selection (चयन)
🔹 Feature Extraction (नव-निर्माण)


🔷 Why Feature Selection & Extraction?

ReasonBenefit
Less ComplexityModel simple और fast होता है
Overfitting से बचावUnnecessary features हटाने से accuracy बढ़ती है
Better PerformanceRelevant features रखने से result अच्छा आता है
Visualization आसान होती हैDimensionality घटाने से data समझना आसान होता है

🔶 1. Feature Selection (फीचर चयन)

📌 क्या है?

डेटा में से सबसे ज़रूरी और उपयोगी फीचर्स को चुनना, बाकी को हटाना। इससे model तेज़, सटीक और आसान बनता है।

✅ मुख्य तरीके:

तरीकाविवरण
Filter MethodsStatistics जैसे correlation, chi-square आदि के आधार पर फीचर्स चुनना
Wrapper Methodsहर फीचर सेट पर मॉडल train करके best चुनना (जैसे RFE)
Embedded Methodsमॉडल खुद feature चुनता है (जैसे Lasso, Decision Trees)

🛠️ Python Code Example (Correlation Method):

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# Correlation Matrix
corr = df.corr()
sns.heatmap(corr, annot=True, cmap='coolwarm')
plt.show()

🔶 2. Feature Extraction (फीचर नव-निर्माण)

📌 क्या है?

मौजूदा फीचर्स से नए meaningful फीचर्स बनाना, या features को lower dimensions में compress करना

उदाहरण:
Image data → Raw pixels को CNN features में बदला जाता है
Text data → TF-IDF या Word Embedding बनाया जाता है


✅ मुख्य तरीके:

तरीकाविवरण
PCA (Principal Component Analysis)Variance-preserving compressed representation
LDA (Linear Discriminant Analysis)Class separation के लिए feature reduce
AutoencodersDeep Learning आधारित compressed features
TF-IDF / Word2VecText से semantic features बनाना

🛠️ Python Code Example (PCA):

from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler

# Step 1: Scaling
scaler = StandardScaler()
X_scaled = scaler.fit_transform(df)

# Step 2: Apply PCA
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_scaled)

print("Reduced Features:\n", X_pca)

🔍 Feature Selection vs Feature Extraction

ComparisonFeature SelectionFeature Extraction
उद्देश्यसबसे अच्छे मौजूदा फीचर्स चुननानए meaningful फीचर्स बनाना
Feature Countकम होता हैअलग set of features बनते हैं
Technique ExamplesCorrelation, RFE, LassoPCA, Autoencoders, Word2Vec
व्याख्या आसान हैहाँकभी-कभी नहीं (PCA जैसे में)

📊 Summary Table:

TaskTool/Technique
SelectionCorrelation, Chi-square, RFE
EmbeddedLasso, Decision Tree
ExtractionPCA, LDA, Autoencoder
Text ExtractionTF-IDF, Word2Vec, BERT

📝 Practice Questions:

  1. Feature Selection और Feature Extraction में क्या अंतर है?
  2. PCA का क्या उपयोग है और कब किया जाता है?
  3. Wrapper method और Filter method में क्या फ़र्क है?
  4. Autoencoder का उपयोग feature extraction में कैसे होता है?
  5. Embedded Method का उदाहरण दीजिए।