آموزش برای کسی که هیچ چیزی از نصب برنامهها نمیداند
آمادهکردن پایتون برای هوش مصنوعی، خیلی ساده و قدمبهقدم
در این آموزش هیچ مرحلهای را ناگهانی انجام نمیدهیم. اول میفهمیم هر ابزار چیست و چرا به آن نیاز داریم؛ بعد دقیقاً همان کاری را که باید انجام دهیم، قدمبهقدم پیش میبریم.
خیلی ساده: VS Code مثل دفتر نوشتن کد است، Python مثل موتور اجرای کد است و کتابخانهها مثل ابزارهای آمادهای هستند که کارهای سخت را برای ما انجام میدهند.
نشانه درست انجامشدن: شماره نسخه چهار کتابخانه و پیام آخر را میبینی.
!
خطاهای رایج کامپیوتر؛ خیلی ساده
فقط خطایی را بخوان که شبیه مشکل خودت است.
دستور python شناخته نمیشود
اول VS Code را ببند و دوباره باز کن. بعد py --version را امتحان کن. اگر هیچکدام کار نکرد، Python را دوباره نصب کن و این بار تیک Add Python to PATH را بزن.
خطای No module named ...
یعنی کتابخانه موردنظر در Python فعلی نصب نیست یا محیط اشتباه انتخاب شده است. ابتدا (.venv) را در Terminal بررسی کن، بعد کتابخانه را با python -m pip install نام-کتابخانه نصب کن.
محیط مجازی فعال نمیشود و درباره اجرای اسکریپت خطا میدهد
آدرسی را که با http://127.0.0.1:8888 شروع میشود کامل کپی کن.
Chrome را باز کن و آدرس را در نوار بالای مرورگر قرار بده.
برای توقف Jupyter به Terminal برگرد و Ctrl + C را بزن.
نشانه درست انجامشدن: صفحه Jupyter در مرورگر همان گوشی باز میشود.
۱۴
پروژهها و کتابخانهها را در گوشی مرتب نگه دار
برای مبتدیها روش سادهتر از محیط مجازی را انتخاب میکنیم.
چرا این بخش با کامپیوتر فرق دارد؟ در Pydroid، دکمه Run همیشه مثل Terminal کامپیوتر با محیط مجازی کار نمیکند. پس برای شروع لازم نیست خودت را درگیر venv کنی.
روش ساده پیشنهادی
برای هر پروژه یک پوشه جدا بساز؛ مثلاً project-1.
فایلهای Python و CSV همان پروژه را داخل همان پوشه نگه دار.
یک فایل متنی با نام requirements.txt بساز.
نام کتابخانههای لازم را خطبهخط داخل آن بنویس:
requirements.txt
numpy
pandas
matplotlib
scikit-learn
این فایل فقط یادآوری میکند پروژه به چه کتابخانههایی نیاز دارد. در گوشی، کتابخانهها معمولاً داخل محیط خود Pydroid نصب میشوند.
برای افراد پیشرفتهتر: ساخت venv در Terminal ممکن است، اما برای دانشجوی مبتدی و دکمه Run برنامه همیشه ساده و قابلاعتماد نیست؛ به همین دلیل در مسیر اصلی از آن استفاده نمیکنیم.
۱۵
XGBoost روی گوشی
ممکن است نصب شود؛ اما روی همه گوشیها تضمینشده نیست.
چرا ممکن است نصب نشود؟ XGBoost فقط کد ساده Python نیست و بخشهای ساختهشده برای پردازنده و سیستمعامل دارد. ممکن است نسخه مناسب Android و گوشی تو موجود نباشد.
اگر شماره نسخه دیدی: XGBoost روی گوشی تو نصب شده است.
اگر خطا دیدی: مشکل از تو نیست. روی بعضی گوشیها بسته سازگار وجود ندارد. از Google Colab در مرورگر گوشی یا از کامپیوتر استفاده کن و فایلهای ناشناس APK یا Wheel دانلود نکن.
جایگزین ساده داخل گوشی
برای تمرین مدلهای شبیه Boosting میتوانی از مدل آماده داخل Scikit-learn استفاده کنی:
boosting_test.py
from sklearn.datasets import load_iris
from sklearn.ensemble import HistGradientBoostingClassifier
X, y = load_iris(return_X_y=True)
model = HistGradientBoostingClassifier()
model.fit(X, y)
print("مدل با موفقیت آموزش دید!")
۱۶
آزمایش نهایی ماشینلرنینگ در گوشی
یک مدل کوچک میسازیم تا از سالمبودن محیط مطمئن شویم.
این کد چه میکند؟ یک دیتاست کوچک آماده را باز میکند، یک مدل ساده میسازد، مدل را آموزش میدهد و دقت آن را چاپ میکند.
یک فایل جدید با نام mobile_ml_test.py بساز.
کد زیر را داخل آن قرار بده.
روی دکمه Run بزن.
mobile_ml_test.py
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(
X,
y,
test_size=0.2,
random_state=42
)
model = LogisticRegression(max_iter=300)
model.fit(X_train, y_train)
prediction = model.predict(X_test)
print("دقت مدل:", accuracy_score(y_test, prediction))
print("محیط ماشینلرنینگ گوشی آماده است!")
نشانه درست انجامشدن: یک عدد برای دقت مدل و پیام آمادهبودن محیط نمایش داده میشود.
!
خطاهای رایج گوشی
متن خطا را با عنوانهای زیر مقایسه کن.
No module named ...
کتابخانه نصب نشده است. وارد بخش Pip شو، نام همان کتابخانه را جستوجو و نصب کن. توجه کن نام نصب Scikit-learn است، ولی در کد آن را با sklearn وارد میکنیم.
No matching distribution found
نسخه آمادهای برای گوشی یا نسخه Python تو پیدا نشده است. Repository Plugin را نصب کن. اگر باز هم خطا ماند، از کامپیوتر یا Google Colab استفاده کن.
Failed building wheel
گوشی تلاش کرده کتابخانه را از صفر بسازد و موفق نشده است. برای کتابخانههای علمی از Repository Plugin استفاده کن و فایل ناشناس از اینترنت نصب نکن.
برنامه موقع نصب بسته بسته میشود
فضای خالی ایجاد کن، برنامههای دیگر را ببند، گوشی را یکبار خاموش و روشن کن و کتابخانهها را یکییکی نصب کن.
نمودار باز نمیشود
مطمئن شو در انتهای کد plt.show() نوشتهای. سپس یک نمودار کوچکتر امتحان کن.
Jupyter در مرورگر باز نمیشود
Terminal نباید بسته شده باشد. آدرس را کامل، همراه بخش Token، در همان گوشی باز کن. اگر پورت 8888 خطا داد از 8890 استفاده کن.
ML
بعد از نصب ابزارها، ماشینلرنینگ را از کجا شروع کنیم؟
اول کتابخانههای لازم را مشخص میکنیم؛ بعد الگوریتمها را به ترتیب یاد میگیریم و در پایان پروژه میسازیم.
ماشینلرنینگ خیلی ساده یعنی چه؟
بهجای اینکه تمام جوابها را با قانونهای دستی به برنامه بدهیم، نمونههای داده را به مدل میدهیم تا الگو را یاد بگیرد و برای داده جدید پیشبینی کند.
برای شروع فقط چه کتابخانههایی لازم است؟
لازم نیست در ابتدای کار دهها کتابخانه نصب کنی. برای بیشتر تمرینهای مقدماتی همین بستهها کافی هستند:
لازم برای شروع
NumPy — کار با عددها و آرایهها
Pandas — خواندن و مرتبکردن دادهها
Matplotlib — رسم نمودار
Scikit-learn — الگوریتمها، آمادهسازی داده و ارزیابی مدل
برای گوشی: بستههای اصلی را در بخش Pip برنامه Pydroid 3 یکییکی نصب کن. نصب XGBoost روی همه گوشیها ممکن نیست؛ در این حالت از Scikit-learn یا محیط ابری استفاده کن.
ترتیب پیشنهادی یادگیری ماشینلرنینگ
این مسیر از برنامه آموزشی داخل تصویر گرفته شده و کمی سادهتر و منطقیتر دستهبندی شده است. هر مرحله را یاد بگیر، یک تمرین انجام بده و بعد سراغ مرحله بعد برو.
پایه و دادهیادگیری نظارتشدهیادگیری بدوننظارتکاهش ویژگیها
۱
آشنایی با ماشینلرنینگ
مدل، داده، ویژگی، جواب درست، آموزش و پیشبینی را با مثالهای ساده بشناس.
شروع مسیر
۲
NumPy
آرایه، شکل داده، انتخاب خانهها و محاسبات عددی را یاد بگیر.
پایه داده
۳
Pandas
فایل CSV را بخوان، سطر و ستون را بررسی و داده خراب را تمیز کن.
آمادهسازی داده
۴
Matplotlib
نمودار خطی، میلهای، پراکندگی و هیستوگرام رسم کن.
دیدن داده
۵
Seaborn
رابطه ستونها، توزیع داده و همبستگی را راحتتر ببین.
تحلیل تصویری
تمرین اول: تحلیل یک فایل CSV و رسم چند نمودار
۶
رگرسیون خطی
برای پیشبینی یک عدد؛ مثل قیمت خانه یا نمره دانشجو.
پیشبینی عدد
۷
رگرسیون لجستیک
برای دستهبندی؛ مثل قبول یا رد، سالم یا بیمار.
دستهبندی
پروژه: پیشبینی قیمت و یک مسئله دستهبندی دوحالته
۸
KNN
جواب را با نگاهکردن به نزدیکترین نمونهها پیدا میکند.
همسایهها
۹
درخت تصمیم
با چند سؤال پشتسرهم به یک تصمیم نهایی میرسد.
قانونهای شاخهای
۱۰
جنگل تصادفی
چند درخت تصمیم را ترکیب میکند تا نتیجه مطمئنتری بدهد.
چند درخت
پروژه: مقایسه KNN، درخت تصمیم و جنگل تصادفی روی یک داده
۱۱
SVM
مرزی پیدا میکند که دستههای داده را بهتر از هم جدا کند.
مرز تصمیم
۱۲
XGBoost
درختها را مرحلهبهمرحله میسازد و خطای مدل قبلی را کمتر میکند.
Boosting
پروژه: مقایسه SVM و XGBoost و بررسی دقت آنها
۱۳
K-Means
دادههای بدون جواب آماده را بر اساس شباهت در چند گروه قرار میدهد.
خوشهبندی
۱۴
PCA
تعداد ستونهای داده را کمتر میکند و بخش مهم اطلاعات را نگه میدارد.
کاهش بُعد
پروژه پایانی: خوشهبندی داده و نمایش آن پس از کاهش بُعد با PCA
ترتیب مهم است: قبل از الگوریتمها باید NumPy، Pandas، نمودار و مفهوم تقسیم داده را بلد باشی. فقط حفظکردن نام مدلها باعث یادگیری ماشینلرنینگ نمیشود.
روند انجام هر پروژه ماشینلرنینگ
تقریباً هر پروژه ماشینلرنینگ، چه ساده و چه حرفهای، از همین مسیر عبور میکند:
مشکل را مشخص کنمیخواهی چه چیزی را پیشبینی یا دستهبندی کنی؟داده را وارد کنفایل CSV، Excel، دیتابیس یا داده آماده را بخوان.داده را بررسی کنستونها، مقدارهای خالی، داده تکراری و نمودارها را ببین.X و y را جدا کنX اطلاعات ورودی است و y جوابی است که مدل باید یاد بگیرد.داده را تقسیم کنبخشی برای آموزش و بخشی برای امتحان نهایی مدل نگه دار.داده را آماده کنمتنها را عددی، مقدارها را مرتب و در صورت نیاز Scale کن.مدل را انتخاب کنبر اساس نوع مسئله یک الگوریتم مناسب انتخاب کن.مدل را آموزش بدهبا دستور fit مدل الگوی داده آموزشی را یاد میگیرد.مدل را ارزیابی کندقت، خطا یا معیار مناسب را روی داده آزمون بسنج.پیشبینی و ذخیره کنبرای داده جدید جواب بگیر و مدل نهایی را ذخیره کن.
شکل بسیار ساده کد یک پروژه
ml_example.py
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
data = pd.read_csv("data.csv")
X = data.drop(columns=["target"])
y = data["target"]
X_train, X_test, y_train, y_test = train_test_split(
X,
y,
test_size=0.2,
random_state=42
)
model = RandomForestClassifier(random_state=42)
model.fit(X_train, y_train)
prediction = model.predict(X_test)
print("دقت مدل:", accuracy_score(y_test, prediction))
نکته اصلی: نام الگوریتم ممکن است عوض شود، ولی ترتیب کلی ورود داده، آمادهسازی، آموزش، ارزیابی و پیشبینی تقریباً همیشه ثابت میماند.
✓
چکلیست نهایی
هر موردی که درست انجام شده را برای خودت علامت بزن.
کامپیوتر
VS Code نصب و باز میشود
دستور python --version جواب میدهد
افزونه Python از Microsoft نصب است
فایل main.py اجرا میشود
Notebook اجرا میشود
محیط .venv فعال میشود
کتابخانههای پایه نصب هستند
XGBoost نسخه خود را نشان میدهد
گوشی
Pydroid 3 رسمی نصب است
اولین فایل Python اجرا میشود
Repository Plugin نصب است
کتابخانههای پایه import میشوند
مدل آزمایشی دقت را چاپ میکند
میدانم XGBoost ممکن است روی بعضی گوشیها نصب نشود
واژه
معنی خیلی ساده اصطلاحها
این جدول را هر وقت کلمهای یادت رفت دوباره نگاه کن.
کلمه
معنی ساده
VS Code
برنامهای برای نوشتن و مدیریت کد
Python
زبان برنامهنویسی و موتور اجرای کدهای Python
Terminal
قسمتی که دستورهای متنی را داخل آن وارد میکنیم
pip
ابزار نصب کتابخانههای Python
Library
کد و ابزار آماده برای انجام یک کار
Jupyter Notebook
فایلی که کد را سلولبهسلول اجرا میکند
Kernel
Python انتخابشده برای اجرای سلولهای Notebook
PATH
راهنمایی برای ویندوز تا محل برنامههای نصبشده را پیدا کند
Virtual Environment
فضای جدا برای کتابخانههای یک پروژه
Import
واردکردن یک کتابخانه به داخل کد
Dataset
مجموعه دادهای که مدل با آن تمرین یا آزمایش میشود
منابع رسمی: دانلودها و روشهای اصلی این جزوه با راهنمای رسمی VS Code، Python، Jupyter، XGBoost و صفحه رسمی Pydroid 3 در Google Play هماهنگ شدهاند.