ویرگول
ورودثبت نام
محمدمهدی لطفی نژاد
محمدمهدی لطفی نژاددیتاساینتیست و فعال در حوزه کسب و کارهای آنلاین | lotfinejad.ir
محمدمهدی لطفی نژاد
محمدمهدی لطفی نژاد
خواندن ۵ دقیقه·۱۲ روز پیش

درس دوم: اکوسیستم پایتون برای یادگیری ماشین (Python Ecosystem for Machine Learning)

یادداشت های یک دیتاساینتیست: یادگیری ماشین آن طور که در دنیای واقعی کار می کند

اگر بخواهم خلاصه بگویم، دلیل اینکه امروز بیشتر پروژه های دیتاساینس و یادگیری ماشین با پایتون انجام می شوند، یک چیز است: اکوسیستم.
نه خود زبان به تنهایی، نه یک کتابخانه خاص، بلکه مجموعه ای از ابزارهایی که کنار هم کار می کنند و از تحقیق تا محصول نهایی همراهت هستند.

در این درس می خواهیم دقیق و به زبان ساده ببینیم این اکوسیستم چیست، چرا شکل گرفته و امروز در عمل چطور باید از آن استفاده کرد.


چرا پایتون (Python) به انتخاب اول یادگیری ماشین تبدیل شد؟

پایتون یک زبان برنامه نویسی عمومی (General Purpose Programming Language) است.
یعنی فقط برای تحلیل داده یا یادگیری ماشین ساخته نشده، اما دقیقاً همین ویژگی باعث قدرتش شده است.

چند دلیل اصلی محبوبیت پایتون در یادگیری ماشین:

  • خوانایی بالا و سینتکس ساده

  • مناسب برای کار تعاملی و آزمایش سریع (Prototyping)

  • قابل استفاده هم در تحقیق و هم در محیط عملیاتی (Production)

  • جامعه کاربری بسیار بزرگ و فعال

برخلاف ابزارهایی مثل Matlab یا حتی R، با پایتون لازم نیست وقتی کارت جدی شد، زبانت را عوض کنی.
همان کدی که برای تحلیل اولیه می نویسی، می تواند پایه سیستم واقعی شود.


اکوسیستم SciPy یعنی چه و چرا مهم است؟

وقتی از اکوسیستم SciPy صحبت می کنیم، منظورمان یک کتابخانه واحد نیست.
بلکه مجموعه ای از ابزارهاست که هر کدام نقش مشخصی دارند و کنار هم کار می کنند.

مهم ترین اجزای این اکوسیستم برای یادگیری ماشین:

نامپای (NumPy)

پایه همه چیز است.
تقریباً تمام داده هایی که وارد الگوریتم های یادگیری ماشین می شوند، در نهایت به آرایه های NumPy تبدیل می شوند.

پانداس (Pandas)

ابزار اصلی کار با داده های جدولی (Tabular Data).
لود کردن CSV، بررسی داده، فیلتر کردن، خلاصه آماری و تمیزکاری اولیه معمولاً با Pandas انجام می شود.

مت پلات لیب (Matplotlib)

کتابخانه اصلی رسم نمودار.
برای دیدن الگوها، توزیع داده و خطاها، Visualization هنوز هم یکی از مهم ترین ابزارهاست.

به زبان ساده:

  • Pandas برای فهم داده

  • NumPy برای محاسبه

  • Matplotlib برای دیدن


scikit-learn قلب یادگیری ماشین کلاسیک

کتابخانه scikit-learn جایی است که یادگیری ماشین در پایتون عملاً اتفاق می افتد.

این کتابخانه:

  • روی SciPy ساخته شده

  • الگوریتم های طبقه بندی (Classification)، رگرسیون (Regression)، خوشه بندی (Clustering) و بیشتر را دارد

  • ابزار ارزیابی مدل (Evaluation)

  • پیش پردازش داده (Preprocessing)

  • و تنظیم پارامترها (Hyperparameter Tuning) را فراهم می کند

مزیت مهم scikit-learn این است که:

  • API آن یکدست و قابل پیش بینی است

  • یادگیری یک الگوریتم، یادگیری بقیه را خیلی راحت تر می کند

  • کاملاً متن باز (Open Source) و مناسب استفاده تجاری است


Python Ecosystem for Machine Learning ------------------------------------- +-------------------------------------------------------------------+ | Python (Language) | | general-purpose | scripting | notebooks | production services | +-------------------------------+-----------------------------------+ | v +-------------------------------------------------------------------+ | SciPy Stack (Core Ecosystem) | | | | +-----------+ +-----------+ +-------------+ | | | NumPy | | Pandas | | Matplotlib | | | | arrays | | tabular | | plotting | | | | vectorize | | ETL/EDA | | charts | | | +-----------+ +-----------+ +-------------+ | | \ | / | | \ | / | | v v v | | +-------------------------------+ | | | Data in a common form | | | | arrays + dataframes + plots | | | +-------------------------------+ | +-------------------------------------------------------------------+ | v +-------------------------------------------------------------------+ | scikit-learn (ML Toolkit) | | | | +----------------+ +---------------------+ +--------------+ | | | Preprocessing | | Model Training | | Evaluation | | | | scaling/enc |-->| fit/predict |-->| metrics/CV | | | | impute/split | | classification | | test harness | | | +----------------+ | regression | +--------------+ | | | | clustering | | | | v +---------------------+ v | | +----------------+ | +------------------+ | | | Pipelines |<-----------+----------->| Tuning/Ensembles | | | | repeatable | | grid/random/Bayes| | | | reproducible | | RF/GB/Stacking | | | +----------------+ +------------------+ | +-------------------------------------------------------------------+ | v +-------------------------------------------------------------------+ | Your Workflow (End-to-End) | | | | 1) Define Problem (Problem Definition) | | 2) Analyze Data (Data Analysis / EDA) | | 3) Prepare Data (Data Preparation) | | 4) Evaluate Models (Algorithm Evaluation) | | 5) Improve Results (Model Improvement) | | 6) Deliver/Use Model (Deployment / Inference) | | | +-------------------------------------------------------------------+ | v +-------------------------------------------------------------------+ | Environment Setup (Modern) | | | | Python 3.10+ | venv/conda | pip install ... | versions | | | +-------------------------------------------------------------------+

نصب اکوسیستم پایتون

بیایید صادق باشیم:
دیگر Python 2 سال هاست مرده است.
امروز اگر وارد این حوزه می شوی، فقط و فقط با Python 3 جلو می رویم.

نسخه پیشنهادی پایتون

در حال حاضر:

  • Python 3.10 یا 3.11 کاملاً مناسب است

  • اگر تازه کار هستی، آخرین نسخه پایدار Python 3 انتخاب خوبی است

بررسی نسخه نصب شده:

# Check Python version import sys print(sys.version)

ساخت محیط مجازی (Virtual Environment)

یکی از عادت های حرفه ای که از همین اول باید یاد بگیری:

برای هر پروژه، یک محیط جدا.

python -m venv .venv or python3 -m venv .venv source .venv/bin/activate # On macOS / Linux

یا در ویندوز:

.venv\Scripts\activate

نصب کتابخانه های اصلی

بعد از فعال کردن محیط مجازی:

pip install numpy pandas matplotlib scikit-learn

بررسی نصب:

# Check installed versions import numpy import pandas import matplotlib import sklearn print(numpy.__version__) print(pandas.__version__) print(matplotlib.__version__) print(sklearn.__version__)

کامنت ها عمداً ساده اند؛ هدف فهمیدن کاربرد است، نه نمایش پیچیدگی.


Anaconda: راه راحت تر برای بعضی ها

اگر با نصب دستی راحت نیستی، Anaconda هنوز هم یک گزینه قابل قبول است.

مزایا:

  • همه چیز آماده

  • مناسب شروع سریع

معایب:

  • سنگین تر از pip + venv

  • گاهی بیش از حد ابزار نصب می کند

اگر تازه کار هستی یا روی سیستم شخصی کار می کنی، Anaconda بد نیست.
اگر پروژه واقعی و قابل کنترل می خواهی، pip و محیط مجازی انتخاب حرفه ای تری است.


جمع بندی درس دوم

در این درس دیدیم:

  • چرا پایتون (Python) به زبان اصلی یادگیری ماشین تبدیل شده

  • اکوسیستم SciPy شامل چه ابزارهایی است و هرکدام چه نقشی دارند

  • scikit-learn چرا هسته یادگیری ماشین کلاسیک است

  • و امروز در سال ۲۰۲۶ چطور باید این اکوسیستم را نصب و آماده کرد


قدم بعدی

در درس بعدی، وارد کار عملی می شویم:
یک مرور سریع و کاربردی روی Python و SciPy
فقط آن چیزهایی که برای شروع پروژه یادگیری ماشین واقعاً لازم است، نه بیشتر.


یادگیری ماشینscikit learnmachine learning
۱
۰
محمدمهدی لطفی نژاد
محمدمهدی لطفی نژاد
دیتاساینتیست و فعال در حوزه کسب و کارهای آنلاین | lotfinejad.ir
شاید از این پست‌ها خوشتان بیاید