Types of Data

मशीन लर्निंग में किसी भी मॉडल की सफलता इस बात पर निर्भर करती है कि उसे कैसा डेटा (Data) दिया गया है।
डेटा कई प्रकार का हो सकता है — जैसे संख्यात्मक, श्रेणीक (categorical), इमेज, या टेक्स्ट। हर प्रकार के डेटा के लिए अलग तकनीक और मॉडलिंग की ज़रूरत होती है।


🔷 🔹 Why Understand Data Types?

ReasonBenefit
सही preprocessing चुननाEncoding, Scaling आदि के सही तरीके
Model compatibilityकौन सा मॉडल किस डेटा के साथ बेहतर काम करता है
Visualization & analysisसही insight निकालना संभव होता है

🔶 1. संरचित डेटा (Structured Data)

  • टेबल के रूप में होता है (rows और columns)
  • Excel, CSV, SQL database जैसे स्रोत

✅ उदाहरण:

NameAgeGenderSalary
Raj25Male₹30,000

🔶 2. अर्ध-संरचित डेटा (Semi-structured Data)

  • कुछ degree तक structure होता है
  • लेकिन rigid format नहीं होता
  • अक्सर key-value format में

✅ उदाहरण:

  • XML, JSON, YAML
{
"name": "Raj",
"age": 25,
"salary": 30000
}

🔶 3. असंरचित डेटा (Unstructured Data)

  • किसी fix format में नहीं होता
  • मशीन के लिए सीधे समझना कठिन होता है

✅ उदाहरण:

  • Text (e.g. tweets, reviews)
  • Images
  • Audio / Video

🔶 4. आंकड़ों के आधार पर डेटा के प्रकार (By Statistical Nature):

डेटा प्रकारविवरणउदाहरण
🔹 Numericalसंख्यात्मकउम्र, वेतन
🔹 Categoricalश्रेणीकGender, City
🔹 Ordinalक्रमबद्धRank (High, Medium, Low)
🔹 Time Seriesसमय आधारितStock prices
🔹 Textशब्द आधारितChat messages
🔹 Imageचित्र आधारितFace detection
🔹 Audioध्वनि आधारितVoice command

📊 Summary Table:

TypeFormatExampleML Techniques
StructuredTablesCSV, ExcelSupervised Learning
Semi-StructuredKey-ValueJSON/XMLNLP, API Parsing
UnstructuredFree-formText, ImageDeep Learning
NumericalNumbersSalary, HeightRegression
CategoricalLabelsGender, CityClassification
OrdinalOrdered LabelsLow < Medium < HighRanking Models
Time SeriesIndexed by timeStock, SensorRNN, LSTM
TextSentence/wordReviews, ChatNLP (BERT, RNN)
ImagePixelsPhotosCNN
AudioFrequencyVoiceAudio Processing (WaveNet, etc.)

📝 Practice Questions:

  1. Structured और Unstructured डेटा में क्या अंतर है?
  2. Semi-structured डेटा के 2 उदाहरण दीजिए।
  3. Numerical और Ordinal डेटा में क्या फ़र्क है?
  4. Time Series डेटा किस प्रकार के मॉडल के लिए उपयुक्त है?
  5. ChatGPT या Alexa जैसे मॉडल कौन से डेटा पर काम करते हैं?

Data & Feature Engineering in Machine Learning

अब हम 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 CleaningMissing values, Outliers हटाना
EncodingCategorical डेटा को संख्यात्मक बनाना
Scalingफीचर्स को समान स्केल पर लाना
Feature Creationनए सार्थक फीचर्स बनाना
Feature Selectionज़रूरी फीचर्स चुनना
Dimensionality Reductionअनावश्यक फीचर्स घटाना

🎯 निष्कर्ष / Conclusion:

“Garbage In → Garbage Out”
अगर डेटा और फीचर सही नहीं हैं, तो मॉडल का परफॉर्मेंस अच्छा नहीं होगा। इसलिए ML की सफलता का 70% हिस्सा डेटा और फीचर इंजीनियरिंग पर निर्भर करता है

Data Preprocessing + Feature Engineering Example

हम एक सिंपल टेबल डेटा लेंगे (उम्र, वेतन, जॉब टाइप), और इसे PyTorch में टेंसर बनाकर स्केल, एनकोड और ट्रेनिंग के लिए तैयार करेंगे।


📌 उदाहरण डेटा:

उम्र (Age)वेतन (Salary)नौकरी (Job)
2530000Yes
3545000No
4560000Yes

🔧 कोड:

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 1DataFrame बनाया
Step 2‘Job’ कॉलम को Encode किया
Step 3Features को Normalize किया
Step 4Features और Labels अलग किए
Step 5NumPy से PyTorch Tensor में बदला

📘 यह कोड खास तौर पर उपयोगी होगा:

  • Tabular Dataset पर Deep Learning Model चलाने से पहले
  • PyTorch में MLP (Multi-layer Perceptron) ट्रेन करने के लिए डेटा तैयार करने में

🔷 🔹 Why Data & Feature Engineering?

ReasonBenefit
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

ComponentDescription
Missing HandlingNaN या null को mean, median या drop से ठीक करना
EncodingLabelEncoder, OneHotEncoder आदि का उपयोग
ScalingMinMaxScaler, StandardScaler
Feature Creationनए meaningful features generate करना
Feature Selectionजरूरी features चुनना (correlation, RFE)
Dimensionality ReducePCA, AutoEncoder, UMAP, t-SNE आदि
PyTorch IntegrationNumPy arrays → torch.tensor में बदलना

📝 Practice Questions:

  1. PyTorch में MinMaxScaler और LabelEncoder का क्या उपयोग है?
  2. Feature Creation और Feature Selection में क्या अंतर है?
  3. Normalization और Standardization में क्या फ़र्क है?
  4. Dimensionality Reduction कब ज़रूरी होता है?
  5. PyTorch में NumPy array को tensor में कैसे बदला जाता है?

History and Evolution of Machine Learning

मशीन लर्निंग का इतिहास और विकास

अब हम Machine Learning के इतिहास और विकास (History and Evolution) को विस्तार से समझते हैं —


🕰️ प्रारंभिक चरण / Early Foundations (1950s – 1970s)

📌 1950 — Alan Turing और “Turing Test”

  • पहला बड़ा सवाल: “क्या मशीन सोच सकती है?”
  • ट्यूरिंग टेस्ट: यदि कोई इंसान और मशीन बातचीत करें और इंसान यह न पहचान पाए कि सामने वाला इंसान है या मशीन — तो वह AI कहलाएगा।

📌 1952 — Arthur Samuel का चेकर्स प्रोग्राम

  • यह पहला ML प्रोग्राम था जो खुद से चेकर्स खेलना सीखता था।

📌 1957 — Perceptron का आविष्कार

  • Frank Rosenblatt ने पहला आर्टिफिशियल न्यूरॉन मॉडल बनाया — जो Neural Networks का आधार बना।

📈 विकास की शुरुआत / Growth Phase (1980s – 1990s)

📌 1986 — Backpropagation Algorithm

  • Deep Neural Networks को ट्रेन करने की तकनीक विकसित हुई।

📌 1995 — SVM (Support Vector Machine)

  • एक शक्तिशाली Supervised Learning तकनीक, जो आज भी बहुत उपयोगी है।

📌 1997 — IBM Deep Blue ने शतरंज चैंपियन को हराया

  • मशीन लर्निंग और रणनीतिक सोच का बड़ा उदाहरण।

🚀 आधुनिक युग / Modern Era (2000s – 2010s)

📌 2006 — Geoffrey Hinton द्वारा “Deep Learning” शब्द की शुरुआत

  • डीप न्यूरल नेटवर्क्स की क्षमता दुनिया को समझ में आने लगी।

📌 2009 — Google Self-Driving Car Project

  • Reinforcement Learning और Computer Vision का प्रयोग।

📌 2012 — AlexNet ने ImageNet प्रतियोगिता जीती

  • CNN (Convolutional Neural Network) ने इमेज रिकग्निशन में क्रांति ला दी।

🤖 वर्तमान युग / Recent Advances (2015 – वर्तमान)

📌 2016 — AlphaGo ने दुनिया के GO चैम्पियन को हराया

  • Deep Reinforcement Learning का कमाल

📌 2018 — BERT मॉडल (Google)

  • NLP (Natural Language Processing) में क्रांतिकारी बदलाव

📌 2020 — OpenAI का GPT-3

  • मशीनें इंसानों जैसे टेक्स्ट लिखने में सक्षम हो गईं

📌 2022-2024 — ChatGPT, GPT-4, और AutoML टूल्स

  • अब ML मॉडल बिना कोडिंग के भी बनाए जा सकते हैं

🔍 सारांश तालिका / Timeline Table:

वर्षघटना
1950ट्यूरिंग टेस्ट का प्रस्ताव
1952पहला सीखने वाला गेम (Checkers)
1957पहला Perceptron मॉडल
1986Backpropagation का विकास
1997IBM Deep Blue बनाम Kasparov
2012AlexNet द्वारा ImageNet जीतना
2016AlphaGo द्वारा GO चैम्पियन को हराना
2018BERT NLP मॉडल
2020+GPT-3, GPT-4, Hugging Face, AutoML

🎯 निष्कर्ष / Conclusion:

Machine Learning ने पिछले 70 वर्षों में लंबा सफर तय किया है — खेलों से लेकर चिकित्सा, भाषा से लेकर रोबोटिक्स तक, यह हर क्षेत्र में गहराई से प्रवेश कर चुका है। अब इसका भविष्य और भी स्वचालित, शक्तिशाली और उपयोगी होगा।

Supervised vs Unsupervised vs Reinforcement Learning

आइए अब हम Machine Learning के तीनों मुख्य प्रकारों को एक साथ समझते हैं:


🔷 1️⃣ Supervised Learning

📌 परिभाषा:

Supervised Learning में मशीन को ऐसा डेटा दिया जाता है जिसमें इनपुट और उसका सही आउटपुट पहले से तय होता है (लेबल्ड डेटा)। मशीन उसी से पैटर्न सीखती है और भविष्य की भविष्यवाणी करती है।

🧠 उदाहरण:

इनपुट (Features)आउटपुट (Label)
उम्र = 25, वेतन = ₹30kलोन स्वीकृत (Yes)
उम्र = 45, वेतन = ₹60kलोन अस्वीकृत (No)

✅ उपयोग:

  • Spam detection
  • Disease prediction
  • Price prediction
  • Image classification

🔷 2️⃣ Unsupervised Learning

📌 परिभाषा:

Unsupervised Learning में मशीन को केवल इनपुट डेटा दिया जाता है, बिना किसी लेबल या सही उत्तर के। मशीन खुद डेटा के पैटर्न और समूह पहचानती है।

🧠 उदाहरण:

आपके पास ग्राहकों का खरीद डेटा है, लेकिन आप नहीं जानते कि कौन किस कैटेगरी का है — मशीन खुद समूह बना लेगी (क्लस्टरिंग)।

✅ उपयोग:

  • Customer segmentation
  • Market basket analysis
  • Anomaly detection
  • Recommendation systems

🔷 3️⃣ Reinforcement Learning

📌 परिभाषा:

इसमें एक Agent होता है जो Environment में काम करता है।
मशीन अपने एक्शन पर Reward (इनाम) या Penalty (सज़ा) पाती है और उसी से सीखती है।

🏆 उद्देश्य: सही नीति (Policy) सीखना जिससे अधिकतम Reward मिले।

🧠 उदाहरण:

  • गेम खेलना (e.g. Chess, Go)
  • Self-driving cars
  • Robotics

📊 तुलना तालिका / Comparison Table:

विशेषताSupervised LearningUnsupervised LearningReinforcement Learning
इनपुटलेबल्ड डेटाअनलेबल्ड डेटास्टेट्स और रिवॉर्ड
आउटपुटज्ञात (Known)अज्ञात (Unknown)सीखता है ट्रायल और एरर से
मुख्य उद्देश्यभविष्यवाणीपैटर्न खोजनासही एक्शन सीखना
एल्गोरिद्म उदाहरणLinear Regression, SVMK-Means, PCAQ-Learning, DQN
उपयोग क्षेत्रEmail spam, Disease detectionCustomer groupsगेम, रोबोटिक्स

📌 चित्र / Diagram:

            +-------------------+
| Machine Learning |
+-------------------+
|
--------------------------------
| | |
Supervised Unsupervised Reinforcement
(With labels) (No labels) (With reward)

🎯 निष्कर्ष / Conclusion:

  • Supervised Learning सिखाया जाता है (शिक्षक के साथ)
  • Unsupervised Learning खुद सीखता है (बिना शिक्षक के)
  • Reinforcement Learning अनुभव से सीखता है (इनाम और सज़ा से)

What is ML

मशीन लर्निंग (ML) क्या है?

🤖 मशीन लर्निंग क्या है?

Machine Learning (ML) कृत्रिम बुद्धिमत्ता (AI) का एक भाग है जिसमें कंप्यूटर को इस प्रकार सिखाया जाता है कि वह बिना स्पष्ट प्रोग्रामिंग के, अनुभव (data) से खुद सीख सके और निर्णय ले सके।

✅ सरल परिभाषा:
“Machine Learning एक तकनीक है जिसमें मशीनें स्वयं डेटा से सीखकर भविष्य की भविष्यवाणी करती हैं या निर्णय लेती हैं।”


🎓 एक लाइन में समझें:

AI = इंसानों जैसी बुद्धिमत्ता
ML = डेटा से सीखना और सुधार करना


📦 उदाहरण से समझें:

परंपरागत प्रोग्रामिंगमशीन लर्निंग
नियम (Rules) लिखकर प्रोग्राम बनाया जाता हैडेटा से मशीन खुद नियम सीखती है
“अगर” – “तो” (if-else) लॉजिक पर आधारितएल्गोरिद्म डेटा से पैटर्न निकालते हैं

उदाहरण:

  • आप Amazon पर मोबाइल देखते हैं और आपको वही या उससे मिलते-जुलते मोबाइल सुझाव में दिखते हैं — यही Machine Learning है।

📊 मशीन लर्निंग कैसे काम करता है?

  1. डेटा एकत्र करें
  2. डेटा को साफ और तैयार करें
  3. उपयुक्त एल्गोरिद्म चुनें
  4. मॉडल को ट्रेन करें (Train the model)
  5. मॉडल को टेस्ट करें (Evaluate)
  6. नई जानकारी पर प्रेडिक्शन करें

🧠 मशीन लर्निंग क्यों ज़रूरी है?

  • बड़े डेटा को मैन्युअली एनालाइज़ करना कठिन है
  • तेजी से सटीक निर्णय लेना
  • लगातार सुधार करने की क्षमता

🔍 वास्तविक दुनिया में कहां उपयोग होता है?

क्षेत्रउपयोग
हेल्थकेयररोगों की भविष्यवाणी
बैंकिंगधोखाधड़ी की पहचान
ई-कॉमर्सप्रोडक्ट सिफारिश
सोशल मीडियापोस्ट रैंकिंग, कंटेंट फिल्टर
कृषिफसल की बीमारी की पहचान

📌 निष्कर्ष / Conclusion:

  • मशीन लर्निंग वह तकनीक है जो कंप्यूटर को “अनुभव” से सीखने की शक्ति देती है।
  • यह आज की AI क्रांति की नींव है।
  • अगले अध्यायों में हम इसके तीन प्रमुख प्रकारों (Supervised, Unsupervised, Reinforcement) को गहराई से समझेंगे।