آموزش سایکیت لرن
در این مقاله به آموزش سایکیت لرن، کتابخانه قدرتمند و محبوب یادگیری ماشین خواهم پرداخت. مدتهاست که این ابزار بهعنوان استانداردی قابلاعتماد برای پیادهسازی مدلهای کلاسیک یادگیری ماشین شناخته میشود. با وجود رشد یادگیری عمیق، اما سایکیت لرن همچنان نقش مهمی در پروژههای واقعی دادهمحور دارد. اگر میخواهید بدون درگیر شدن با پیچیدگیهای اضافه، از داده خام به یک مدل کاربردی برسید، این مقاله نقطه شروعی عالی برای شماست. با هوسم همراه باشید…
سایکیت لرن (Scikit-learn) چیست؟
سایکیت لرن، که معمولا با نام sklearn شناخته میشود، یکی از پرکاربردترین و محبوبترین کتابخانههای یادگیری ماشین در پایتون است. این کتابخانه مجموعهای از ابزارهای آماده و استاندارد برای انجام کارهایی مثل پیش پردازش، طبقهبندی، رگرسیون، خوشه بندی، کاهش بُعد، انتخاب مدل و ارزیابی آنها را فراهم میکند. وقتی سایت سایکیت لرن را باز میکنید، در همان ابتدای صفحه اصلی با تصویری مشابه تصویر زیر مواجه میشوید؛ تصویری که به مهمترین بخشها و قابلیتهای سایکیت لرن اشاره کرده است. همانهایی که من در همین پاراگراف به آنها اشاره کردم و با رنگ سبز هایلایت کردهام.

سایکیت لرن بر پایه کتابخانههای SciPy ،NumPy و matplotlib ساخته شده است. همین موضوع باعث شده که هم سرعت بالایی داشته باشد و هم بتوانید بدون درگیر شدن با جزئیات پیچیده ریاضی و پیادهسازیهای سطح پایین، مدلهای یادگیری ماشین را بهسادگی بسازید، آموزش دهید و ارزیابی کنید.
سایکیت لرن برای یادگیری عمیق (Deep Learning) و دادههای غیرساختارمند (Unstructured) مثل تصویر، صدا یا متن خام طراحی نشده است؛ این وظایف بیشتر بر عهده کتابخانههایی مثل PyTorch و TensorFlow است. اگر سایکیت لرن مخصوص داده تصویر، صدا و متن نیست، پس مناسب چه نوع دادهای هست؟! داده جدولی (Tabular Data).
برای مسائل دنیای واقعی که با دادههای جدولی (Tabular Data) سروکار دارند (از تحلیل ریسک مالی گرفته تا پیشبینی ریزش مشتری، کشف تقلب، توصیهگرهای ساده و صدها کاربرد صنعتی دیگر) سایکیت لرن همچنان یک ابزار طلایی است.
پس اگر بخواهم، مطالب این بخش “سایکیت لرن چیست؟” را در یک جمله خلاصه کنم، باید بگویم:
سایکیت لرن بهترین ابزار برای یادگیری مفاهیم یادگیری ماشین و ساخت سریع مدلهای واقعی است، بدون نیاز به درگیر شدن با پیچیدگیهای اضافی.
نصب سایکیت لرن
نصب سایکیت لرن بسیار ساده است و روی همه سیستمعاملها (ویندوز، مک و لینوکس) بهخوبی کار میکند. سایکیت لرن را به روشهای مختلفی میتوان نصب کرد؛ یکی از سادهترین روشها، نصب با pip هست. اگر روی سیستم خود، قبلا پایتون نصب کردهاید، برای نصب سایکیت لرن کافی است بنویسید:
pip install scikit-learn
اگرچه نصب با pip بسیار ساده هست، اما روش نصب با Conda روش مطمئنتری است. این روش معمولا بهترین انتخاب برای جلوگیری از ناسازگاری کتابخانههاست. درواقع، راهاندازی یک محیط استاندارد از نصب سایکیت لرن مهمتر است، چون باعث میشود:
- کتابخانهها با هم تداخل نکنند.
- پروژهها تمیز و قابل مدیریت باشند.
- خروجیها قابل تکرار (Reproducible) باشند.
برای ساخت محیط، میتوانید از Conda یا نسخه سادهتر آن Venv استفاده کنید. اگر قبلا Conda نصب کردهاید، با دستورات زیر میتوانید یک محیط جدید بسازید، آن را فعال کنید و کتابخانه سایکیت لرن را در این محیط جدید نصب کنید:
conda create -n ml_env python=3.11 conda activate ml_env conda install scikit-learn pandas numpy matplotlib
البته، در خط آخر میبینید که علاوهبر سایکیت لرن، کتابخانههای مورد نیاز دیگر مانند نامپای، متپلات و پانداس هم در صف نصب قرار دارند.
توجه اگر اصلا با Conda آشنایی ندارید، میتوانید آموزش کوندا چیست را در هوسم مطالعه کنید. چنانچه نتوانستید ارتباط برقرار کنید، نگران نباشید؛ همان روش نصب با pip را پیش ببرید.
توجه اگر پایتون نصب نکردهاید، میتوانید آموزش نصب پایتون را در هوسم مطالعه کنید.
توجه چنانچه نتوانستید کارهای نصب را به خوبی انجام دهید، پیشنهاد میکنیم از گوگل کولب استفاده کنید. برای آشنایی با گوگل کولب، آموزش گوگل کولب را در هوسم مطالعه کنید.
ساختار کتابخانه سایکیت لرن
سایکیت لرن شامل مجموعه بزرگی از ماژولهای مستقل از هم و در عین حال کاملا هماهنگ است. هرکدام وظیفه مشخصی را در فرآیند یادگیری ماشین بر عهده دارند. از ابزارهای پیش پردازش و آمادهسازی داده گرفته تا الگوریتمهای طبقه بندی، رگرسیون، خوشه بندی و انتخاب مدل؛ همه بخشها با یک API یکنواخت طراحی شدهاند تا بتوانید آنها را بدون پیچیدگی در کنار یکدیگر استفاده کنید.
تصویر زیر نمایی از بخش API سایت سایکیت لرن است. در سمت چپ (Section Navigation)، لیست تمامی ماژولهای سایکیت لرن را میتوانید ببینید. مجموعه بزرگی از ماژولها که هرکدام شامل دستوراتی خاص همان ماژول هستند. مثلا، در ماژول پیش پردازش، مجموعهای از دستورات و تکنیکهای پیش پردازش داده وجود دارد.

برای آنهایی که با مفهوم ماژول و ساختار ماژولار آشنا نیستند، یک مثال میزنم؛ سوپرمارکت را تصور کنید؛ در هر قفسه محصولات مشابه و همخانواده کنار هم چیده شدهاند: ادویهها یکجا هستند، لبنیات در قفسه مخصوص خود قرار دارند، حبوبات در بخشی جداگانه، شویندهها و… . هر قفسه شامل محصولاتی مستقل و متفاوت از سایر قفسههاست؛ اما همین نظم و دستهبندی باعث میشود بتوانید مواد لازم را خیلی سریع پیدا کنید. البته، میتوانید با ترکیب محصولات مستقل قفسههای مختلف یک غذای خوشمزه درست کنید. ساختار ماژولار در Scikit-Learn هم همینطور است:
هر ماژول مجموعهای از ابزارهای مرتبط را در یک قفسه (ماژول) مشخص قرار میدهد؛ و شما میتوانید آزادانه آنها را انتخاب و ترکیب کنید تا مدل یادگیری ماشین دلخواهتان را بسازید.
تمرین به سایت سایکیت لرن و بخش API بروید؛ به لیست ماژولها نگاه کنید. مهم نیست که برای شما آشنا نیست. کم کم آشنا میشوید. روی بعضی از آنها کلیک کنید تا مجموعه دستورات آن ماژول را ببینید.
نکته اغلب اوقات، در کدنویسی کل کتابخانههای نامپای، متپلات و پانداس را با دستورات زیر ایمپورت میکنیم:
import numpy as np import matplotlib.pyplot as plt import pandas as pd
اما در sklearn اینگونه نیست؛ معمولا، فقط ماژولهای موردنیازمان را ایمپورت میکنیم. مثلا، درگیر پیش پردازش، خوشه بندی و متریکهای ارزیابی هستیم؟ بنابراین، کافی است همین سه ماژول را ایمپورت کنیم:
from sklearn import preprocessing, cluster, metrics
البته، این هم مرسوم هست که فقط دستورات موردنیازمان را از دل ماژولها فراخوانی کنیم. مثلا، در کد زیر من یک دستور (خوشه بندی K-means) را از ماژول cluster ایمپورت کردم:
from sklearn.cluster import kmeans
اصول کدنویسی Scikit-Learn
نکته مهم و جذاب درباره سایکیت لرن، سادگی و یکپارچگی طراحی آن است. تقریبا تمام مدلهای این کتابخانه از یک الگوی سه مرحلهای پیروی میکنند:
- ساخت مدل
- آموزش مدل با دادهها
- پیشبینی/ارزیابی مدل
بیایید با یک مثال ساده، این فرآیند سه مرحلهای در سایکیت لرن را به شما نشان دهم؛ در خط اول کد زیر، یک مدل بهنام جنگل تصادفی (Random Forest) تعریف شده است. در خط دوم، با استفاده از متد ()fit. داده آموزشی X_train و برچسب y_train به مدل داده شده تا آموزش ببیند. در خط سوم، از متد ()predict. برای پیشبینی خروجی داده تست X_test استفاده شده است.
model = RandomForestClassifier() # ساخت مدل model.fit(X_train, y_train) # آموزش مدل model.predict(X_test) # پیشبینی مدل
این الگوی ساده و ثابت باعث میشود بتوانید بهسرعت بین الگوریتمها جابهجا شوید و انواع مدلها را با حداقل تغییر در کد امتحان کنید. این یکی از دلایلی که سایکیت لرن را به انتخاب اول بسیاری از دانشجویان، پژوهشگران و متخصصان داده تبدیل کرده است.
شاید درک همین سه خط بالا برای تازهکدنویسها مشکل باشد. در بخش بعدی، درباره موضوع مهمی صحبت میکنم.
شی گرایی در sklearn
سایکیت لرن بهطور کامل بر پایه شی گرایی طراحی شده است. منظورم از شی گرایی همان مبحث شی گرایی عالم کدنویسی و پایتون است. در سایکیت لرن، هر الگوریتم بهصورت یک کلاس پایتونی تعریف شده و شما میتوانید بارها از روی آن شی بسازید.
به تصویر زیر نگاه کنید؛ در سایکیت لرن ابتدا یک کلاس مثل LinearRegression وجود دارد که نقش قالب را بازی میکند. از روی این قالب میتوانیم هر تعداد که بخواهیم شی بسازیم؛ مثل model1 و model2 در تصویر. این دو شی اگرچه الگوریتم یکسانی دارند، اما کاملا مستقل از هم عمل میکنند. هویت و پارامترهای خاص خودشان را دارند. هر شی شامل مجموعهای تابع (مانند ()fit.) و خصیصه (مثل coef_.) است. بنابراین حتی اگر هر دو مدل از یک کلاس ساخته شده باشند، خروجیها و حالت داخلی آنها متفاوت خواهد بود. مشابه با انسان که همه از یک کلاس بشر هستیم، اما مجموعه رفتارها و خصوصیات خودمان را داریم. نحوه حرف زدن، راه رفتن، روحیات ما متفاوت از سایرین هست.

ماژولهای کلیدی سایکیت لرن
در بخشهای قبلی توضیح دادم که سایکیت ساختار ماژولار دارد و تعداد زیادی ماژول برای کاربردهای مختلف ارائه میکند. در این بخش، میخواهم تعدادی از ماژولهای کلیدی را به شما معرفی کنم. به نظرم این ماژولها، حداقل ماژولهایی هستند که باید یاد بگیرید.
ماژول sklearn.datasets
ماژول datasets شامل مجموعه دادههای آماده و دستورات ساخت داده مصنوعی است. دیتاستهای معروفی مانند Boston ،Diabets و Iris نمونههایی از دیتاستهای موجود در این ماژول هستند. این دیتاستها با یک خط کد فراخوانی میشوند و برای افراد تازهکار بسیار مناسب هستند.
ماژول sklearn.preprocessing
ماژول preprocessing شامل طیف وسیعی از تکنیکها و دستورهای پیشپردازش دادههاست. تکنیکهای رایج یادگیری ماشین مانند استانداردسازی (Standardization)، نرمالسازی (Normalization)، کدگذاری ویژگیهای طبقهای (Encoding) و مدیریت دادههای گمشده (Missing Values) در این ماژول وجود دارند.
ماژول sklearn.model_selection
ماژول model_selection برای تقسیمبندی دادهها، کراس ولیدیشن (Cross-Validation) و جستجوی ابرپارامترها (Hyper-parameters) استفاده میشود. از جمله توابع مهم و پرکاربرد این ماژول میتوان به train_test_split برای جداسازی دادهها به دو بخش آموزش و ارزیابی و GridSearchCV برای یافتن بهترین تنظیمات مدل اشاره کرد.
ماژول skearn.linear_model
ماژول linear_model شامل مدلهای خطی برای مسائل رگرسیون (Regression) و طبقهبندی (Classification) است. از رگرسیون خطی ساده تا مدلهای رگولارایزشده مثل Ridge و Lasso و همچنین Logistic Regression برای طبقهبندی در این ماژول قرار دارند.
ماژول sklearn.cluster
ماژول cluster برای خوشهبندی (Clustering) دادهها استفاده میشود. این ماژول شامل الگوریتمهای معروفی مانند DBSCAN ،K-Means و خوشهبندی سلسلهمراتبی است.
ماژول sklearn.decomposition
ماژول decomposition برای کاهش ابعاد (Dimension Reduction) و استخراج ویژگیها استفاده میشود. الگوریتمهایی مثل PCA و TruncatedSVD به شما کمک میکنند دادهها را فشرده کرده و ویژگیهای مهم را استخراج کنید.
ماژول sklearn.metrics
ماژول metrics شامل معیارهای ارزیابی مختلف است. در این ماژول، معیارهایی مانند F1 ،Recall ،Precision ،ConfusionMatrix برای طبقهبندی و R² ،MSE ،MAE برای رگرسیون در این ماژول وجود دارند. این ماژول آنقدر پرطرفدار است که بسیاری از افراد برای پروژههای یادگیری عمیق هم از این ماژول استفاده میکنند.
ماژول sklearn.pipeline
ماژول پایپلاین (pipeline) به شما این امکان را میدهد که کل فرآیند آمادهسازی داده تا مدلسازی را بهصورت یک فرآیند کامل پیادهسازی کنید. یک نمونه پایپلاین جالب با سایکیت لرن را در تصویر زیر مشاهده میکنید. احتمالا هنوز درک این پایپلاین برای شما مشکل هست. اما، شمارهها را دنبال کنید؛ ببینید، چگونه از مرحله پیشپردازش و آمادهسازی داده (مرحله 1، 2 و 3) به مراحل مدلسازی 4 و 5 رسیدهایم. همه این مراحل بهصورت متوالی و منظم اجرا میشوند تا نهایتا خروجی حاصل شود. هیجانزده شدید که یک نمونه پایپلاین سایکیت لرن خفن بسازید نه؟! 😊

هنوز وارد جزئیات هرکدام از این ماژولها نشدم. به مرور تک تک دستورات مهم این ماژولها را به شما توضیح میدهم.
چرخه حیات توسعه مدل در سایکیت لرن
تا اینجا با اجزای مختلف سایکیت لرن، از ماژول دیتاست و پیش پردازش تا مدلسازی و ارزیابی آشنا شدید. اما سوال اصلی اینجاست:
چطور همه این قطعات پازل را کنار هم بچینیم تا یک مسئله واقعی را حل کنیم؟
یادگیری ماشین فقط نوشتن دو خط کد fit و predict نیست؛ یک فرآیند زنده، پویا و چندمرحلهای است که از داده خام شروع میشود و به یک مدل آموزشدیده و ارزشمند ختم میشود. در این بخش، میخواهم نقشه راه یا همان چرخه حیات (Lifecycle) استاندارد توسعه یک مدل در سایکیت لرن را برایتان ترسیم کنم. تقریبا هر پروژهای که با این کتابخانه انجام دهید، کموبیش از همین مراحل عبور میکند. در شکل زیر، چرخه حیات توسعه مدل در سایکیت لرن را مشاهده میکنید. بیایید این چرخه را قدمبهقدم بررسی کنیم.

جمعآوری و آمادهسازی اولیه دادهها (Data Preparation)
همه چیز با داده شروع میشود. قبل از هر کاری، باید دادهها را بارگذاری کنید. این بارگذاری داده میتواند با ماژول datasets سایکیت لرن، کتابخانه پانداس یا با سایر روشهای کمتر رایج انجام شد. اما نکته حیاتی اینجاست: دادههای شما هرگز نباید یکجا به خورد مدل داده شوند! اولین قانون یادگیری ماشین این است: دادهها را تقسیم کن! ما باید دادهها را به دو بخش آموزش (Train) و آزمون (Test) تقسیم کنیم. با بخش آموزش، مدل را آموزش میدهیم و با بخش آزمون عملکرد مدل آموزشدیده را ارزیابی میکنیم. چرا به ارزیابی مدل آموزشدیده نیاز داریم؟ چون مطمئن شویم مدل ما دادهها را حفظ نمیکند، بلکه یاد میگیرد. دستور سایکیت لرن برای این کار، تابع train_test_split از ماژول model_selection است. در شکل بالا، اولین گام جداسازی داده به دو بخش آموزش و آزمون است.
پیشپردازش دادهها (Preprocessing)
دادههای دنیای واقعی کثیف هستند؛ مقادیر گمشده دارند؛ مقیاسهایشان متفاوت است (یکی به کیلوگرم است، یکی به میلیون تومان)؛ شامل متن هستند؛ و بسیاری چالشهای دیگر که معمولا مدلهای یادگیری ماشین آنها را نمیفهمند. اگر داده خام را مستقیما به مدل بدهید، نتیجهای جز یک مدل بیکیفیت نخواهید داشت. در این مرحله، با استفاده از ماژول preprocessing که قبلا معرفی کردیم، دادهها را تمیز و استاندارد میکنیم. رایجترین کارهایی که در پیشپردازش داده انجام میدهیم، عبارتنداز:
- پر کردن مقادیر گمشده (Imputation).
- هممقیاس کردن ویژگیها (Scaling/Normalization).
- تبدیل دادههای متنی و دستهای به عدد (Encoding).
توجه پیشپردازش داده باید روی هر دو بخش داده آموزش و آزمون انجام شود. در شکل بالا، این نکته رعایت شده است.
انتخاب و آموزش مدل (Model Training)
حالا که دادهها تمیز و آماده هستند، نوبت به انتخاب الگوریتم میرسد. آیا مسئله شما رگرسیون است یا طبقهبندی؟ بر اساس نوع مسئله، یک کلاس مناسب (مثلا LinearRegression یا RandomForestClassifier) را انتخاب کرده و یک شی از روی آن میسازیم. سپس، جادوی اصلی اتفاق میافتد: فراخوانی متد ()fit. در این مرحله، مدل دادههای آموزشی تمیز شده را میبیند و الگوهای پنهان در آنها را یاد میگیرد. گام سوم شکل بالا، نشان میدهد که ما مدل مناسب را انتخاب کردهایم.
تنظیم دقیق و بهینهسازی (Hyperparameter Tuning)
به ندرت پیش میآید که اولین مدلی که ساختید، بهترین مدل ممکن باشد. هر الگوریتم تنظیماتی دارد که به آنها هایپرپارامتر (Hyperparameter) میگویند (مثل تعداد درختها در جنگل تصادفی). تغییر این تنظیمات میتواند عملکرد مدل را زیرورو کند. در این مرحله، ما به جای حدس زدن دستی بهترین تنظیمات، از ابزارهایی مثل GridSearchCV در سایکیت لرن استفاده میکنیم تا به صورت خودکار بهترین ترکیب تنظیمات را برای ما پیدا کند. در گام چهارم شکل بالا، بهترین مدل از طریق یافتن بهترین هایپرپارامترهای مدل حاصل شده است.
ارزیابی مدل (Model Evaluation)
مدل آموزش دید، اما آیا خوب یاد گرفته است؟ برای پاسخ به این سوال، از دادههای ارزیابی/آزمون/تست که در مرحله اول کنار گذاشته بودیم، استفاده میکنیم. ابتدا با متد ()predict از مدل میخواهیم که خروجی دادههای آزمون را پیشبینی کند. سپس، با استفاده از ماژول metrics، پیشبینیهای مدل را با واقعیت مقایسه میکنیم تا ببینیم نمره مدل ما چند میشود (مثلا، دقت ۹۰٪ یا خطای ۵ واحدی). در گام پنجم شکل بالا، ارزیابی بهترین مدل آموزشدیده روی روی داده آزمون پیشپردازششده انجام شده است.
نکته مهم این چرخه یک مسیر خطی و یکطرفه نیست! خیلی وقتها بعد از آموزش متوجه میشوید نتیجه خوب نیست و مجبور میشوید به مرحله پیشپردازش برگردید و تغییراتی ایجاد کنید. این رفتوبرگشتها آنقدر ادامه پیدا میکند تا به نتیجه مطلوب برسید.
بسیارخب، به پایان بخش چرخه حیات توسعه مدل در سایکیت لرن و یادگیری ماشین رسیدیم. هنوز، دستورات سایکیت لرن را به شما آموزش ندادم. اما، خوشخبتانه دیگر زمانش رسیده است! با کمی فکر و تحلیل به این نتیجه رسیدم که بهتر هست مینی پروژه یادگیری ماشین تعریف کنم و بعد با استفاده از دستورات سایکیت لرن و براساس چرخه حیات سایکیت لرن آن را حل کنم. پس، بزن بریم…
طبقهبندی دیتاست گل زنبق Iris
در دنیای یادگیری ماشین، دیتاست Iris (گل زنبق) حکم همان “Hello World” معروف برنامهنویسها را دارد. این دیتاست شامل اطلاعات ابعاد گلبرگ و کاسبرگ ۳ نوع گل زنبق مختلف است. هدف ما این است که مدلی بسازیم که با گرفتن ابعاد گل، تشخیص دهد این گل جزو کدامیک از این ۳ دسته است.
بهصورت دقیقتر، دیتاست گل زنبق شامل 150 نمونه است. هر نمونه شامل 4 ویژگی پهنا و طول گلبرگ (Petal)، پهنا و طول کاسبرگ (Sepal) است. این دیتاست شامل سه کلاس/طبقه (Setosa ،Versicolor و Virginca) است. دیتاست Iris در یک قالب یک دیتاست جدولی به ابعاد 150×5 ذخیره شده است. در تصویر زیر، نمایی از ویژگیهای اندازهگیریشده روی گلها و دیتاست را مشاهده میکنید.

بیایید طبق همان نقشه راهی که در بخش قبل گفتم، قدمبهقدم پیش برویم.
فراخوانی دیتاست
همانطور که قبلا گفتم، در سایکیت لرن ماژولی بنام datasets داریم که برای ساخت و بارگذاری دیتاست است. برای اینکه در ابتدای مسیر یادگیری درگیر پیدا کردن، دانلود و تمیزکاری دیتاستهای استاندارد نشویم، ماژول datasets در سایکیت لرن درنظر گرفته شده است. خوشبختانه، این ماژول دستوری برای بارگذاری دیتاست Iris هم دارد. برای لود کردن این دیتاست، باید از تابع load_iris استفاده کنیم. پس، بیایید ابتدا این دستور را ایمپورت و سپس استفاده کنیم:
from sklearn.datasets import load_iris iris_bunch = load_iris() iris_bunch
اجرای کد بالا، iris_bunch را با دادهها و دیتاست گل زنبق به ما میدهد. خروجی این دستور آنقدر زیاد است و آنقدر توضیحات دارد که نمیتوانم اینجا به شما نشان دهم. خودتان کد بالا را اجرا کنید و خروجی را ببینید.
دستور load_iris، آرگومانهای کاربردی جالبی دارد که کار ما را خیلی راحت میکند:
- return_X_y (پیشفرض: False): اگر این مقدار را True بگذارید، تابع مستقیما یک توپل شامل (data و target) یا همان (ویژگیها و برچسبها) را برمیگرداند. این برای زمانی که میخواهید سریع سراغ آموزش مدل بروید عالی است.
- as_frame (پیشفرض: False): اگر آن را True کنید، دادهها به جای آرایه نامپای، در قالب دیتافریم پانداس برگردانده میشوند. اینطوری میتوانید بلافاصله از متدهایی مثل .head() یا .describe() برای تحلیل داده استفاده کنید.
من ترجیح میدهم، اینجا برای سادگی کار از return_X_y:True استفاده کنم.
X, y = load_iris(return_X_y=True) X.shape, y.shape
((150, 4), (150,))
فعلا تا اینجا را داشته باشد تا من استراحتی کنم و برگردم ادامه بدهم… 🙂
مطالب زیر را حتما مطالعه کنید
چرخه حیات یادگیری ماشین (ML Lifecycle)
یادگیری ماشین بدون ریاضی و کدنویسی
پیشنیازهای یادگیری ماشین
یادگیری ماشین چیست
زبان برنامه نویسی پایتون چیست
فرآیند کریسپ (CRISP)
2 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
چقدر خفن بود . خیلی خیلی سپاس از زحماتتون
بسیار عالی بود