Python3
201 subscribers
103 photos
6 videos
26 files
519 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
پروژه سطح متوسط: پیش‌بینی نوع گل با استفاده از آغازگر Iris Dataset 🌸

در این پروژه، از الگوریتم مولتی کلاس کلاسیفیکیشن برای پیش‌بینی نوع گل‌ها با استفاده از مجموعه داده‌های معروف Iris Dataset استفاده می‌کنیم. این پروژه به شما کمک می‌کند تا مفهوم استفاده از الگوریتم‌ها برای حل مشکلات دنیای واقعی رو بیشتر درک کنید. 🧠

مراحل پروژه:

1. وارد کردن و آماده‌سازی داده‌ها
2. آموزش مدل
3. پیش‌بینی و ارزیابی مدل

۱. وارد کردن و آماده‌سازی داده‌ها:
در ابتدا، از مجموعه داده Iris که شامل اطلاعاتی مانند طول و عرض گلبرگ‌ها و ساقه است، برای پیش‌بینی نوع گل استفاده می‌کنیم.

# وارد کردن کتابخانه‌های لازم
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report, accuracy_score

# بارگذاری داده‌های Iris
data = load_iris()

# تبدیل داده‌ها به DataFrame برای راحتی بیشتر
df = pd.DataFrame(data.data, columns=data.feature_names)
df['target'] = data.target

# نمایش چند ردیف اول داده‌ها
print(df.head())

توضیح:
- ما از کتابخانه sklearn.datasets برای بارگذاری مجموعه داده Iris استفاده کردیم.
- ویژگی‌های گل (طول و عرض گلبرگ و ساقه) در data.data و برچسب‌ها (نوع گل) در data.target قرار دارند.

۲. آموزش مدل:
حالا که داده‌ها رو آماده کردیم، مدل Random Forest رو برای آموزش انتخاب می‌کنیم.

# تقسیم داده‌ها به ویژگی‌ها و برچسب‌ها
X = df.drop('target', axis=1)
y = df['target']

# تقسیم داده‌ها به مجموعه‌های آموزشی و آزمایشی
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# ایجاد مدل Random Forest
model = RandomForestClassifier(n_estimators=100, random_state=42)

# آموزش مدل
model.fit(X_train, y_train)

توضیح:
- train_test_split داده‌ها رو به دو بخش آموزشی و آزمایشی تقسیم می‌کنه. 70% داده‌ها برای آموزش و 30% برای ارزیابی مدل استفاده می‌شود.
- مدل Random Forest رو با 100 درخت برای آموزش انتخاب می‌کنیم.

۳. پیش‌بینی و ارزیابی مدل:
بعد از آموزش مدل، از داده‌های آزمایشی برای پیش‌بینی استفاده می‌کنیم و سپس دقت مدل رو بررسی می‌کنیم.

# پیش‌بینی با داده‌های آزمایشی
y_pred = model.predict(X_test)

# نمایش دقت مدل
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy * 100:.2f}%')

# نمایش گزارش کامل ارزیابی
print(classification_report(y_test, y_pred))

توضیح:
- با استفاده از predict پیش‌بینی‌ها رو روی داده‌های آزمایشی انجام می‌دیم.
- از accuracy_score برای محاسبه دقت مدل استفاده می‌کنیم.
- گزارش کامل ارزیابی با استفاده از classification_report شامل دقت، بازیابی و F1-Score برای هر کلاس نمایش داده می‌شود.

۴. نتیجه‌گیری:
در این پروژه، مدل Random Forest رو برای دسته‌بندی انواع گل‌های موجود در مجموعه داده Iris آموزش دادیم. پس از آموزش، پیش‌بینی‌هایی برای داده‌های آزمایشی انجام دادیم و دقت مدل رو بررسی کردیم.

خروجی‌های ممکن:
- دقت مدل ممکنه حدود 97-99% باشه، که نشان‌دهنده دقت بالای مدل برای این مجموعه داده خاص است.
- گزارش ارزیابی مدل شامل معیارهایی مثل Precision، Recall و F1-Score برای هر کلاس (در اینجا، هر نوع گل) ارائه می‌شود.

نکات پیشرفته:
- شما می‌توانید از GridSearchCV برای تنظیم هایپرپارامترهای مدل استفاده کنید.
- در پروژه‌های بزرگ‌تر، باید از Cross-validation استفاده کنید تا مدل رو روی داده‌های مختلف تست کنید.

نتیجه نهایی:
این پروژه به شما کمک می‌کنه تا الگوریتم مولتی کلاس کلاسیفیکیشن رو در عمل تجربه کنید و ببینید چطور می‌تونید مدل‌هایی بسازید که بتونند داده‌های پیچیده رو به دسته‌های مختلف تقسیم کنند. 🌱


#پایتون #یادگیری_ماشین #کلاسیفیکیشن #RandomForest #IrisDataset #پیش‌بینی #ScikitLearn
👍2👌1