55. ساخت شبکه GAN ساده
56. استفاده از pre-trained VGG16 برای feature extraction
57. fine-tuning مدل از پیش آموزش دیده
58. استفاده از tf.data برای pipeline دادهها
59. پیشبینی تصاویر جدید با مدل CNN
60. اندازهگیری دقت مدل با sklearn
# 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')
---
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
82. استفاده از Early Stopping برای جلوگیری از overfitting
83. Cross-validation برای مدلهای Deep Learning
84. ایجاد Embedding Layer در شبکه عصبی
85. استفاده از Dropout برای کاهش overfitting
86. آموزش مدل CNN برای CIFAR-10
87. پیشبینی با مدل آموزش دیده PyTorch
88. استفاده از DataLoader در PyTorch
89. تعریف Custom Dataset در PyTorch
90. استفاده از optimizer Adam در PyTorch
91. محاسبه loss با CrossEntropy
92. ذخیره و بارگذاری مدل PyTorch
93. افزایش دادهها با Albumentations
94. آموزش شبکه RNN برای پیشبینی توالیها
95. استفاده از GRU به جای LSTM
96. محاسبه accuracy و F1-score
97. استفاده از TensorFlow Hub برای مدلهای پیشآموزش دیده
98. ترکیب CNN و RNN برای دادههای تصویری و زمانی
99. آموزش GAN برای تولید تصویر واقعی
100. ارزیابی مدل با Confusion Matrix و ROC Curve
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)Kaggle
Google | nnlm | Kaggle
Token based text embeddings trained on various Google News datasets
فصل پروژهها و مسائل ترکیبی عملی – ۱۰۰ سوال
بخش ۱: پروژههای مبتدی (سوال 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. بررسی اندازه فایل
چاپ اندازه فایل موجود.
بخش ۱: پروژههای مبتدی (سوال 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 و کاراکترها برای ایجاد پسورد امن.
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
شامل افزودن، حذف، ویرایش، جستجو و ذخیره در فایل.
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)
---
---
سوالات مقدماتی (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)
22. پیشبینی با مدل جنگل تصادفی
23. محاسبه دقت جنگل تصادفی
24. آموزش مدل SVM (ماشین بردار پشتیبان)
25. پیشبینی با SVM
26. آموزش مدل Naive Bayes
27. پیشبینی با Naive Bayes
28. نمایش ماتریس درهمریختگی (Confusion Matrix)
29. رسم نمودار ماتریس درهمریختگی با seaborn
30. آموزش مدل رگرسیون لجستیک
31. پیشبینی با رگرسیون لجستیک
32. نرمالسازی ویژگیها با StandardScaler
33. کاهش بعد با PCA (Principal Component Analysis)
34. نمایش نقاط بعد از PCA
35. آموزش مدل K-Means برای خوشهبندی
36. رسم خوشههای K-Means
37. محاسبه silhouette score خوشهبندی
38. استفاده از train_test_split با stratify
39. آموزش مدل Gradient Boosting
40. پیشبینی و محاسبه دقت Gradient Boosting
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
42. کامپایل مدل
43. آموزش مدل شبکه عصبی
44. پیشبینی با شبکه عصبی
45. ارزیابی دقت شبکه عصبی
46. اضافه کردن Dropout برای جلوگیری از overfitting
47. آموزش مدل با EarlyStopping
48. شبکه عصبی با چند کلاس (Multi-class)
49. شبکه عصبی کانولوشنی (CNN) ساده برای تصاویر
50. شبکه عصبی بازگشتی (RNN) ساده برای دادههای زمانی
51. استفاده از LSTM برای پیشبینی سریهای زمانی
52. استفاده از embedding برای متن
53. پیشبینی متن با مدل LSTM
54. استفاده از callbacks برای ذخیره بهترین مدل
55. بارگذاری مدل ذخیره شده
56. پیشبینی تصویر با CNN آموزش دیده
57. استفاده از ImageDataGenerator برای افزایش دادهها
58. محاسبه ماتریس درهمریختگی برای multi-class
59. رسم نمودار دقت و خطا در هر epoch
60. ذخیره تاریخچه آموزش مدل به CSV
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 با کلاسها و منو
62. پیشبینی با مدل از فایل CSV ورودی
63. ذخیره مدل TensorFlow به فرمت SavedModel
64. بارگذاری مدل SavedModel
65. نرمالسازی دادهها با MinMaxScaler
66. نرمالسازی دادههای جدید
67. استفاده از GridSearchCV برای انتخاب هایپرپارامتر
68. کاهش ابعاد با PCA
69. نمایش دادهها بعد از PCA
70. پیادهسازی شبکه GAN ساده
71. تبدیل تصویر به آرایه برای CNN
72. پیشبینی تصویر با مدل آموزش دیده CNN
73. ذخیره بردار ویژگیها از یک لایه میانی
74. استفاده از Tokenizer برای متن
75. Padding دنبالهها برای مدل LSTM
76. استفاده از Embedding در LSTM
77. محاسبه F1-score مدل
78. ذخیره ماتریس confusion به فایل CSV
79. رسم نمودار Loss و Accuracy با Seaborn
80. ترکیب دادههای مختلف با pandas برای آموزش
81. استفاده از مدل از پیش آموزش دیده (Pretrained) ResNet
82. استخراج ویژگیها با مدل Pretrained
83. فشردهسازی مدل با TFLite
سوالات ترکیبی و حرفهای (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
85. ایجاد آموزش با دادههای دستهبندی شده (Class Weights)
86. پیشبینی چند برچسبی (Multi-label)
87. ذخیره پیشبینیها به CSV
88. اجرای مدل روی GPU با TensorFlow
89. نمایش شکل شبکه با plot_model
90. استفاده از callbacks سفارشی برای ذخیره معیارها
91. محاسبه ROC AUC برای مدل باینری
92. تبدیل تصاویر رنگی به خاکستری برای CNN
93. استفاده از BatchNormalization
94. Dropout در شبکه CNN
95. افزایش داده متن با Synonyms Replacement
96. ذخیره وزنهای مدل به HDF5
97. بارگذاری وزنهای ذخیره شده
98. استفاده از callbacks برای EarlyStopping + ModelCheckpoint
99. استفاده از TensorBoard برای مانیتورینگ
100. محاسبه دقت مدل با scikit-learn
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)
---
---
۱. تشخیص اعداد دستنویس (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)
---
۲۰. ایجاد چتبات ساده
# مشابه 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))
توضیح:
یک دیکشنری برای پاسخها داریم.
کاربر پیام میدهد و ربات پاسخ مناسب میدهد یا پیام پیشفرض میفرستد.
با تایپ خداحافظ برنامه پایان مییابد.
"سلام": "سلام! حال شما چطوره؟",
"خوبی؟": "من خوبم، مرسی! شما چطور؟",
"خداحافظ": "خداحافظ! روز خوبی داشته باشی.",
}
def chatbot(msg):
return responses.get(msg, "متوجه نشدم. لطفا دوباره بگویید.")
while True:
msg = input("شما: ")
if msg == "خداحافظ":
print("ربات:", chatbot(msg))
break
print("ربات:", chatbot(msg))
توضیح:
یک دیکشنری برای پاسخها داریم.
کاربر پیام میدهد و ربات پاسخ مناسب میدهد یا پیام پیشفرض میفرستد.
با تایپ خداحافظ برنامه پایان مییابد.
پروژههای ۲۱–۴۰
۲۱. پیشبینی قیمت خانه با Linear Regression
۲۲. طبقهبندی ایمیل اسپم با Naive Bayes
۲۳. خوشهبندی مشتریان با KMeans
۲۴. تشخیص دستنویس با MNIST و MLP
۲۵. تحلیل احساسات ساده با TextBlob
۲۶. پیشبینی سری زمانی با ARIMA
۲۷. خوشهبندی تصاویر با KMeans و PCA
۲۸. تشخیص اشیا با OpenCV و کپسولبندی رنگها
۲۹. پیشبینی بیماری قلبی با RandomForest
۳۰. تولید متن ساده با GPT-2 (transformers)
۲۱. پیشبینی قیمت خانه با 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
۳۲. پیشبینی قیمت سهام با Linear Regression
۳۳. خوشهبندی متون با TF-IDF و KMeans
۳۴. تحلیل احساسات توییتها با Vader
۳۵. تولید تصویر با GAN ساده (PyTorch)
۳۶. شناسایی اعداد MNIST با CNN (PyTorch)
۳۷. سیستم توصیهگر ساده (Collaborative Filtering)
۳۸. تشخیص شی با YOLO (OpenCV + pre-trained weights)
۳۹. طبقهبندی گل Iris با Random Forest
۴۰. کاهش ابعاد با PCA و نمایش گرافیکی
پروژههای ۳۱–۴۰
۳۱. تشخیص چهره با 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 و دادههای زمانبندی
۴۲. خوشهبندی مشتریان با KMeans (Customer Segmentation)
۴۳. تشخیص اعداد دستنویس با SVM (MNIST)
۴۴. پیشبینی قیمت خانه با Random Forest
۴۵. طبقهبندی اخبار با Naive Bayes
۴۶. ترجمه متن با Transformer ساده (Hugging Face)
۴۷. تولید متن با GPT-2 (Hugging Face)
۴۸. شناسایی اشیاء با MobileNet (TensorFlow/Keras)
۴۹. شناسایی احساسات با BERT
۵۰. کاهش ابعاد با t-SNE و نمایش دادهها
۵۱. پیشبینی نرخ ارز با LSTM (Keras)
۵۲. شبکه GAN برای تولید دستخط (MNIST)
۵۳. تحلیل خوشهای تصاویر با KMeans (Feature Extraction با CNN)
۴۱. پیشبینی فروش با 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)
۵۵. تشخیص اسپم ایمیل با Naive Bayes
۵۶. پیشبینی ترافیک با Recurrent Neural Network
۵۷. تحلیل سریهای زمانی با Prophet
۵۸. طبقهبندی صدا با CNN 1D
۵۹. تشخیص حرکات دست با OpenCV و MediaPipe
۶۰. پیشبینی بیماری قلبی با Random Forest
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)
62. طبقهبندی گلها (Iris Dataset)
63. استانداردسازی دادهها
64. تقسیم داده به آموزش و تست
65. الگوریتم k-NN
66. الگوریتم Naive Bayes
67. الگوریتم SVM
68. درخت تصمیم و تصویرسازی
69. محاسبه دقت مدل
70. رگرسیون چند متغیره
71. PCA برای کاهش بعد
72. خوشهبندی K-Means
73. خوشهبندی Hierarchical
74. محاسبه ماتریس درهم ریختگی
75. cross-validation ساده
76. GridSearch برای هایپرپارامتر
77. بردارهای ویژگی با CountVectorizer
پروژه 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 ساده
79. مدل ساده شبکه عصبی با Keras
80. پیشبینی چندکلاسه با شبکه عصبی
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))