पिछले पाठ में आपने सीखा कि डेटा AI का ईंधन है। लेकिन ईंधन अकेले कार नहीं चलाता — आपको इंजन चाहिए। AI में उस इंजन को एल्गोरिदम कहते हैं।
एल्गोरिदम बस एक स्टेप-बाय-स्टेप निर्देशों का सेट है किसी समस्या को हल करने के लिए।
आप पहले से ही रोज़ एल्गोरिदम फॉलो करते हैं:
सोचिए कि आप हर सुबह क्या पहनना है कैसे तय करते हैं। आप मौसम देखते हैं, अपने प्लान के बारे में सोचते हैं, देखते हैं क्या साफ है — यह एक एल्गोरिदम है! AI एल्गोरिदम भी ऐसा ही करते हैं, बस डेटा के साथ।
डिसीज़न ट्री हाँ/नहीं सवाल पूछकर निर्णय लेता है — जैसे "20 सवाल" खेल।
कल्पना करें कि आप तय कर रहे हैं बाहर खेलना है या नहीं:
बारिश हो रही है?
├── हाँ → अंदर रहो 🏠
└── नहीं → तापमान 15°C से ऊपर?
├── हाँ → बाहर खेलो! ⚽
└── नहीं → जैकेट पहनो और बाहर खेलो 🧥
हर नोड एक सवाल पूछता है, हर ब्रांच एक जवाब फॉलो करती है, हर लीफ अंतिम निर्णय देता है।
Random Forests सैकड़ों डिसीज़न ट्री को मिलाकर उन्हें "वोट" करवाते हैं। यह ऐसा है जैसे 500 लोगों से रास्ता पूछना और बहुमत के साथ जाना। इस सरल विचार से सटीकता बहुत बढ़ जाती है!
KNN "अपने पड़ोसियों से पूछो" एल्गोरिदम है। समान चीज़ें पास-पास होती हैं।
कल्पना करें आप नए शहर में जाते हैं और अच्छा रेस्तरां ढूंढना है। आप अपने नज़दीकी पड़ोसियों से पूछते हैं! अगर 5 में से 3 इटैलियन खाना सुझाएं, तो आप शायद इटैलियन ट्राई करेंगे।
KNN बिल्कुल ऐसे ही काम करता है:
from sklearn.neighbors import KNeighborsClassifier
# K=5 के साथ KNN मॉडल बनाएं और ट्रेन करें
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(X_train, y_train)
# नए डेटा पर प्रेडिक्ट करें
prediction = knn.predict(X_test)
print(f"सटीकता: {knn.score(X_test, y_test):.2%}")
KNN एक "आलसी लर्नर" है — यह ट्रेनिंग के दौरान कुछ नहीं सीखता! यह सारा डेटा याद रखता है और असली काम प्रेडिक्शन के समय दूरी गणना करके करता है।
लीनियर रिग्रेशन डेटा पॉइंट्स से एक लाइन खींचने की कला है। संख्या (श्रेणी नहीं) प्रेडिक्ट करने के लिए उपयोग होता है।
जितने ज़्यादा घंटे पढ़ाई, उतने ज़्यादा नंबर। ग्राफ पर यह ऊपर जाता दिखता है। लीनियर रिग्रेशन उन पॉइंट्स से सबसे अच्छी लाइन खींचता है।
y = mx + b
from sklearn.linear_model import LinearRegression
import numpy as np
# पढ़ाई के घंटे और टेस्ट स्कोर
hours = np.array([1, 2, 3, 4, 5, 6, 7, 8]).reshape(-1, 1)
scores = np.array([20, 35, 45, 55, 65, 75, 82, 90])
# मॉडल फिट करें
model = LinearRegression()
model.fit(hours, scores)
# 5.5 घंटे के लिए स्कोर प्रेडिक्ट करें
predicted = model.predict([[5.5]])
print(f"5.5 घंटे के लिए प्रेडिक्टेड स्कोर: {predicted[0]:.1f}")
| सवाल | डिसीज़न ट्री | KNN | लीनियर रिग्रेशन | |------|:---:|:---:|:---:| | श्रेणी प्रेडिक्ट करना? | ✅ | ✅ | ❌ | | संख्या प्रेडिक्ट करना? | ✅ | ✅ | ✅ | | निर्णय समझाना? | ✅✅ | ❌ | ✅ | | बहुत बड़ा डेटासेट? | ✅ | ❌ | ✅ | | लीनियर संबंध? | ❌ | ❌ | ✅✅ |
कोई एक "सबसे अच्छा" एल्गोरिदम नहीं है। सही चुनाव आपके डेटा और समस्या पर निर्भर करता है। डॉक्टर बीमारी डायग्नोस करने के लिए डिसीज़न ट्री पसंद कर सकता है क्योंकि यह बता सकता है क्यों वह डायग्नोसिस किया गया।
फिल्म रिकमेंड करने के लिए एक सरल डिसीज़न ट्री बनाएं!
क्या आपको कुछ मज़ेदार चाहिए?
├── हाँ → क्या आपको एनिमेटेड फिल्में पसंद हैं?
│ ├── हाँ → देखें "Inside Out 2" 🎭
│ └── नहीं → देखें "The Grand Budapest Hotel" 🏨
└── नहीं → क्या आपको एक्शन पसंद है?
├── हाँ → सुपरहीरो पसंद हैं?
│ ├── हाँ → देखें "Spider-Man: Across the Spider-Verse" 🕷️
│ └── नहीं → देखें "Top Gun: Maverick" ✈️
└── नहीं → सच्ची कहानी चाहिए?
├── हाँ → देखें "Hidden Figures" 🚀
└── नहीं → देखें "Interstellar" 🌌
def recommend_movie(funny, animated, action, superhero, true_story):
if funny:
if animated:
return "Inside Out 2 🎭"
else:
return "The Grand Budapest Hotel 🏨"
else:
if action:
if superhero:
return "Spider-Man: Across the Spider-Verse 🕷️"
else:
return "Top Gun: Maverick ✈️"
else:
if true_story:
return "Hidden Figures 🚀"
else:
return "Interstellar 🌌"
print(recommend_movie(funny=False, animated=False,
action=True, superhero=True,
true_story=False))
आपने अब तीन क्लासिक एल्गोरिदम से मुलाकात की। अगले पाठ में हम न्यूरल नेटवर्क जानेंगे — मस्तिष्क से प्रेरित एल्गोरिदम जो आधुनिक AI सफलताओं के पीछे हैं! 🧠