خانه / درس ۵ سطح پیشرفته: (Machine Learning) یادگیری ماشین در پایتون – FastAPI + Scikit-learn + استقرار مدل با Docker درس ۵ سطح پیشرفته: (Machine Learning) یادگیری ماشین در پایتون – FastAPI + Scikit-learn + استقرار مدل با Docker 📅 ۱۴۰۴/۰۹/۱۴ ✍️ سجاد ⌛ 3 دقیقه مطالعه 👁️ 24 پایتون | Python پیشرفته 🗨️ 🤍 2 📤 0% ‹ بستن لیست دروس بازکردن لیست دروس پایتون | Python پیشرفته ▾ سلام دانشمند داده و مهندس هوش مصنوعی پایتون! بعد گذشتن از درس چهارم به درس پنجم و یکی از جذابترین درسهای سطح پیشرفته رسیدی. الان دیگه فقط برنامهنویس نیستی – یه **مهندس یادگیری ماشین** هستی که میتونه مدلهای هوشمند بسازه، با دادههای واقعی آموزشش بده، با FastAPI در قالب API ارائه کنه و با Docker روی سرور واقعی مستقر کنه. وقتی این درس تموم بشه، میتونی به هر شرکتی بری و بگی: «من مدل ML رو از صفر تا استقرار میدم!» — و همه با چشمای گردش بهت نگاه میکنن. آمادهای که هوش مصنوعی رو وارد پروژههات کنی؟ بریم که یه جهش کوانتومی بکنیم! چرا پایتون بهترین زبان برای Machine Learning است؟ کتابخانههای بینظیر: scikit-learn, TensorFlow, PyTorch, XGBoost جامعه عظیم و دیتاستهای آماده استقرار ساده با FastAPI + Docker استفاده شده توسط گوگل، متا، اوبر، نتفلیکس نصب کتابخانههای ضروری کپیpip install scikit-learn pandas numpy fastapi uvicorn python-multipart joblib اولین مدل: پیشبینی قیمت خانه با رگرسیون کپیimport pandas as pd from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestRegressor import joblib # داده نمونه (میتونی از Kaggle دانلود کنی) df = pd.read_csv("house_prices.csv") X = df[['area', 'bedrooms', 'age']] y = df['price'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) model = RandomForestRegressor(n_estimators=100, random_state=42) model.fit(X_train, y_train) print(f"دقت مدل: {model.score(X_test, y_test):.3f}") # ذخیره مدل joblib.dump(model, "house_price_model.pkl") print("مدل ذخیره شد!") ساخت API با FastAPI برای مدل کپی# main.py from fastapi import FastAPI from pydantic import BaseModel import joblib import numpy as np app = FastAPI(title="پیشبینی قیمت خانه", version="1.0") # بارگذاری مدل model = joblib.load("house_price_model.pkl") class HouseInput(BaseModel): area: float bedrooms: int age: int @app.post("/predict") async def predict_price(house: HouseInput): features = np.array([[house.area, house.bedrooms, house.age]]) prediction = model.predict(features)[0] return { "predicted_price": round(float(prediction), 2), "unit": "میلیون تومان", "input": house.dict() } @app.get("/") async def home(): return {"message": "مدل پیشبینی قیمت خانه آماده است! به /docs برو"} استقرار مدل با Docker کپی# Dockerfile FROM python:3.11-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . EXPOSE 8000 CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] پیشپردازش دادهها – مهمترین مرحله! کپیfrom sklearn.preprocessing import StandardScaler from sklearn.pipeline import Pipeline pipeline = Pipeline([ ('scaler', StandardScaler()), ('model', RandomForestRegressor()) ]) pipeline.fit(X_train, y_train) joblib.dump(pipeline, "house_pipeline.pkl") طبقهبندی: تشخیص ایمیل اسپم در ماشین لرنینگ پایتون کپیfrom sklearn.feature_extraction.text import TfidfVectorizer from sklearn.naive_bayes import MultinomialNB emails = ["خرید ویاگرا", "جلسه فردا", "فاکتور خرید", "تبریک برنده شدی!"] labels = [1, 0, 0, 1] # 1=اسپم vectorizer = TfidfVectorizer() X = vectorizer.fit_transform(emails) model = MultinomialNB() model.fit(X, labels) def is_spam(text): vec = vectorizer.transform([text]) return "اسپم" if model.predict(vec)[0] == 1 else "عادی" print(is_spam("تبریک! شما برنده ۱ میلیون شدید")) ۱۲ تمرین آتشین برای تبدیل شدن به ML Engineer مدل پیشبینی قیمت خانه رو با XGBoost بهتر کن یه API برای تشخیص اسپم ایمیل بساز مدل دستهبندی تصاویر با TensorFlow/Keras مدل پیشبینی فروش با Time Series (Prophet) Clustering مشتریها با K-Means یه Recommendation System ساده بساز مدل رو با GridSearchCV بهینه کن Cross Validation و ارزیابی مدل مدل رو با Docker و Nginx استقرار بده API با Rate Limiting و Authentication مدل رو با MLflow track کن پروژه نهایی: سیستم تشخیص تقلب در تراکنشها پروژه نهایی درس: سیستم تشخیص تقلب در تراکنشهای بانکی با ماشین لرنینگ پایتون کپیfrom fastapi import FastAPI, HTTPException from pydantic import BaseModel import joblib import numpy as np app = FastAPI(title="سیستم تشخیص تقلب بانکی") model = joblib.load("fraud_model.pkl") class Transaction(BaseModel): amount: float time: float v1: float v2: float # ... تا V28 class Config: schema_extra = {"example": {...}} @app.post("/detect-fraud") async def detect_fraud(tx: Transaction): features = np.array([[tx.amount, tx.time, tx.v1, tx.v2]]) # تا V28 prediction = model.predict(features)[0] probability = model.predict_proba(features)[0] return { "is_fraud": bool(prediction), "fraud_probability": float(probability[1]), "risk_level": "HIGH" if probability[1] > 0.8 else "MEDIUM" if probability[1] > 0.5 else "LOW" } جمعبندی و قدم بعدی تبریک میگم دانشمند داده! تو الان میتونی مدلهای یادگیری ماشین رو از صفر تا استقرار حرفهای بسازی. درس بعدی (درس ۶) قراره درباره **DevOps پیشرفته، Monitoring، Logging، Alerting و Observability** باشه – جایی که سیستمهات رو ۲۴/۷ زنده و سالم نگه میداری. پروژه تشخیص تقلب رو توی GitHub آپلود کن و با افتخار بگو: «من ML Engineer هستم!» ← درس قبلی: درس ۴ سطح پیشرفته: GraphQL، WebSocket پایتون پیشرفته، SSE و Real-time Dashboard در پایتون درس بعدی: درس ۶ سطح پیشرفته: DevOps پیشرفته — مانیتورینگ در پایتون: Observability، Logging، Alerting و Tracing → برچسبها: classificationData ScientistDocker MLFastAPIML Engineernumpypandasregressionscikit-learnآموزش پیشرفته پایتوناستقرار مدلپایتونپروژه پایتونپیشبینی قیمتتشخیص تقلبماشین لرنینگهوش مصنوعییادگیری ماشین ارسال نظر جدید لغو پاسخ ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم.
سلام دانشمند داده و مهندس هوش مصنوعی پایتون! بعد گذشتن از درس چهارم به درس پنجم و یکی از جذابترین درسهای سطح پیشرفته رسیدی. الان دیگه فقط برنامهنویس نیستی – یه **مهندس یادگیری ماشین** هستی که میتونه مدلهای هوشمند بسازه، با دادههای واقعی آموزشش بده، با FastAPI در قالب API ارائه کنه و با Docker روی سرور واقعی مستقر کنه. وقتی این درس تموم بشه، میتونی به هر شرکتی بری و بگی: «من مدل ML رو از صفر تا استقرار میدم!» — و همه با چشمای گردش بهت نگاه میکنن. آمادهای که هوش مصنوعی رو وارد پروژههات کنی؟ بریم که یه جهش کوانتومی بکنیم! چرا پایتون بهترین زبان برای Machine Learning است؟ کتابخانههای بینظیر: scikit-learn, TensorFlow, PyTorch, XGBoost جامعه عظیم و دیتاستهای آماده استقرار ساده با FastAPI + Docker استفاده شده توسط گوگل، متا، اوبر، نتفلیکس نصب کتابخانههای ضروری کپیpip install scikit-learn pandas numpy fastapi uvicorn python-multipart joblib اولین مدل: پیشبینی قیمت خانه با رگرسیون کپیimport pandas as pd from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestRegressor import joblib # داده نمونه (میتونی از Kaggle دانلود کنی) df = pd.read_csv("house_prices.csv") X = df[['area', 'bedrooms', 'age']] y = df['price'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) model = RandomForestRegressor(n_estimators=100, random_state=42) model.fit(X_train, y_train) print(f"دقت مدل: {model.score(X_test, y_test):.3f}") # ذخیره مدل joblib.dump(model, "house_price_model.pkl") print("مدل ذخیره شد!") ساخت API با FastAPI برای مدل کپی# main.py from fastapi import FastAPI from pydantic import BaseModel import joblib import numpy as np app = FastAPI(title="پیشبینی قیمت خانه", version="1.0") # بارگذاری مدل model = joblib.load("house_price_model.pkl") class HouseInput(BaseModel): area: float bedrooms: int age: int @app.post("/predict") async def predict_price(house: HouseInput): features = np.array([[house.area, house.bedrooms, house.age]]) prediction = model.predict(features)[0] return { "predicted_price": round(float(prediction), 2), "unit": "میلیون تومان", "input": house.dict() } @app.get("/") async def home(): return {"message": "مدل پیشبینی قیمت خانه آماده است! به /docs برو"} استقرار مدل با Docker کپی# Dockerfile FROM python:3.11-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . EXPOSE 8000 CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] پیشپردازش دادهها – مهمترین مرحله! کپیfrom sklearn.preprocessing import StandardScaler from sklearn.pipeline import Pipeline pipeline = Pipeline([ ('scaler', StandardScaler()), ('model', RandomForestRegressor()) ]) pipeline.fit(X_train, y_train) joblib.dump(pipeline, "house_pipeline.pkl") طبقهبندی: تشخیص ایمیل اسپم در ماشین لرنینگ پایتون کپیfrom sklearn.feature_extraction.text import TfidfVectorizer from sklearn.naive_bayes import MultinomialNB emails = ["خرید ویاگرا", "جلسه فردا", "فاکتور خرید", "تبریک برنده شدی!"] labels = [1, 0, 0, 1] # 1=اسپم vectorizer = TfidfVectorizer() X = vectorizer.fit_transform(emails) model = MultinomialNB() model.fit(X, labels) def is_spam(text): vec = vectorizer.transform([text]) return "اسپم" if model.predict(vec)[0] == 1 else "عادی" print(is_spam("تبریک! شما برنده ۱ میلیون شدید")) ۱۲ تمرین آتشین برای تبدیل شدن به ML Engineer مدل پیشبینی قیمت خانه رو با XGBoost بهتر کن یه API برای تشخیص اسپم ایمیل بساز مدل دستهبندی تصاویر با TensorFlow/Keras مدل پیشبینی فروش با Time Series (Prophet) Clustering مشتریها با K-Means یه Recommendation System ساده بساز مدل رو با GridSearchCV بهینه کن Cross Validation و ارزیابی مدل مدل رو با Docker و Nginx استقرار بده API با Rate Limiting و Authentication مدل رو با MLflow track کن پروژه نهایی: سیستم تشخیص تقلب در تراکنشها پروژه نهایی درس: سیستم تشخیص تقلب در تراکنشهای بانکی با ماشین لرنینگ پایتون کپیfrom fastapi import FastAPI, HTTPException from pydantic import BaseModel import joblib import numpy as np app = FastAPI(title="سیستم تشخیص تقلب بانکی") model = joblib.load("fraud_model.pkl") class Transaction(BaseModel): amount: float time: float v1: float v2: float # ... تا V28 class Config: schema_extra = {"example": {...}} @app.post("/detect-fraud") async def detect_fraud(tx: Transaction): features = np.array([[tx.amount, tx.time, tx.v1, tx.v2]]) # تا V28 prediction = model.predict(features)[0] probability = model.predict_proba(features)[0] return { "is_fraud": bool(prediction), "fraud_probability": float(probability[1]), "risk_level": "HIGH" if probability[1] > 0.8 else "MEDIUM" if probability[1] > 0.5 else "LOW" } جمعبندی و قدم بعدی تبریک میگم دانشمند داده! تو الان میتونی مدلهای یادگیری ماشین رو از صفر تا استقرار حرفهای بسازی. درس بعدی (درس ۶) قراره درباره **DevOps پیشرفته، Monitoring، Logging، Alerting و Observability** باشه – جایی که سیستمهات رو ۲۴/۷ زنده و سالم نگه میداری. پروژه تشخیص تقلب رو توی GitHub آپلود کن و با افتخار بگو: «من ML Engineer هستم!» ← درس قبلی: درس ۴ سطح پیشرفته: GraphQL، WebSocket پایتون پیشرفته، SSE و Real-time Dashboard در پایتون درس بعدی: درس ۶ سطح پیشرفته: DevOps پیشرفته — مانیتورینگ در پایتون: Observability، Logging، Alerting و Tracing → برچسبها: classificationData ScientistDocker MLFastAPIML Engineernumpypandasregressionscikit-learnآموزش پیشرفته پایتوناستقرار مدلپایتونپروژه پایتونپیشبینی قیمتتشخیص تقلبماشین لرنینگهوش مصنوعییادگیری ماشین