గత పాఠంలో మీరు డేటా 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 విజయాల వెనుక ఉన్న మెదడు-ప్రేరిత అల్గారిథమ్లు! 🧠