Python3
201 subscribers
102 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
پارت ۴: پیش‌بینی با مدل و ارزیابی نهایی 🏁

در این پارت، با هم به نحوه استفاده از مدل آموزش‌داده‌شده برای پیش‌بینی داده‌های جدید و انجام ارزیابی نهایی می‌پردازیم. همچنین به بررسی عملکرد مدل خواهیم پرداخت و نکات مهم در ارزیابی مدل را یاد می‌گیریم. 🎯

🧠 پیش‌بینی با مدل:
حالا که مدل رو آموزش دادیم، می‌خواهیم از اون برای پیش‌بینی داده‌های جدید استفاده کنیم. پیش‌بینی‌ها ممکنه شامل دسته‌بندی‌هایی از داده‌هایی باشند که قبلاً دیده نشده‌اند. در واقع، این مرحله به شما این امکان رو می‌ده که از مدل برای تصمیم‌گیری در دنیای واقعی استفاده کنید! 🌍

برای پیش‌بینی، تنها کافی‌ست که داده‌های جدید رو به مدل بدید و نتیجه رو دریافت کنید.

# پیش‌بینی با داده‌های جدید
new_data = [[2.3, 3.1, 0.8, 1.5]] # ویژگی‌های جدید
prediction = model.predict(new_data)

# نمایش پیش‌بینی
predicted_class = encoder.inverse_transform(prediction)
print(f'Predicted Class: {predicted_class[0]}')

🧑‍🏫 توضیح کد:
1. داده‌های جدید که می‌خواهیم پیش‌بینی کنیم رو به صورت یک لیست وارد می‌کنیم.
2. با استفاده از مدل آموزش‌داده‌شده، پیش‌بینی رو انجام می‌دهیم.
3. چون خروجی مدل ممکنه به صورت عددی باشه (برچسب‌ها به عدد تبدیل شدن)، از inverse_transform برای تبدیل این عددها به کلاس‌های اصلی استفاده می‌کنیم.

📊 ارزیابی نهایی:
برای ارزیابی نهایی عملکرد مدل، معمولاً از معیارهای مختلفی استفاده می‌کنیم. یکی از این معیارها F1-Score هست که ترکیبی از دقت و بازیابی (Precision and Recall) رو نمایش می‌ده و مخصوصاً در مشکلات با داده‌های نامتوازن مفید هست.

from sklearn.metrics import classification_report

# ارزیابی عملکرد مدل
print(classification_report(y_test, y_pred, target_names=encoder.classes_))

📊 گزارش ارزیابی:
- Precision: درصد پیش‌بینی‌های درست از کل پیش‌بینی‌های انجام‌شده برای هر کلاس.
- Recall: درصد پیش‌بینی‌های درست از کل داده‌هایی که مربوط به یک کلاس خاص بوده‌اند.
- F1-Score: میانگین هماهنگ دقت و بازیابی که معیار جامع‌تری برای ارزیابی مدل هست.

🔄 Cross-validation:
برای اطمینان از اینکه مدل به طور عمومی کار می‌کنه و در برابر داده‌های مختلف مقاوم هست، می‌تونیم از Cross-validation استفاده کنیم. این روش داده‌ها رو به بخش‌های مختلف تقسیم می‌کنه و مدل رو چندین بار آموزش می‌ده تا از overfitting جلوگیری کنه.

from sklearn.model_selection import cross_val_score

# ارزیابی مدل با Cross-validation
cv_scores = cross_val_score(model, X, y, cv=5) # تقسیم به 5 بخش
print(f'Cross-validation scores: {cv_scores}')
print(f'Mean CV score: {cv_scores.mean()}')

💡 نکات:
- Model Tuning: همیشه می‌تونید با تنظیم هایپرپارامترها مثل تعداد درخت‌ها یا عمق درخت‌ها، عملکرد مدل رو بهبود بدید.
- Ensemble Methods: ترکیب چند مدل می‌تونه باعث افزایش دقت و مقاوم‌تر شدن مدل بشه.
- تست مدل بر روی داده‌های جدید: اطمینان حاصل کنید که مدل شما می‌تونه پیش‌بینی‌های دقیقی برای داده‌های جدید و دیده‌نشده انجام بده.

🎉 نتیجه‌گیری:
حالا شما آماده‌اید که مدل‌های Multi-Class Classification رو در پروژه‌های مختلف خودتون پیاده‌سازی کنید! این الگوریتم یکی از کاربردی‌ترین روش‌ها برای دسته‌بندی داده‌ها به چندین کلاس مختلف هست و می‌تونه در انواع مشکلات یادگیری ماشین به شما کمک کنه. 🎓

[آموزش های بیشتر اینجا]

#پایتون #یادگیری_ماشین #پیش‌بینی #کلاسیفیکیشن #F1Score #ارزیابی #CrossValidation
👍1