آموزش برنامه‌نویسی پایتون و هوش مصنوعی
140 subscribers
358 photos
190 videos
41 files
172 links
🎯 یادگیری پایتون با رویکردی متفاوت
🚀 آموزش‌های کاملاً عملی و پروژه‌محور
💻 مسیر تبدیل شدن به یک برنامه‌نویس حرفه‌ای
🌟 فرقی نداره مبتدی هستی یا پیشرفته، از هر سطحی شروع کن و پایتون رو اصولی یاد بگیر
📩 ارتباط با ادمین: @YMahmoodian
09156519984
Download Telegram
55. ساخت شبکه GAN ساده
# Generator و Discriminator ساده from tensorflow.keras.layers import Dense, LeakyReLU from tensorflow.keras.models import Sequential generator = Sequential([Dense(128, activation='relu', input_dim=100), Dense(784, activation='sigmoid')]) discriminator = Sequential([Dense(128, activation=LeakyReLU(0.2), input_dim=784), Dense(1, activation='sigmoid')])
56. استفاده از pre-trained VGG16 برای feature extraction
from tensorflow.keras.applications import VGG16 base_model = VGG16(weights='imagenet', include_top=False, input_shape=(224,224,3))
57. fine-tuning مدل از پیش آموزش دیده
for layer in base_model.layers[:-4]: layer.trainable = False
58. استفاده از tf.data برای pipeline داده‌ها
import tensorflow as tf dataset = tf.data.Dataset.from_tensor_slices((X_train, y_train)).batch(32).shuffle(1000)
59. پیش‌بینی تصاویر جدید با مدل CNN
import numpy as np img = np.expand_dims(X_test[0], axis=0) pred = model.predict(img)
60. اندازه‌گیری دقت مدل با sklearn
from sklearn.metrics import accuracy_score y_pred = model.predict(X_test).argmax(axis=1) y_true = y_test.argmax(axis=1) print(accuracy_score(y_true, y_pred))
فصل AI / Deep Learning – بخش ۴: پروژه‌های واقعی پیشرفته (سوال 61–80)

61. تشخیص چهره با OpenCV و DNN

import cv2
net = cv2.dnn.readNetFromCaffe('deploy.prototxt', 'weights.caffemodel')
image = cv2.imread('face.jpg')
(h, w) = image.shape[:2]
blob = cv2.dnn.blobFromImage(cv2.resize(image, (300, 300)), 1.0, (300, 300), (104.0, 177.0, 123.0))
net.setInput(blob)
detections = net.forward()

62. تشخیص اشیا با Mask R-CNN

# استفاده از مدل pre-trained Mask R-CNN
from mrcnn import model as modellib, utils
model = modellib.MaskRCNN(mode='inference', model_dir='./', config=config)
results = model.detect([image], verbose=1)

63. ایجاد Chatbot ساده با seq2seq

# استفاده از LSTM encoder-decoder
from tensorflow.keras.models import Model
from tensorflow.keras.layers import LSTM, Input, Dense

64. استفاده از Word2Vec برای embedding متن

from gensim.models import Word2Vec
model = Word2Vec(sentences, vector_size=100, window=5, min_count=1, workers=4)
vector = model.wv['python']

65. استفاده از BERT برای NLP

from transformers import BertTokenizer, TFBertModel
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = TFBertModel.from_pretrained('bert-base-uncased')
inputs = tokenizer("Hello AI!", return_tensors="tf")
outputs = model(inputs)

66. استفاده از Attention در شبکه عصبی

from tensorflow.keras.layers import Attention
attention = Attention()([query, value])

67. تشخیص خطا در متن با Transformer

# مدل تصحیح گرامر با Transformer
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("t5-small")
model = AutoModelForSeq2SeqLM.from_pretrained("t5-small")

68. سیستم توصیه‌گر با Collaborative Filtering

import pandas as pd
from sklearn.metrics.pairwise import cosine_similarity
similarity = cosine_similarity(user_item_matrix)

69. افزایش داده‌ها (Data Augmentation) در تصویر

from tensorflow.keras.preprocessing.image import ImageDataGenerator
datagen = ImageDataGenerator(rotation_range=20, horizontal_flip=True)

70. استفاده از Regularization L2 برای جلوگیری از overfitting

from tensorflow.keras.regularizers import l2
Dense(64, activation='relu', kernel_regularizer=l2(0.01))

71. آموزش GAN با تصاویر دست‌ساز

# آموزش Generator و Discriminator

72. ایجاد Autoencoder برای کاهش نویز تصویر

# مدل Encoder-Decoder ساده برای denoising

73. استفاده از TensorBoard برای مانیتورینگ

from tensorflow.keras.callbacks import TensorBoard
tb = TensorBoard(log_dir='./logs')
model.fit(X_train, y_train, epochs=5, callbacks=[tb])

74. پیش‌بینی زمان واقعی با مدل CNN

# استفاده از OpenCV برای دریافت فریم و مدل CNN برای پیش‌بینی

75. تشخیص احساسات با شبکه عصبی CNN-LSTM

# ترکیب ویژگی‌های تصویر و متن

76. استفاده از Learning Rate Scheduler

from tensorflow.keras.callbacks import LearningRateScheduler
def scheduler(epoch, lr): return lr * 0.9
lr_scheduler = LearningRateScheduler(scheduler)

77. آموزش مدل چند وظیفه‌ای (Multi-task Learning)

# مدل با خروجی‌های متعدد برای چند وظیفه

78. Distillation مدل برای سبک‌سازی شبکه عصبی

# آموزش مدل کوچک با تقلید از مدل بزرگ

79. استفاده از Mixed Precision Training برای سرعت بیشتر

from tensorflow.keras.mixed_precision import experimental as mixed_precision
policy = mixed_precision.Policy('mixed_float16')
mixed_precision.set_policy(policy)

80. ذخیره و بارگذاری مدل TensorFlow با SavedModel

model.save('saved_model/my_model')
loaded_model = tf.keras.models.load_model('saved_model/my_model')


---
فصل AI / Deep Learning – بخش ۵: چالش‌ها و تکنیک‌های حرفه‌ای (سوال 81–100)
81. Fine-tuning مدل BERT برای classification
from transformers import TFBertForSequenceClassification model = TFBertForSequenceClassification.from_pretrained('bert-base-uncased', num_labels=2)
82. استفاده از Early Stopping برای جلوگیری از overfitting
from tensorflow.keras.callbacks import EarlyStopping early_stop = EarlyStopping(monitor='val_loss', patience=3)
83. Cross-validation برای مدل‌های Deep Learning
from sklearn.model_selection import KFold kf = KFold(n_splits=5)
84. ایجاد Embedding Layer در شبکه عصبی
from tensorflow.keras.layers import Embedding embedding = Embedding(input_dim=1000, output_dim=64)
85. استفاده از Dropout برای کاهش overfitting
from tensorflow.keras.layers import Dropout Dropout(0.5)
86. آموزش مدل CNN برای CIFAR-10
from tensorflow.keras.datasets import cifar10 (X_train, y_train), (X_test, y_test) = cifar10.load_data()
87. پیش‌بینی با مدل آموزش دیده PyTorch
import torch model = torch.load('model.pth') model.eval() output = model(torch.tensor(input_data))
88. استفاده از DataLoader در PyTorch
from torch.utils.data import DataLoader train_loader = DataLoader(dataset, batch_size=32, shuffle=True)
89. تعریف Custom Dataset در PyTorch
from torch.utils.data import Dataset class MyDataset(Dataset): def __init__(self, data): self.data = data def __len__(self): return len(self.data) def __getitem__(self, idx): return self.data[idx]
90. استفاده از optimizer Adam در PyTorch
import torch.optim as optim optimizer = optim.Adam(model.parameters(), lr=0.001)
91. محاسبه loss با CrossEntropy
import torch.nn as nn criterion = nn.CrossEntropyLoss()
92. ذخیره و بارگذاری مدل PyTorch
torch.save(model.state_dict(), 'model.pth') model.load_state_dict(torch.load('model.pth'))
93. افزایش داده‌ها با Albumentations
import albumentations as A transform = A.Compose([A.HorizontalFlip(), A.RandomBrightnessContrast()])
94. آموزش شبکه RNN برای پیش‌بینی توالی‌ها
from tensorflow.keras.layers import SimpleRNN SimpleRNN(50, input_shape=(timesteps, features))
95. استفاده از GRU به جای LSTM
from tensorflow.keras.layers import GRU GRU(50, input_shape=(timesteps, features))
96. محاسبه accuracy و F1-score
from sklearn.metrics import accuracy_score, f1_score accuracy_score(y_true, y_pred) f1_score(y_true, y_pred, average='weighted')
97. استفاده از TensorFlow Hub برای مدل‌های پیش‌آموزش دیده
import tensorflow_hub as hub model = hub.KerasLayer("https://tfhub.dev/google/nnlm-en-dim50/2")
98. ترکیب CNN و RNN برای داده‌های تصویری و زمانی
# CNN برای ویژگی تصویر + RNN برای توالی
99. آموزش GAN برای تولید تصویر واقعی
# Generator و Discriminator با Keras
100. ارزیابی مدل با Confusion Matrix و ROC Curve
from sklearn.metrics import confusion_matrix, roc_curve confusion_matrix(y_true, y_pred) fpr, tpr, thresholds = roc_curve(y_true, y_score)
فصل پروژه‌ها و مسائل ترکیبی عملی – ۱۰۰ سوال

بخش ۱: پروژه‌های مبتدی (سوال 1–30)

1. ایجاد یک ماشین حساب ساده

دریافت دو عدد و عملیات جمع، تفریق، ضرب، تقسیم از کاربر و چاپ نتیجه.


2. تشخیص عدد زوج یا فرد

از کاربر یک عدد بگیرد و چاپ کند زوج است یا فرد.


3. شمارنده کلمات در متن

گرفتن یک رشته از کاربر و شمارش تعداد کلمات آن.


4. وارون متن ورودی

ورودی کاربر را دریافت کرده و معکوس آن را چاپ کند.


5. حداقل و حداکثر لیست

از کاربر n عدد بگیرد و کوچک‌ترین و بزرگ‌ترین عدد را چاپ کند.


6. بررسی آناگرام دو کلمه

دو رشته ورودی و بررسی اینکه حروفشان با هم برابر است یا نه.


7. جمع اعداد فرد از لیست

از لیست [1,2,3,4,5] فقط اعداد فرد را جمع بزن.


8. فیلتر اعداد منفی از لیست

یک لیست از کاربر گرفته و فقط اعداد مثبت را چاپ کند.


9. شمارش حروف در رشته

ورودی کاربر و چاپ تعداد هر حرف در رشته.


10. فهرست مربع اعداد

گرفتن n از کاربر و چاپ [1², 2², …, n²].


11. جدول ضرب

چاپ جدول ضرب عدد ورودی تا 10.


12. فاکتوریل عدد

محاسبه فاکتوریل عدد ورودی.


13. بررسی عدد اول

بررسی اینکه عدد ورودی اول است یا نه.


14. چاپ اعداد اول تا n

چاپ تمام اعداد اول تا عدد n.


15. جمع اعداد زوج تا n

محاسبه جمع اعداد زوج تا n.


16. شمارش کلمات خاص در متن

گرفتن متن و یک کلمه، و شمارش تعداد تکرار آن کلمه.


17. وارون لیست

گرفتن لیست و چاپ وارون آن.


18. حذف اعداد تکراری از لیست

لیست ورودی و چاپ بدون تکرار.


19. میانگین لیست

محاسبه میانگین اعداد لیست.


20. بیشترین و کمترین طول کلمه

پیدا کردن طولانی‌ترین و کوتاه‌ترین کلمه در یک رشته.


21. ایجاد دیکشنری از دو لیست

لیست کلیدها و مقادیر و تبدیل به دیکشنری.


22. معکوس دیکشنری

کلید و مقدار را جابه‌جا کنید.


23. بررسی موجودیت کلید در دیکشنری

آیا کلید مشخص وجود دارد؟


24. جمع مقادیر دیکشنری

جمع تمام اعداد موجود در دیکشنری.


25. مرتب‌سازی دیکشنری بر اساس مقدار

چاپ دیکشنری مرتب بر اساس مقدار.


26. خواندن و نوشتن فایل متنی ساده

ذخیره ورودی کاربر در فایل و خواندن آن.


27. ذخیره دیکشنری در JSON

ذخیره دیکشنری ساده در فایل JSON.


28. خواندن CSV و چاپ ردیف‌ها

خواندن یک فایل CSV و چاپ ردیف‌ها.


29. حذف فایل موقت

ایجاد فایل، نوشتن داده و حذف آن.


30. بررسی اندازه فایل

چاپ اندازه فایل موجود.
بخش ۲: پروژه‌های متوسط (سوال 31–60)

31. ماشین حساب پیشرفته با حلقه و منو

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


32. حداقل، حداکثر و میانگین از لیست ورودی

گرفتن لیست از کاربر و چاپ min، max و mean.


33. شمارش حروف و اعداد در رشته

بررسی تعداد حروف، ارقام و کاراکترهای خاص.


34. وارون کلمات یک جمله

جمله ورودی و چاپ کلمات آن به صورت معکوس.


35. بررسی پالیندروم بودن جمله

جمله ورودی، حذف فاصله و بررسی اینکه پالیندروم است یا نه.


36. مرتب‌سازی لیست بدون توابع آماده

لیست ورودی را با الگوریتم ساده مرتب کنید.


37. فیلتر لیست اعداد بزرگ‌تر از n

گرفتن لیست و یک عدد و چاپ اعداد بزرگ‌تر.


38. حذف کاراکترهای خاص از رشته

رشته ورودی و حذف تمام کاراکترهای غیرحروف و غیرعدد.


39. ترکیب دو لیست بدون تکرار

دو لیست ورودی و خروجی لیست ترکیبی بدون تکرار.


40. یافتن بیشترین تکرار یک عنصر در لیست

لیست ورودی و چاپ عنصری که بیشترین تکرار را دارد.


41. ایجاد ماتریس n×n با صفر و یک

n ورودی و ایجاد ماتریس با ۰ و ۱ به صورت نمونه.


42. جمع دو ماتریس

گرفتن دو ماتریس و چاپ جمع آن‌ها.


43. ضرب ماتریس

ضرب دو ماتریس با الگوریتم ساده.


44. رسم الگوی ستاره با حلقه‌ها

مثلث یا مربع ستاره‌ای.


45. شمارش تعداد خطوط و کلمات فایل

خواندن فایل متنی و چاپ تعداد خطوط و کلمات.


46. جایگزینی متن در فایل

تغییر یک کلمه مشخص با کلمه دیگر در فایل.


47. فایل لاگ با تاریخچه ایجاد کنید

هر ورودی کاربر به همراه تاریخ در فایل ذخیره شود.


48. خواندن CSV و محاسبه میانگین ستون

ستون مشخص و محاسبه میانگین آن.


49. پیدا کردن بزرگ‌ترین و کوچک‌ترین عدد در CSV

خواندن ستون عددی و چاپ بزرگ‌ترین و کوچک‌ترین.


50. جمع ستون‌ها در CSV و ذخیره در فایل جدید

محاسبه جمع هر ستون و ذخیره در CSV جدید.


51. ذخیره و بازیابی دیکشنری با pickle

یک دیکشنری را pickle کنید و دوباره load کنید.


52. مرتب‌سازی فایل متنی بر اساس طول خط

خواندن فایل، مرتب‌سازی خطوط و ذخیره در فایل جدید.


53. استخراج ایمیل‌ها از متن

با regex همه ایمیل‌های موجود در متن را چاپ کنید.


54. استخراج شماره تلفن از متن

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


55. ایجاد گزارش HTML ساده از داده‌ها

داده‌ها را به صورت جدول HTML ذخیره کنید.


56. ذخیره و خواندن داده‌ها با JSON پیشرفته

دیکشنری‌های تو در تو ذخیره و بازیابی کنید.


57. پیاده‌سازی تابع جستجوی خطی و باینری

دو تابع ساده برای جستجوی عناصر در لیست.


58. شمارش تکرار عناصر با Counter

لیست ورودی و استفاده از collections.Counter برای نمایش تعداد تکرار هر عنصر.


59. تشخیص عدد Armstrong

بررسی عدد ورودی برای خاصیت Armstrong.


60. تولید رمز عبور تصادفی با طول مشخص

استفاده از random و کاراکترها برای ایجاد پسورد امن.
بخش ۳: پروژه‌های پیشرفته (سوال 61–100)

61. شبیه‌ساز ATM

ورود کارت، بررسی موجودی، برداشت و واریز پول با حلقه و شرط.


62. مدیریت لیست خرید با فایل

اضافه، حذف، نمایش اقلام و ذخیره لیست در فایل.


63. بازی حدس عدد با سطح دشواری

سطح آسان، متوسط، سخت، تعداد دفعات مجاز حدس.


64. ماشین حساب گرافیکی ساده با Tkinter

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


65. نمودار ساده با matplotlib

گرفتن داده‌ها و رسم نمودار میله‌ای یا خطی.


66. شبیه‌سازی پرتاب سکه با احتمال دلخواه

n بار پرتاب و نمایش تعداد شیر و خط.


67. شبیه‌سازی تاس چندوجهی

n بار پرتاب و نمایش فراوانی هر عدد.


68. ایجاد دفترچه تلفن با امکان جستجو

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


69. شبیه‌سازی صف نوبت (Queue)

افزودن، حذف، نمایش عناصر صف.


70. پیاده‌سازی پشته (Stack) با لیست

push, pop, نمایش محتویات پشته.


71. بازی حدس کلمه (Hangman)

انتخاب کلمه، دریافت ورودی حروف، نمایش پیشرفت بازی.


72. مرتب‌سازی دیکشنری بر اساس مقدار

دیکشنری ورودی و خروجی مرتب شده بر اساس مقدار.


73. تبدیل تاریخ میلادی به شمسی

گرفتن تاریخ ورودی و نمایش معادل شمسی با jdatetime.


74. بررسی متقارن بودن ماتریس

گرفتن ماتریس ورودی و چک کردن اینکه ماتریس متقارن است یا خیر.


75. محاسبه ماتریس وارون (Inverse)

با استفاده از numpy ماتریس وارون را محاسبه کنید.


76. شبیه‌سازی بازی تخته‌ای ساده (مثل XO)

دو بازیکن و چک کردن برنده.


77. استخراج لینک‌ها از یک فایل HTML

با regex یا BeautifulSoup همه لینک‌ها را پیدا کنید.


78. شمارش کلمات و حروف بزرگ/کوچک در فایل

فایل ورودی و نمایش تعداد هر نوع.


79. پیدا کردن فایل‌های تکراری در پوشه

بررسی محتوای فایل‌ها و نمایش فایل‌های یکسان.


80. فشرده‌سازی فایل‌ها با zipfile

ایجاد فایل zip از چند فایل مشخص.


81. باز کردن و استخراج zip

باز کردن فایل zip و استخراج محتویات.


82. دانلود فایل از اینترنت

استفاده از requests برای دانلود یک فایل.


83. ارسال ایمیل ساده با smtplib

ارسال ایمیل با مشخص کردن فرستنده، گیرنده و متن.


84. پیاده‌سازی تابع Fibonacci بازگشتی و تکراری

محاسبه n جمله اول با دو روش.


85. نمایش تقویم ماهانه با calendar

گرفتن ماه و سال و نمایش تقویم.


86. بررسی عدد اول بودن

تابع برای بررسی عدد اول و نمایش لیست اعداد اول تا n.


87. مرتب‌سازی لیست دیکشنری بر اساس چند کلید

لیست دیکشنری ورودی و مرتب‌سازی بر اساس دو یا چند فیلد.


88. خواندن JSON و محاسبه آماری

جمع، میانگین، بزرگ‌ترین و کوچک‌ترین مقدار یک کلید عددی.


89. بررسی ایمیل معتبر با regex

بررسی رشته‌های ورودی برای مطابقت با الگوی ایمیل.


90. تولید QR Code از متن ورودی

با کتابخانه qrcode ایجاد کد QR و ذخیره در فایل.


91. رمزگذاری و رمزگشایی Base64

گرفتن متن، تبدیل به Base64 و بازگرداندن آن.


92. وب‌اسکرپینگ ساده با requests و BeautifulSoup

گرفتن عنوان یک صفحه وب.


93. بررسی دسترسی به اینترنت

پینگ سایت یا بررسی با requests.get.


94. ذخیره داده‌ها به CSV از دیکشنری‌های تو در تو

داده‌ها را flatten کرده و ذخیره در CSV.


95. ایجاد و نمایش نمودار پای (Pie Chart)

داده ورودی و رسم نمودار پای با matplotlib.


96. شبیه‌سازی قرعه‌کشی

انتخاب تصادفی از یک لیست شرکت‌کننده‌ها.


97. پردازش تصویر ساده با PIL

باز کردن تصویر، تغییر اندازه، ذخیره نسخه جدید.


98. رسم نمودار هیستوگرام تصویر

با matplotlib هیستوگرام شدت رنگ تصویر.


99. تشخیص لبه‌ها در تصویر با OpenCV

استفاده از cv2.Canny برای یافتن لبه‌ها.


100. پروژه ترکیبی: دفترچه تلفن گرافیکی با Tkinter

شامل افزودن، حذف، ویرایش، جستجو و ذخیره در فایل.
فصل هوش مصنوعی و یادگیری ماشین / یادگیری عمیق

---

سوالات مقدماتی (1–20)

1. نصب کتابخانه scikit-learn

pip install scikit-learn

2. نصب کتابخانه pandas

pip install pandas

3. نصب کتابخانه numpy

pip install numpy

4. ایجاد یک آرایه numpy

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)

5. تبدیل یک لیست به DataFrame pandas

import pandas as pd
data = [[1, 'Ali'], [2, 'Sara']]
df = pd.DataFrame(data, columns=['ID', 'Name'])
print(df)

6. خواندن فایل CSV با pandas

import pandas as pd
df = pd.read_csv('data.csv')
print(df.head())

7. نمایش اطلاعات آماری DataFrame

print(df.describe())

8. جدا کردن ویژگی‌ها و برچسب‌ها (X و y)

X = df[['feature1', 'feature2']]
y = df['label']

9. تقسیم داده‌ها به مجموعه آموزش و تست

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

10. آموزش یک مدل رگرسیون خطی

from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)

11. پیش‌بینی با مدل آموزش دیده

predictions = model.predict(X_test)
print(predictions)

12. محاسبه خطای میانگین مربعات (MSE)

from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_test, predictions)
print(mse)

13. آموزش مدل طبقه‌بندی KNN

from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)

14. پیش‌بینی کلاس‌ها با KNN

y_pred = knn.predict(X_test)
print(y_pred)

15. محاسبه دقت مدل طبقه‌بندی

from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, y_pred)
print(accuracy)

16. نرمال‌سازی داده‌ها با MinMaxScaler

from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
X_scaled = scaler.fit_transform(X)

17. تبدیل برچسب‌ها به اعداد با LabelEncoder

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
y_encoded = le.fit_transform(y)

18. آموزش مدل درخت تصمیم (Decision Tree)

from sklearn.tree import DecisionTreeClassifier
tree = DecisionTreeClassifier()
tree.fit(X_train, y_train)

19. رسم درخت تصمیم با matplotlib

from sklearn.tree import plot_tree
import matplotlib.pyplot as plt
plot_tree(tree, filled=True)
plt.show()

20. استفاده از cross-validation

from sklearn.model_selection import cross_val_score
scores = cross_val_score(knn, X, y, cv=5)
print(scores)


---
سوالات مقدماتی-متوسط (21–40)
21. آموزش مدل جنگل تصادفی (Random Forest)
from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(n_estimators=100, random_state=42) rf.fit(X_train, y_train)
22. پیش‌بینی با مدل جنگل تصادفی
y_pred_rf = rf.predict(X_test) print(y_pred_rf)
23. محاسبه دقت جنگل تصادفی
accuracy_rf = accuracy_score(y_test, y_pred_rf) print(accuracy_rf)
24. آموزش مدل SVM (ماشین بردار پشتیبان)
from sklearn.svm import SVC svm_model = SVC(kernel='linear') svm_model.fit(X_train, y_train)
25. پیش‌بینی با SVM
y_pred_svm = svm_model.predict(X_test) print(y_pred_svm)
26. آموزش مدل Naive Bayes
from sklearn.naive_bayes import GaussianNB nb = GaussianNB() nb.fit(X_train, y_train)
27. پیش‌بینی با Naive Bayes
y_pred_nb = nb.predict(X_test) print(y_pred_nb)
28. نمایش ماتریس درهم‌ریختگی (Confusion Matrix)
from sklearn.metrics import confusion_matrix cm = confusion_matrix(y_test, y_pred) print(cm)
29. رسم نمودار ماتریس درهم‌ریختگی با seaborn
import seaborn as sns sns.heatmap(cm, annot=True, fmt="d") plt.show()
30. آموزش مدل رگرسیون لجستیک
from sklearn.linear_model import LogisticRegression logreg = LogisticRegression() logreg.fit(X_train, y_train)
31. پیش‌بینی با رگرسیون لجستیک
y_pred_logreg = logreg.predict(X_test) print(y_pred_logreg)
32. نرمال‌سازی ویژگی‌ها با StandardScaler
from sklearn.preprocessing import StandardScaler scaler = StandardScaler() X_scaled = scaler.fit_transform(X)
33. کاهش بعد با PCA (Principal Component Analysis)
from sklearn.decomposition import PCA pca = PCA(n_components=2) X_pca = pca.fit_transform(X_scaled) print(X_pca[:5])
34. نمایش نقاط بعد از PCA
plt.scatter(X_pca[:,0], X_pca[:,1], c=y) plt.show()
35. آموزش مدل K-Means برای خوشه‌بندی
from sklearn.cluster import KMeans kmeans = KMeans(n_clusters=3, random_state=42) kmeans.fit(X_scaled) print(kmeans.labels_)
36. رسم خوشه‌های K-Means
plt.scatter(X_scaled[:,0], X_scaled[:,1], c=kmeans.labels_) plt.show()
37. محاسبه silhouette score خوشه‌بندی
from sklearn.metrics import silhouette_score score = silhouette_score(X_scaled, kmeans.labels_) print(score)
38. استفاده از train_test_split با stratify
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, test_size=0.2)
39. آموزش مدل Gradient Boosting
from sklearn.ensemble import GradientBoostingClassifier gb = GradientBoostingClassifier() gb.fit(X_train, y_train)
40. پیش‌بینی و محاسبه دقت Gradient Boosting
y_pred_gb = gb.predict(X_test) accuracy_gb = accuracy_score(y_test, y_pred_gb) print(accuracy_gb)
سوالات پیشرفته‌تر-یادگیری عمیق (41–60)
41. ایجاد مدل شبکه عصبی با Keras
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense model = Sequential([ Dense(32, activation='relu', input_shape=(X_train.shape[1],)), Dense(16, activation='relu'), Dense(1, activation='sigmoid') ])
42. کامپایل مدل
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
43. آموزش مدل شبکه عصبی
model.fit(X_train, y_train, epochs=10, batch_size=32, validation_split=0.2)
44. پیش‌بینی با شبکه عصبی
y_pred_nn = (model.predict(X_test) > 0.5).astype("int32") print(y_pred_nn)
45. ارزیابی دقت شبکه عصبی
loss, accuracy = model.evaluate(X_test, y_test) print(accuracy)
46. اضافه کردن Dropout برای جلوگیری از overfitting
from tensorflow.keras.layers import Dropout model = Sequential([ Dense(64, activation='relu', input_shape=(X_train.shape[1],)), Dropout(0.5), Dense(32, activation='relu'), Dense(1, activation='sigmoid') ])
47. آموزش مدل با EarlyStopping
from tensorflow.keras.callbacks import EarlyStopping early_stop = EarlyStopping(patience=5, restore_best_weights=True) model.fit(X_train, y_train, epochs=50, callbacks=[early_stop], validation_split=0.2)
48. شبکه عصبی با چند کلاس (Multi-class)
model = Sequential([ Dense(64, activation='relu', input_shape=(X_train.shape[1],)), Dense(3, activation='softmax') ]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
49. شبکه عصبی کانولوشنی (CNN) ساده برای تصاویر
from tensorflow.keras.layers import Conv2D, Flatten, MaxPooling2D model = Sequential([ Conv2D(32, (3,3), activation='relu', input_shape=(28,28,1)), MaxPooling2D((2,2)), Flatten(), Dense(10, activation='softmax') ])
50. شبکه عصبی بازگشتی (RNN) ساده برای داده‌های زمانی
from tensorflow.keras.layers import SimpleRNN model = Sequential([ SimpleRNN(50, input_shape=(timesteps, features), activation='tanh'), Dense(1) ])
51. استفاده از LSTM برای پیش‌بینی سری‌های زمانی
from tensorflow.keras.layers import LSTM model = Sequential([ LSTM(50, input_shape=(timesteps, features)), Dense(1) ])
52. استفاده از embedding برای متن
from tensorflow.keras.layers import Embedding, GlobalAveragePooling1D model = Sequential([ Embedding(input_dim=10000, output_dim=64, input_length=maxlen), GlobalAveragePooling1D(), Dense(1, activation='sigmoid') ])
53. پیش‌بینی متن با مدل LSTM
y_pred_text = (model.predict(X_test) > 0.5).astype("int32")
54. استفاده از callbacks برای ذخیره بهترین مدل
from tensorflow.keras.callbacks import ModelCheckpoint checkpoint = ModelCheckpoint("best_model.h5", save_best_only=True) model.fit(X_train, y_train, epochs=20, callbacks=[checkpoint])
55. بارگذاری مدل ذخیره شده
from tensorflow.keras.models import load_model model = load_model("best_model.h5")
56. پیش‌بینی تصویر با CNN آموزش دیده
y_pred_img = model.predict(X_test_images)
57. استفاده از ImageDataGenerator برای افزایش داده‌ها
from tensorflow.keras.preprocessing.image import ImageDataGenerator datagen = ImageDataGenerator(rotation_range=20, horizontal_flip=True) datagen.fit(X_train_images)
58. محاسبه ماتریس درهم‌ریختگی برای multi-class
from sklearn.metrics import confusion_matrix cm = confusion_matrix(y_test, y_pred_classes)
59. رسم نمودار دقت و خطا در هر epoch
import matplotlib.pyplot as plt plt.plot(history.history['accuracy'], label='train') plt.plot(history.history['val_accuracy'], label='val') plt.legend() plt.show()
60. ذخیره تاریخچه آموزش مدل به CSV
import pandas as pd pd.DataFrame(history.history).to_csv("training_history.csv")
– ترکیبی و حرفه‌ای:
سوالات ترکیبی و حرفه‌ای (61–100)
61. شبیه‌ساز ATM با کلاس‌ها و منو
class ATM: def __init__(self, balance=0): self.balance = balance def deposit(self, amount): self.balance += amount def withdraw(self, amount): if amount <= self.balance: self.balance -= amount else: print("Insufficient balance") atm = ATM(1000) atm.deposit(500) atm.withdraw(200) print(atm.balance)
62. پیش‌بینی با مدل از فایل CSV ورودی
import pandas as pd X_new = pd.read_csv("new_data.csv") y_pred = model.predict(X_new)
63. ذخیره مدل TensorFlow به فرمت SavedModel
model.save("my_model")
64. بارگذاری مدل SavedModel
from tensorflow.keras.models import load_model model = load_model("my_model")
65. نرمال‌سازی داده‌ها با MinMaxScaler
from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() X_scaled = scaler.fit_transform(X)
66. نرمال‌سازی داده‌های جدید
X_new_scaled = scaler.transform(X_new)
67. استفاده از GridSearchCV برای انتخاب هایپرپارامتر
from sklearn.model_selection import GridSearchCV from sklearn.ensemble import RandomForestClassifier params = {'n_estimators':[50,100], 'max_depth':[5,10]} grid = GridSearchCV(RandomForestClassifier(), param_grid=params) grid.fit(X_train, y_train) print(grid.best_params_)
68. کاهش ابعاد با PCA
from sklearn.decomposition import PCA pca = PCA(n_components=2) X_pca = pca.fit_transform(X)
69. نمایش داده‌ها بعد از PCA
import matplotlib.pyplot as plt plt.scatter(X_pca[:,0], X_pca[:,1], c=y) plt.show()
70. پیاده‌سازی شبکه GAN ساده
# Generator from tensorflow.keras.layers import Input, Dense from tensorflow.keras.models import Model input_gen = Input(shape=(100,)) x = Dense(128, activation='relu')(input_gen) output_gen = Dense(784, activation='sigmoid')(x) generator = Model(input_gen, output_gen)
71. تبدیل تصویر به آرایه برای CNN
from tensorflow.keras.preprocessing import image img = image.load_img("digit.png", target_size=(28,28), color_mode="grayscale") x = image.img_to_array(img)/255.0 x = x.reshape(1,28,28,1)
72. پیش‌بینی تصویر با مدل آموزش دیده CNN
pred = model.predict(x) print(pred.argmax())
73. ذخیره بردار ویژگی‌ها از یک لایه میانی
from tensorflow.keras.models import Model feature_model = Model(inputs=model.input, outputs=model.layers[-2].output) features = feature_model.predict(X_test)
74. استفاده از Tokenizer برای متن
from tensorflow.keras.preprocessing.text import Tokenizer tokenizer = Tokenizer(num_words=1000) tokenizer.fit_on_texts(texts) sequences = tokenizer.texts_to_sequences(texts)
75. Padding دنباله‌ها برای مدل LSTM
from tensorflow.keras.preprocessing.sequence import pad_sequences X_pad = pad_sequences(sequences, maxlen=100)
76. استفاده از Embedding در LSTM
from tensorflow.keras.layers import Embedding, LSTM, Dense model = Sequential([ Embedding(1000, 64, input_length=100), LSTM(32), Dense(1, activation='sigmoid') ])
77. محاسبه F1-score مدل
from sklearn.metrics import f1_score print(f1_score(y_test, y_pred_nn))
78. ذخیره ماتریس confusion به فایل CSV
import pandas as pd pd.DataFrame(cm).to_csv("confusion_matrix.csv")
79. رسم نمودار Loss و Accuracy با Seaborn
import seaborn as sns sns.lineplot(data=history.history['loss'], label='train_loss') sns.lineplot(data=history.history['val_loss'], label='val_loss')
80. ترکیب داده‌های مختلف با pandas برای آموزش
df = pd.concat([df1, df2], axis=0)
81. استفاده از مدل از پیش آموزش دیده (Pretrained) ResNet
from tensorflow.keras.applications import ResNet50 model = ResNet50(weights='imagenet')
82. استخراج ویژگی‌ها با مدل Pretrained
from tensorflow.keras.models import Model feat_model = Model(inputs=model.input, outputs=model.layers[-2].output) features = feat_model.predict(X_images)
83. فشرده‌سازی مدل با TFLite
import tensorflow as tf converter = tf.lite.TFLiteConverter.from_saved_model("my_model") tflite_model = converter.convert()
84. استفاده از EarlyStopping و ReduceLROnPlateau
from tensorflow.keras.callbacks import ReduceLROnPlateau reduce_lr = ReduceLROnPlateau(patience=3, factor=0.5)
85. ایجاد آموزش با داده‌های دسته‌بندی شده (Class Weights)
from sklearn.utils import class_weight weights = class_weight.compute_class_weight('balanced', classes=np.unique(y_train), y=y_train)
86. پیش‌بینی چند برچسبی (Multi-label)
model = Sequential([ Dense(64, activation='relu', input_shape=(X_train.shape[1],)), Dense(3, activation='sigmoid') ])
87. ذخیره پیش‌بینی‌ها به CSV
pd.DataFrame(y_pred, columns=["label"]).to_csv("predictions.csv", index=False)
88. اجرای مدل روی GPU با TensorFlow
import tensorflow as tf print(tf.config.list_physical_devices('GPU'))
89. نمایش شکل شبکه با plot_model
from tensorflow.keras.utils import plot_model plot_model(model, to_file='model.png', show_shapes=True)
90. استفاده از callbacks سفارشی برای ذخیره معیارها
class MyCallback(tf.keras.callbacks.Callback): def on_epoch_end(self, epoch, logs=None): print(f"Epoch {epoch}: val_acc={logs['val_accuracy']}")
91. محاسبه ROC AUC برای مدل باینری
from sklearn.metrics import roc_auc_score roc_auc_score(y_test, y_pred_nn)
92. تبدیل تصاویر رنگی به خاکستری برای CNN
X_gray = X_images.mean(axis=-1, keepdims=True)/255.0
93. استفاده از BatchNormalization
from tensorflow.keras.layers import BatchNormalization model = Sequential([ Dense(64, activation='relu'), BatchNormalization(), Dense(1, activation='sigmoid') ])
94. Dropout در شبکه CNN
Conv2D(32, (3,3), activation='relu'), Dropout(0.3)
95. افزایش داده متن با Synonyms Replacement
# جایگزینی واژه‌ها با مترادف‌ها برای data augmentation
96. ذخیره وزن‌های مدل به HDF5
model.save_weights("weights.h5")
97. بارگذاری وزن‌های ذخیره شده
model.load_weights("weights.h5")
98. استفاده از callbacks برای EarlyStopping + ModelCheckpoint
model.fit(X_train, y_train, epochs=50, callbacks=[early_stop, checkpoint])
99. استفاده از TensorBoard برای مانیتورینگ
from tensorflow.keras.callbacks import TensorBoard tensorboard = TensorBoard(log_dir='./logs')
100. محاسبه دقت مدل با scikit-learn
from sklearn.metrics import accuracy_score print(accuracy_score(y_test, y_pred_nn))
پروژه‌ها و مثال‌های عملی AI و Deep Learning




---

۱. تشخیص اعداد دست‌نویس (MNIST)

import tensorflow as tf
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Flatten

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train/255.0, x_test/255.0

model = Sequential([
Flatten(input_shape=(28,28)),
Dense(128, activation='relu'),
Dense(10, activation='softmax')
])

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5, validation_split=0.1)
print("Accuracy:", model.evaluate(x_test, y_test)[1])


---

۲. تشخیص تصاویر گربه و سگ (Cats vs Dogs)

from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense

train_datagen = ImageDataGenerator(rescale=1./255)
train_gen = train_datagen.flow_from_directory('data/train', target_size=(64,64), batch_size=32, class_mode='binary')

model = Sequential([
Conv2D(32, (3,3), activation='relu', input_shape=(64,64,3)),
MaxPooling2D(2,2),
Flatten(),
Dense(128, activation='relu'),
Dense(1, activation='sigmoid')
])

model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.fit(train_gen, epochs=5)


---

۳. تحلیل احساسات (Sentiment Analysis)

from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Embedding, LSTM, Dense

texts = ["I love this movie", "I hate this film", "Amazing!", "Terrible experience"]
labels = [1,0,1,0]

tokenizer = Tokenizer(num_words=100)
tokenizer.fit_on_texts(texts)
seqs = tokenizer.texts_to_sequences(texts)
seqs = pad_sequences(seqs, maxlen=5)

model = Sequential([
Embedding(100, 8, input_length=5),
LSTM(16),
Dense(1, activation='sigmoid')
])

model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.fit(seqs, labels, epochs=10)


---

۴. پیش‌بینی قیمت خانه‌ها (Regression)

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

data = load_boston()
X, y = data.data, data.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

scaler = MinMaxScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

model = Sequential([
Dense(64, activation='relu', input_shape=(X_train.shape[1],)),
Dense(1)
])
model.compile(optimizer='adam', loss='mse')
model.fit(X_train, y_train, epochs=50, validation_split=0.1)


---

۵. تولید متن ساده با RNN

from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Embedding, SimpleRNN, Dense
import numpy as np

text = "hello world hello deep learning"
tokenizer = Tokenizer()
tokenizer.fit_on_texts([text])
seqs = tokenizer.texts_to_sequences([text])[0]

X, y = seqs[:-1], seqs[1:]
X = np.array(X).reshape(1,-1)
y = np.array(y).reshape(1,-1)

model = Sequential([
Embedding(input_dim=len(tokenizer.word_index)+1, output_dim=10, input_length=X.shape[1]),
SimpleRNN(20, return_sequences=True),
Dense(len(tokenizer.word_index)+1, activation='softmax')
])
model.compile('adam', 'sparse_categorical_crossentropy')
# model.fit(X, y, epochs=200) # آموزش طولانی برای مثال واقعی


---

۶. تبدیل تصاویر رنگی به سیاه و سفید

import cv2
img = cv2.imread('color.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imwrite('gray.jpg', gray)


---
۷. تشخیص اعداد در تصاویر (Digit Recognition)

# مشابه MNIST بالا با CNN
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train.reshape(-1,28,28,1)/255.0, x_test.reshape(-1,28,28,1)/255.0

model = Sequential([
Conv2D(32,(3,3), activation='relu', input_shape=(28,28,1)),
MaxPooling2D(2,2),
Flatten(),
Dense(128, activation='relu'),
Dense(10, activation='softmax')
])
model.compile('adam', 'sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=3)


---

۸. شبیه‌ساز ATM با کلاس‌ها و منو

class Account:
def init(self, balance=0):
self.balance = balance
def deposit(self, amt):
self.balance += amt
def withdraw(self, amt):
if amt <= self.balance:
self.balance -= amt
else:
print("Insufficient funds")
def check_balance(self):
print("Balance:", self.balance)

acc = Account()
acc.deposit(100)
acc.withdraw(50)
acc.check_balance()


---

۹. سیستم پیشنهاد دهنده ساده

from sklearn.metrics.pairwise import cosine_similarity
import numpy as np

ratings = np.array([[5,3,0],[4,0,0],[1,1,0]])
similarity = cosine_similarity(ratings)
print(similarity)


---

۱۰. پیش‌بینی سرطان با دیتاست Breast Cancer

from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report

data = load_breast_cancer()
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2)

clf = RandomForestClassifier()
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
print(classification_report(y_test, y_pred))


---

۱۱. GAN برای تولید تصویر

# نمونه کوتاه (Pseudo-code، آموزش کامل طولانی است)
# generator = ...
# discriminator = ...
# gan = Sequential([generator, discriminator])
# gan.compile(optimizer='adam', loss='binary_crossentropy')
# آموزش GAN روی MNIST


---

۱۲. فیلتر کردن نویز تصویر با Autoencoder

# مشابه پروژه MNIST با اضافه کردن نویز و Autoencoder


---

۱۳. تشخیص دست خط (Handwriting Recognition)

# مشابه MNIST با EMNIST


---

۱۴. طبقه‌بندی لباس‌ها (Fashion MNIST)

from tensorflow.keras.datasets import fashion_mnist
(x_train, y_train), (x_test, y_test) = fashion_mnist.load_data()
x_train, x_test = x_train/255.0, x_test/255.0


---

۱۵. پروژه ترجمه متن ساده (Seq2Seq)

# Encoder-Decoder LSTM (Pseudo-code برای مثال)


---

۱۶. تشخیص چهره با OpenCV

import cv2
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
img = cv2.imread('face.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.imwrite('faces_detected.jpg', img)


---

۱۷. تشخیص ژست دست با MediaPipe

import mediapipe as mp
import cv2

mp_hands = mp.solutions.hands
hands = mp_hands.Hands()
cap = cv2.VideoCapture(0)

while True:
ret, frame = cap.read()
frame_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
results = hands.process(frame_rgb)
if results.multi_hand_landmarks:
print(results.multi_hand_landmarks)
cv2.imshow("Hand", frame)
if cv2.waitKey(1) & 0xFF == 27:
break
cap.release()
cv2.destroyAllWindows()


---

۱۸. پیش‌بینی سری زمانی (Time Series)

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Dense
import numpy as np

data = np.array([i for i in range(100)])
X = np.array([data[i:i+5] for i in range(95)])
y = data[5:]
X = X.reshape((X.shape[0], X.shape[1], 1))

model = Sequential([LSTM(50, input_shape=(5,1)), Dense(1)])
model.compile('adam', 'mse')
model.fit(X, y, epochs=10)


---

۱۹. پردازش داده‌های صوتی (Speech Recognition)

import librosa
y, sr = librosa.load('audio.wav')
mfccs = librosa.feature.mfcc(y=y, sr=sr, n_mfcc=13)
print(mfccs.shape)


---

۲۰. ایجاد چت‌بات ساده
responses = {
"سلام": "سلام! حال شما چطوره؟",
"خوبی؟": "من خوبم، مرسی! شما چطور؟",
"خداحافظ": "خداحافظ! روز خوبی داشته باشی.",
}

def chatbot(msg):
return responses.get(msg, "متوجه نشدم. لطفا دوباره بگویید.")

while True:
msg = input("شما: ")
if msg == "خداحافظ":
print("ربات:", chatbot(msg))
break
print("ربات:", chatbot(msg))

توضیح:

یک دیکشنری برای پاسخ‌ها داریم.

کاربر پیام می‌دهد و ربات پاسخ مناسب می‌دهد یا پیام پیش‌فرض می‌فرستد.

با تایپ خداحافظ برنامه پایان می‌یابد.
پروژه‌های ۲۱–۴۰
۲۱. پیش‌بینی قیمت خانه با Linear Regression
from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split from sklearn.datasets import load_boston import pandas as pd data = load_boston() X = pd.DataFrame(data.data, columns=data.feature_names) y = pd.Series(data.target) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) model = LinearRegression() model.fit(X_train, y_train) print("Score:", model.score(X_test, y_test))
۲۲. طبقه‌بندی ایمیل اسپم با Naive Bayes
from sklearn.model_selection import train_test_split from sklearn.feature_extraction.text import CountVectorizer from sklearn.naive_bayes import MultinomialNB emails = ["Free money now", "Hi Bob, how are you?", "Win a car!", "Meeting at 10"] labels = [1, 0, 1, 0] # 1=spam, 0=ham vectorizer = CountVectorizer() X = vectorizer.fit_transform(emails) X_train, X_test, y_train, y_test = train_test_split(X, labels, test_size=0.25, random_state=42) model = MultinomialNB() model.fit(X_train, y_train) print("Score:", model.score(X_test, y_test))
۲۳. خوشه‌بندی مشتریان با KMeans
from sklearn.cluster import KMeans import numpy as np X = np.array([[5, 2], [1, 4], [3, 7], [8, 1]]) kmeans = KMeans(n_clusters=2, random_state=42) kmeans.fit(X) print(kmeans.labels_)
۲۴. تشخیص دست‌نویس با MNIST و MLP
from sklearn.datasets import load_digits from sklearn.model_selection import train_test_split from sklearn.neural_network import MLPClassifier digits = load_digits() X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=0.2, random_state=42) model = MLPClassifier(hidden_layer_sizes=(64,), max_iter=300) model.fit(X_train, y_train) print("Score:", model.score(X_test, y_test))
۲۵. تحلیل احساسات ساده با TextBlob
from textblob import TextBlob text = "I love AI but sometimes it is challenging." blob = TextBlob(text) print("Sentiment:", blob.sentiment)
۲۶. پیش‌بینی سری زمانی با ARIMA
import pandas as pd from statsmodels.tsa.arima.model import ARIMA data = pd.Series([120, 130, 125, 140, 150, 160]) model = ARIMA(data, order=(1,1,1)) model_fit = model.fit() print(model_fit.forecast(steps=3))
۲۷. خوشه‌بندی تصاویر با KMeans و PCA
from sklearn.datasets import load_digits from sklearn.decomposition import PCA from sklearn.cluster import KMeans digits = load_digits() X_pca = PCA(2).fit_transform(digits.data) kmeans = KMeans(n_clusters=10).fit(X_pca) print(kmeans.labels_)
۲۸. تشخیص اشیا با OpenCV و کپسول‌بندی رنگ‌ها
import cv2 import numpy as np img = cv2.imread("image.jpg") hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) mask = cv2.inRange(hsv, (36, 25, 25), (70, 255,255)) res = cv2.bitwise_and(img,img,mask=mask) cv2.imwrite("result.jpg", res)
۲۹. پیش‌بینی بیماری قلبی با RandomForest
from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split import pandas as pd # فرضی df = pd.DataFrame({'age':[45,50,40],'chol':[230,210,180],'target':[1,0,0]}) X = df[['age','chol']] y = df['target'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42) model = RandomForestClassifier() model.fit(X_train, y_train) print(model.score(X_test, y_test))
۳۰. تولید متن ساده با GPT-2 (transformers)
from transformers import GPT2LMHeadModel, GPT2Tokenizer tokenizer = GPT2Tokenizer.from_pretrained("gpt2") model = GPT2LMHeadModel.from_pretrained("gpt2") input_text = "Artificial Intelligence is" inputs = tokenizer.encode(input_text, return_tensors="pt") outputs = model.generate(inputs, max_length=50) print(tokenizer.decode(outputs[0], skip_special_tokens=True))
۳۱–۴۰ در حوزه هوش مصنوعی و یادگیری ماشین/عمیق:
پروژه‌های ۳۱–۴۰
۳۱. تشخیص چهره با OpenCV
import cv2 face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml') img = cv2.imread('face.jpg') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.3, 5) for (x,y,w,h) in faces: cv2.rectangle(img, (x,y), (x+w,y+h), (255,0,0), 2) cv2.imwrite('faces_detected.jpg', img)
۳۲. پیش‌بینی قیمت سهام با Linear Regression
import pandas as pd from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split data = pd.read_csv('stock.csv') # فرضی X = data[['Open', 'High', 'Low']] y = data['Close'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) model = LinearRegression() model.fit(X_train, y_train) print(model.score(X_test, y_test))
۳۳. خوشه‌بندی متون با TF-IDF و KMeans
from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.cluster import KMeans docs = ["I love AI", "AI is the future", "I enjoy sports", "Football is fun"] vectorizer = TfidfVectorizer() X = vectorizer.fit_transform(docs) kmeans = KMeans(n_clusters=2).fit(X) print(kmeans.labels_)
۳۴. تحلیل احساسات توییت‌ها با Vader
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer analyzer = SentimentIntensityAnalyzer() text = "I am very happy with AI progress!" score = analyzer.polarity_scores(text) print(score)
۳۵. تولید تصویر با GAN ساده (PyTorch)
import torch from torch import nn class Generator(nn.Module): def __init__(self): super().__init__() self.main = nn.Sequential(nn.Linear(100, 256), nn.ReLU(), nn.Linear(256, 784), nn.Tanh()) def forward(self, x): return self.main(x) z = torch.randn(1, 100) gen = Generator() fake_image = gen(z) print(fake_image.shape) # خروجی 784 پیکسل (28x28)
۳۶. شناسایی اعداد MNIST با CNN (PyTorch)
import torch from torchvision import datasets, transforms from torch import nn, optim transform = transforms.Compose([transforms.ToTensor()]) train_data = datasets.MNIST(root='./data', train=True, download=True, transform=transform) X, y = train_data.data.float(), train_data.targets model = nn.Sequential(nn.Flatten(), nn.Linear(28*28, 128), nn.ReLU(), nn.Linear(128,10)) loss_fn = nn.CrossEntropyLoss() optimizer = optim.SGD(model.parameters(), lr=0.01)

آموزش کامل نیازمند حلقه epoch است، این فقط نمونه ساختار مدل است.


۳۷. سیستم توصیه‌گر ساده (Collaborative Filtering)
import pandas as pd from sklearn.metrics.pairwise import cosine_similarity ratings = pd.DataFrame({'User1':[5,0,3],'User2':[4,0,0],'User3':[1,2,0]}) similarity = cosine_similarity(ratings.fillna(0)) print(similarity)
۳۸. تشخیص شی با YOLO (OpenCV + pre-trained weights)
import cv2 net = cv2.dnn.readNet("yolov3.weights", "yolov3.cfg") layer_names = net.getLayerNames() output_layers = [layer_names[i[0]-1] for i in net.getUnconnectedOutLayers()] img = cv2.imread("image.jpg") blob = cv2.dnn.blobFromImage(img, 0.00392, (416,416), swapRB=True, crop=False) net.setInput(blob) outs = net.forward(output_layers) print("Number of detections:", len(outs))
۳۹. طبقه‌بندی گل Iris با Random Forest
from sklearn.datasets import load_iris from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split data = load_iris() X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2) model = RandomForestClassifier() model.fit(X_train, y_train) print(model.score(X_test, y_test))
۴۰. کاهش ابعاد با PCA و نمایش گرافیکی
from sklearn.decomposition import PCA import matplotlib.pyplot as plt from sklearn.datasets import load_iris data = load_iris() pca = PCA(n_components=2) X_pca = pca.fit_transform(data.data) plt.scatter(X_pca[:,0], X_pca[:,1], c=data.target) plt.show()
پروژه‌های ۴۱–۶۰
۴۱. پیش‌بینی فروش با Linear Regression و داده‌های زمان‌بندی
import pandas as pd from sklearn.linear_model import LinearRegression data = pd.read_csv('sales.csv') # فرضی: ستون 'Month' و 'Sales' X = data[['Month']] y = data['Sales'] model = LinearRegression() model.fit(X, y) print(model.predict([[13]])) # پیش‌بینی ماه ۱۳
۴۲. خوشه‌بندی مشتریان با KMeans (Customer Segmentation)
import pandas as pd from sklearn.cluster import KMeans data = pd.read_csv('customers.csv') # ستون 'Age' و 'SpendingScore' kmeans = KMeans(n_clusters=3) data['Cluster'] = kmeans.fit_predict(data[['Age','SpendingScore']]) print(data.head())
۴۳. تشخیص اعداد دست‌نویس با SVM (MNIST)
from sklearn import datasets, svm from sklearn.model_selection import train_test_split digits = datasets.load_digits() X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=0.2) clf = svm.SVC() clf.fit(X_train, y_train) print(clf.score(X_test, y_test))
۴۴. پیش‌بینی قیمت خانه با Random Forest
import pandas as pd from sklearn.ensemble import RandomForestRegressor data = pd.read_csv('housing.csv') X = data[['Rooms','Area','Age']] y = data['Price'] model = RandomForestRegressor() model.fit(X, y) print(model.predict([[3,120,10]]))
۴۵. طبقه‌بندی اخبار با Naive Bayes
from sklearn.feature_extraction.text import CountVectorizer from sklearn.naive_bayes import MultinomialNB texts = ["AI is great", "Python is awesome", "I hate bugs"] labels = [1,1,0] # 1=Positive, 0=Negative vectorizer = CountVectorizer() X = vectorizer.fit_transform(texts) model = MultinomialNB() model.fit(X, labels) print(model.predict(vectorizer.transform(["I love Python"])))
۴۶. ترجمه متن با Transformer ساده (Hugging Face)
from transformers import pipeline translator = pipeline("translation_en_to_fr") print(translator("Hello, how are you?")[0]['translation_text'])
۴۷. تولید متن با GPT-2 (Hugging Face)
from transformers import pipeline generator = pipeline('text-generation', model='gpt2') print(generator("Once upon a time", max_length=50))
۴۸. شناسایی اشیاء با MobileNet (TensorFlow/Keras)
import tensorflow as tf from tensorflow.keras.applications.mobilenet_v2 import MobileNetV2, preprocess_input, decode_predictions import numpy as np from tensorflow.keras.preprocessing import image model = MobileNetV2(weights='imagenet') img = image.load_img('dog.jpg', target_size=(224,224)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x) preds = model.predict(x) print(decode_predictions(preds, top=3)[0])
۴۹. شناسایی احساسات با BERT
from transformers import pipeline nlp = pipeline("sentiment-analysis") print(nlp("I love AI progress!"))
۵۰. کاهش ابعاد با t-SNE و نمایش داده‌ها
from sklearn.manifold import TSNE import matplotlib.pyplot as plt from sklearn.datasets import load_iris data = load_iris() tsne = TSNE(n_components=2, random_state=42) X_tsne = tsne.fit_transform(data.data) plt.scatter(X_tsne[:,0], X_tsne[:,1], c=data.target) plt.show()
۵۱. پیش‌بینی نرخ ارز با LSTM (Keras)
import numpy as np from tensorflow.keras.models import Sequential from tensorflow.keras.layers import LSTM, Dense data = np.random.rand(100,1) # فرضی X = data[:-1].reshape((99,1,1)) y = data[1:] model = Sequential([LSTM(50, input_shape=(1,1)), Dense(1)]) model.compile(optimizer='adam', loss='mse') model.fit(X, y, epochs=10)
۵۲. شبکه GAN برای تولید دست‌خط (MNIST)
مشابه پروژه قبلی GAN، با تغییر داده‌ها به دست‌نویس MNIST.


۵۳. تحلیل خوشه‌ای تصاویر با KMeans (Feature Extraction با CNN)
from sklearn.cluster import KMeans import numpy as np from tensorflow.keras.applications.vgg16 import VGG16, preprocess_input from tensorflow.keras.preprocessing import image model = VGG16(weights='imagenet', include_top=False) img = image.load_img('cat.jpg', target_size=(224,224)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x) features = model.predict(x) features_flat = features.flatten().reshape(1, -1) kmeans = KMeans(n_clusters=2).fit(features_flat) print(kmeans.labels_)
۵۴. طبقه‌بندی تصاویر میوه با CNN ساده (Keras)
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense model = Sequential([ Conv2D(32, (3,3), activation='relu', input_shape=(64,64,3)), MaxPooling2D(), Flatten(), Dense(128, activation='relu'), Dense(3, activation='softmax') # سه کلاس میوه ])
۵۵. تشخیص اسپم ایمیل با Naive Bayes
from sklearn.feature_extraction.text import CountVectorizer from sklearn.naive_bayes import MultinomialNB emails = ["Free money", "Meeting at 10", "Win big prize"] labels = [1,0,1] # 1=Spam, 0=Ham vectorizer = CountVectorizer() X = vectorizer.fit_transform(emails) model = MultinomialNB() model.fit(X, labels) print(model.predict(vectorizer.transform(["Win a free trip"])))
۵۶. پیش‌بینی ترافیک با Recurrent Neural Network

مشابه پروژه LSTM، فقط داده‌های ورودی متوالی (Time Series Traffic) هستند.

۵۷. تحلیل سری‌های زمانی با Prophet
from prophet import Prophet import pandas as pd df = pd.DataFrame({'ds': pd.date_range(start='2025-01-01', periods=10), 'y':[10,12,15,14,16,18,17,19,21,22]}) m = Prophet() m.fit(df) future = m.make_future_dataframe(periods=5) forecast = m.predict(future) print(forecast[['ds','yhat']])
۵۸. طبقه‌بندی صدا با CNN 1D
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv1D, Dense, Flatten model = Sequential([ Conv1D(16, 3, activation='relu', input_shape=(1000,1)), Flatten(), Dense(10, activation='softmax') ])
۵۹. تشخیص حرکات دست با OpenCV و MediaPipe
import cv2 import mediapipe as mp mp_hands = mp.solutions.hands hands = mp_hands.Hands() cap = cv2.VideoCapture(0) ret, frame = cap.read() results = hands.process(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)) print(results.multi_hand_landmarks)
۶۰. پیش‌بینی بیماری قلبی با Random Forest
import pandas as pd from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split data = pd.read_csv('heart.csv') X = data.drop('target', axis=1) y = data['target'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) model = RandomForestClassifier() model.fit(X_train, y_train) print(model.score(X_test, y_test))
پروژه‌های 61 تا 100 که مربوط به هوش مصنوعی، یادگیری ماشین و یادگیری عمیق هستند. این‌ها شامل مثال‌های عملی و قابل اجرا با پایتون و کتابخانه‌هایی مثل numpy, pandas, scikit-learn, tensorflow, keras خواهند بود.
پروژه 61–80: یادگیری ماشین پایه
61. پیش‌بینی قیمت خانه (Linear Regression)
from sklearn.linear_model import LinearRegression import numpy as np X = np.array([[1000], [1500], [2000], [2500]]) y = np.array([200000, 250000, 300000, 350000]) model = LinearRegression() model.fit(X, y) print(model.predict([[1800]]))
62. طبقه‌بندی گل‌ها (Iris Dataset)
from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier iris = load_iris() X, y = iris.data, iris.target model = DecisionTreeClassifier() model.fit(X, y) print(model.predict([X[0]]))
63. استانداردسازی داده‌ها
from sklearn.preprocessing import StandardScaler import numpy as np data = np.array([[1,2],[3,4],[5,6]]) scaler = StandardScaler() scaled = scaler.fit_transform(data) print(scaled)
64. تقسیم داده به آموزش و تست
from sklearn.model_selection import train_test_split X = [[1],[2],[3],[4],[5]] y = [1,2,3,4,5] X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2) print(X_train, X_test)
65. الگوریتم k-NN
from sklearn.neighbors import KNeighborsClassifier X = [[0],[1],[2],[3]] y = [0,0,1,1] model = KNeighborsClassifier(n_neighbors=1) model.fit(X,y) print(model.predict([[1.1]]))
66. الگوریتم Naive Bayes
from sklearn.naive_bayes import GaussianNB X = [[1],[2],[3],[4]] y = [0,0,1,1] model = GaussianNB() model.fit(X,y) print(model.predict([[2.5]]))
67. الگوریتم SVM
from sklearn.svm import SVC X = [[0],[1],[2],[3]] y = [0,0,1,1] model = SVC() model.fit(X,y) print(model.predict([[1.5]]))
68. درخت تصمیم و تصویرسازی
from sklearn.tree import DecisionTreeClassifier, export_text X = [[0],[1],[2],[3]] y = [0,0,1,1] model = DecisionTreeClassifier() model.fit(X,y) print(export_text(model))
69. محاسبه دقت مدل
from sklearn.metrics import accuracy_score y_true = [0,1,1,0] y_pred = [0,1,0,0] print(accuracy_score(y_true, y_pred))
70. رگرسیون چند متغیره
from sklearn.linear_model import LinearRegression import numpy as np X = np.array([[1,2],[2,3],[3,4]]) y = np.array([3,5,7]) model = LinearRegression() model.fit(X,y) print(model.predict([[4,5]]))
71. PCA برای کاهش بعد
from sklearn.decomposition import PCA import numpy as np X = np.array([[1,2,3],[4,5,6],[7,8,9]]) pca = PCA(n_components=2) X_new = pca.fit_transform(X) print(X_new)
72. خوشه‌بندی K-Means
from sklearn.cluster import KMeans import numpy as np X = np.array([[1,2],[1,4],[5,6],[6,7]]) kmeans = KMeans(n_clusters=2) kmeans.fit(X) print(kmeans.labels_)
73. خوشه‌بندی Hierarchical
from scipy.cluster.hierarchy import dendrogram, linkage import matplotlib.pyplot as plt import numpy as np X = np.array([[1,2],[1,4],[5,6],[6,7]]) linked = linkage(X, 'single') dendrogram(linked) plt.show()
74. محاسبه ماتریس درهم ریختگی
from sklearn.metrics import confusion_matrix y_true = [0,1,0,1] y_pred = [0,1,1,1] print(confusion_matrix(y_true, y_pred))
75. cross-validation ساده
from sklearn.model_selection import cross_val_score from sklearn.linear_model import LogisticRegression import numpy as np X = np.array([[1],[2],[3],[4]]) y = np.array([0,0,1,1]) model = LogisticRegression() scores = cross_val_score(model, X, y, cv=2) print(scores)
76. GridSearch برای هایپرپارامتر
from sklearn.model_selection import GridSearchCV from sklearn.svm import SVC X = [[0],[1],[2],[3]] y = [0,0,1,1] params = {'C':[0.1,1,10]} grid = GridSearchCV(SVC(), param_grid=params) grid.fit(X,y) print(grid.best_params_)
77. بردارهای ویژگی با CountVectorizer
from sklearn.feature_extraction.text import CountVectorizer texts = ["I love AI", "AI is great"] vectorizer = CountVectorizer() X = vectorizer.fit_transform(texts) print(X.toarray())
78. TF-IDF ساده
from sklearn.feature_extraction.text import TfidfVectorizer texts = ["I love AI", "AI is great"] vectorizer = TfidfVectorizer() X = vectorizer.fit_transform(texts) print(X.toarray())
79. مدل ساده شبکه عصبی با Keras
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense import numpy as np X = np.array([[0],[1],[2],[3]]) y = np.array([0,0,1,1]) model = Sequential([Dense(1,input_dim=1,activation='sigmoid')]) model.compile(optimizer='adam', loss='binary_crossentropy') model.fit(X,y,epochs=50,verbose=0) print(model.predict(X))
80. پیش‌بینی چندکلاسه با شبکه عصبی
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense import numpy as np X = np.array([[0,0],[0,1],[1,0],[1,1]]) y = np.array([[1,0,0],[0,1,0],[0,1,0],[0,0,1]]) # one-hot model = Sequential([Dense(3,input_dim=2,activation='softmax')]) model.compile(optimizer='adam', loss='categorical_crossentropy') model.fit(X,y,epochs=100,verbose=0) print(model.predict(X))