سایکیت لرن چیست و چه کاربردی دارد؟ – معرفی کتابخانه Sickit-Learn
سایکیت لرن شامل مجموعهای از ابزارها است به عنوان یکی از کاربردیترین کتابخانههای پایتون در یادگیری ماشین مورد استفاده قرار میگیرد. اگر توسعهدهنده پایتون هستید و به دنبال افزایش توانایی خود در حوزه هوش مصنوعی میگردید، بنابراین باید از کتابخانه سایکیت لرن استفاده کنید. با استفاده از ابزار فراهم شده در این کتابخانه، کار بر روی مسائلی مانند «رگرسیون» (Regression)، «دستهبندی» (Classification) و «خوشه بندی» (Clustering) به طور قطع سادهتر شده است. برای درک بهتر اینکه سایکیت لرن چیست باید به این مسئله توجه کنید که بعد از مجهز شدن به دانش استفاده از سایکیت لرن، میتوانید بسیاری از کارهای مربوط به پروژههای علم داده را به صورت بسیار سادهتری انجام دهید. این مسئله باعث افزایش چشمگیر عملکرد توسعهدهندگان میشود.
امروزه این کتابخانه به یکی از مهمترین ابزارهای کار در حوزه هوش مصنوعی با زبان برنامه نویسی پایتون تبدیل شده است. در ادامه این مطلب از مجله فرادرس، به روش کار این کتابخانه بسیار مشهور و محبوب پرداختهایم. در ابتدا به صورت خلاصه و کامل بررسی کردهایم که سایکیت لرن چیست و بعد از آن روش استفاده از این کتابخانه را در پروژههای مختلف توضیح دادهایم. درباره بعضی از رایجترین کاربردهای آن صحبت کرده و چند مورد از چالشهای ممکن در زمان استفاده از این کتابخانه را نیز مورد بحث قرار دادهایم.
سایکیت لرن چیست؟
سایکیت لرن یا «Scikit-Learn» مجموعهای از ابزارها است که به برنامهنویسان کمک میکند با سرعت به طراحی و ساخت مدلهای «یادگیری ماشین» (Machine Learning) در پایتون بپردازند. از این کتابخانه میتوان برای ساخت هر نوع از اپلیکیشن مرتبط با هوش مصنوعی استفاده کرد. مسائل مختلفی از جمله «تشخیص تصویر» (Image Recognition) و «تحلیلهای پیشبینی کننده» (Predictive Analytics) را میتوان با استفاده از کتابخانه سایکیت لرن حل کرد. راز موفقیت این کتابخانه، توجه آن به استفاده از دامنه وسیعی از مسائل اساسی و پیچیده ریاضی است. بنابراین برنامهنویسان میتوانند بر روی عملکردهای سطح بالاتر تمرکز کنند.
سایکیت لرن یکی از کتابخانههای اوپن سورس پایتون است که از طریق ارائه طیف وسیعی از ابزارها برای کار در هر دو حوزه یادگیری «نظارت شده» (Supervised) و یادگیری «غیر نظارت شده» (Unsupervised)، فعالیت در زمینه یادگیری ماشین را به میزان بسیار زیادی سادهتر کرده است. با استفاده از این کتابخانه، وظایف مربوط به «تحلیل داده» (Data Analysis) و «مدلسازی پیشگویانه» (Predictive Modeling) یا «مدل سازی پیشبینی کننده» به شکل بسیار سادهتری انجام میشوند.
امکانات مهم سایکیت لرن چیست؟
یکی از بهترین چیزها درباره این کتابخانه، روش یکپارچه شدن بدون مشکل و حاشیه آن با بقیه ابزارهای مربوط به «علم داده» (Data Science) در پایتون است. این همکاری سایکیت لرن، باعث افزایش کارآمدی و استفاده ساده از آن شده است. امکانات کلیدی سایکیت لرن را میتوان در فهرست زیر، خلاصه کرد.
- الگوریتمهای مخصوص کلاسبندی، رگرسیون و خوشهبندی
- انواع تکنیکهای «کاهش ابعاد» (Dimensionality Reduction)
- ابزارهای مخصوص انتخاب و ارزیابی مدل
- ابزارهای اختصاصی برای پیشپردازش دادهها
در نتیجه، به دلیل سادگی در استفاده، قدرت و ارتباط محکم بین این کتابخانه و کتابخانههای NumPy و SciPy و Matplotlib، سایکیت لرن به یکی از ابزارهای بنیادین پایتون برای اجرای پروژههای مربوط به یادگیری ماشین تبدیل شده است. رابط شهودی این کتابخانه در کنار مستندات بسیار عالی، آن را به یکی از بهترین گزینهها برای استفاده آموزشی نیز در یادگیری ماشین تبدیل کرده است.
علاوه بر مطالب بالا، سایکیت لرن تبدیل به یکی از گزینههای بسیار قابل اطمینان برای استفاده از یادگیری ماشین در مسائل مربوط به دنیای واقعی شده است. استحکام و انعطافپذیری این کتابخانه، استفاده از آن را در صنایع مختلفی از تحلیلهای بورسی گرفته تا بخش بهداشت و درمان اجتناب ناپذیر کرده است. درحال حاضر، تقاضای رو به افزایش برای ابزارهای پیشبینی کننده مبتنی بر هوش مصنوعی و تصمیمگیرنده مبتنی بر داده وجود دارد. این مسئله باعث شده که نقش حیاتی سایکیت لرن در ایجاد تحولات تجاری همسو با استراتژیهای شرکتها به صورت برجستهای به چشم بیاید.
استفاده از کتابخانه سایکیت لرن یکی از بهترین گزینهها پیش روی تمام افرادی است که میخواهند حوزه هوش مصنوعی به انجام کار بپردازند. رابط کاربری ساده این کتابخانه آن را برای استفاده توسط کاربران تازهکار ساده کرده است. از طرف دیگر، ابزارهای بسیار قدرتمند آن نیز، سایکیت لرن را به یکی از اولین گزینههای مورد نظر حرفهایها تبدیل میکند. مستندات راهنمایی این کتابخانه پر از جزئیات است و جامعه کاربری فعالی هم دارد. این مسائل باعث میشود که استفاده از کتابخانه Scikit Learn و یادگیری آن سادهتر شود.
آموزش هوش مصنوعی با فرادرس از دروس دانشگاهی تا کاربردی
هوش مصنوعی یکی از رو به پیشرفتترین علوم حال حاضر در دنیا است. هوش مصنوعی به مجموعهای از تکنیکها و الگوریتمهای ریاضی و کامپیوتری گفته میشود که برای تقلید هوش و یادگیری انسان توسط کامپیوتر طراحی شدهاند. به عبارت دیگر به هوشی که ماشین میتواند در شرایط مختلف از خود نشان دهد، هوش مصنوعی گفته میشود. آموختن هوش مصنوعی برای بسیار از افراد جذاب است و بسیاری دیگر به دلایل تحصیلی و شغلی به دنبال یادگیری این علم هستند.
فرادرس به عنوان یکی از بزرگترین تولیدکنندگان محتوای آموزشی فارسی، تمرکز و انرژی زیادی را بر روی تولید بهترین محتواهای ممکن در زمینه هوش مصنوعی گذاشته است. این محتواها شامل مطالب مختلف و فیلمهای آموزشی پر محتوا و با کیفیت میشود. در این بخش چند مورد از فیلمهای آموزشی مرتبط با هوش مصنوعی را متناسب با سطوح ابتدایی یادگیری معرفی کردهایم. اما در صورت تمایل با کلیک بر روی تصویر بالا به صفحه اصلی این مجموعه آموزشی هدایت شده و از فیلمهای بیشتر و حرفهایتری نیز میتوانید بازدید کنید.
- فیلم آموزش مقدماتی هوش مصنوعی با فرادرس
- فیلم رایگان هوش مصنوعی را از کجا شروع کنیم یا نقشه راه یادگیری هوش مصنوعی در فرادرس
- فیلم آموزش هوش مصنوعی همرا با مرور و حل تست کنکور ارشد در فرادرس
- فیلم آموزش pandas برای تحلیل اطلاعات در پایتون با فرادرس
شروع کار با سایکیت لرن
در صورت تمایل به آموزش تکنیکهای یادگیری ماشین با کمک پایتون، بهترین روش، شناخت و آموزش سایکیت لرن است. برای اینکه بدانیم دلیل استفاده از سایکیت لرن چیست باید توجه داشته باشیم که این کتابخانه چندکاره طیف گستردهای از الگوریتمها را برای استفاده توسط برنامهنویسان حرفهای و تازهکار ارائه میدهد. در نتیجه به ابزاری ضروری برای کسانی تبدیل شده که میخواهند با کمک زبان پایتون در رشته علم داده مشغول بهکار شوند.
با هدف دانستن اینکه روش استفاده از سایکیت لرن چیست، میتوانید فیلم آموزش کتابخانه scikit-learn در پایتون همراه با الگوریتم های یادگیری ماشین را از فرادرس تماشا کنید. در این مطلب با جزئیات و اطلاعات بسیار بیشتری به آموزش روش استفاده از Scikit-Learn پرداخته شده است. لینک این فیلم آموزشی را در ادامه نیز قرار دادهایم.
اطلاعات مورد نیاز
قبل از پرداخت به سایکیت لرن، بهتر است که دانش پایهای درباره کار با زبان پایتون داشته باشیم. آشنایی با کتابخانههایی مانند NumPy و SciPy نیز مفید است. بعد از اینکه دانشهای پیشنیاز این رشته را بدست آوردیم، نصب سایکیت لرن بر روی پایتون به سادگی انجام میشود. در ابتدای کار باید محیط کاری پایتون را نصب کنیم، سپس از PIP یا کوندا برای نصب کتابخانه و ابزارهای مورد نیاز و تابع آن مانند NumPy و SciPy و Matplotlib استفاده میکنیم. به همین صورت آماده استفاده و بررسی عملکرد سایکیت لرن شدهایم.
نصب Scikit Learn
آخرین نسخه از کتابخانه سایکیت لرن معرفی شده، نسخه ۱٫۵ است. این نسخه نیاز به پایتون ۳٫۸ به بالا دارد. در عین حال برای کار کردن این کتابخانه نیاز به نصب کتابخانههای NumPy و SciPy نیز داریم.
توجه: قبل از نصب Scikit-Learn باید مطمئن شویم که کتابخانههای NumPy و SciPy نصب شدهاند.
برای نصب کتابخانههای NumPy و SciPy، به ترتیب میتوانیم از کدهای زیر استفاده کنیم.
!pip install numpy !pip install scipy
بعد از اینکه نسخههای NumPy و SciPy به صورت صحیح و سالم بر روی سیستم خود نصب کردیم، راحتترین روش برای نصب کتابخانه سایکیت لرن استفاده از دستور pip به صورت زیر است.
!pip install -U scikit-learn
دستور بالا برای اجرا در ژوپیتر نوتبوک نوشته شده است. برای اجرای این دستور در خط فرمان نیازی به استفاده از علامت تعجب نیست. در مراحل بعد فرایند تولید مدل سادهای را نمایش دادهایم.
مرحله اول: بارگذاری مجموعه داده
«مجموعه داده» (Dataset) چیزی نیست به غیر از دادههای همسانی که به صورت منظم در کنار هم گردآوری شدهاند. هر مجموعه دادهای به صورت کلی دو عنصر اصلی دارد.
- «ظاهر» (Features): این عنصر به عنوان ويژگیها یا دادههای ورودی نیز شناخته میشود. ویژگیها متغیرهای درون داده هستند. این بستههای داده، میتوانند شامل چندین مقدار مختلف شوند که در کنار هم به عنوان ماتریس ویژگی هم نمایش داده میشوند. معمولا با علامت «X» بزرگ نمایش داده میشود. فهرست همه این ویژگیها به عنوان «نامهای ويژگی» (Feature Names) شناخته میشود.
- «پاسخ» (Response): این عنصر با عنوانهای هدف، برچسب یا خروجی نیز شناخته میشود. این متغیر وابسته به متغیرهای ویژگی است. به طور کلی، یکی ستون پاسخ یا برچسب وجود دارد. که معمولا با نمودار پاسخ نمایش داده میشود. این عنصر معمولا با علامت «Y» بزرگ نمایش داده میشود. مقادیر ممکنی که نمودار پاسخ میپذیرد، با عنوان «نامهای هدف» (Target Names) شناخته میشوند.
بارگذاری مجموعه داده نمونه: خود کتابخانه Scikit-Learn دارای چند مجموعه داده نمونه برای تمرین است. به عنوان مثال میتوان از مجموعه دادههای «iris» و «digits» برای مسائل طبقهبندی و مجموعه داده «قیمتهای خانههای بوستون» (Boston House Prices) برای تمرین مسائل رگرسیون استفاده کرد.
در کدهای زیر مثالی از نحوه بارگذاری یکی از مجموعه دادههای نمونه سایکیت لرن را پیادهسازی کردهایم. با همین کدها میتوانید در سیستم خود از این مجموعه داده استفاده کنید.
1# load the iris dataset as an example
2from sklearn.datasets import load_iris
3iris = load_iris()
4
5# store the feature matrix (X) and response vector (y)
6X = iris.data
7y = iris.target
8
9# store the feature and target names
10feature_names = iris.feature_names
11target_names = iris.target_names
12
13# printing features and target names of our dataset
14print("Feature names:", feature_names)
15print("Target names:", target_names)
16
17# X and y are numpy arrays
18print("\nType of X is:", type(X))
19
20# printing first 5 input rows
21print("\nFirst 5 rows of X:\n", X[:5])
در صورت اجرای کدهای بالا خروجی زیر به کاربر نمایش داده میشود.
Feature names: ['sepal length (cm)','sepal width (cm)', 'petal length (cm)','petal width (cm)'] Target names: ['setosa' 'versicolor' 'virginica'] Type of X is: First 5 rows of X: [[ 5.1 3.5 1.4 0.2] [ 4.9 3. 1.4 0.2] [ 4.7 3.2 1.3 0.2] [ 4.6 3.1 1.5 0.2] [ 5. 3.6 1.4 0.2]]
بارگذاری مجموعه داده از فضای بیرون: الان وضعیتی را در نظر بگیرید که باید مجموعه داده خاصی را از فضای بیرون برنامه به آن بارگذاری کنیم. به این منظور میتوان از کتابخانه pandas استفاده کرد. با کمک این کتابخانه، بارگذاری مجموعه دادهها و کار با آنها به سادگی ممکن میشود.
برای نصب پانداس در سیستم خود فقط کافیست که از کد زیر استفاده کنیم.
! pip install pandas
pandas برای خود دارای دو نوع داده مهم است. با کمک این نوع دادهها بیشتر کارهای خود را انجام میدهد. این موارد را در فهرست زیر توضیح دادهایم.
- «سریها» (Series): سریها آرایههای یکبعدی برچسب گذاری شدهای هستند که میتوانند هر نوع دادهای را در خود نگهدارند.
- چهارچوبهای داده یا «دیتا فریم» (DataFrame): ساختارهای دادهای دو بعدی و برچسبگذاری شدهای هستند که ستونهای تشکیل دهنده آن ممکن است از انواع داده مختلف پُر شده باشند. برای تصور این نوع از ساختارهای داده میتوانید صفحات شطرنجی یا جداول SQL را در نظر بگیرید. تقریبا دیتا فریم میتواند به شکل دیکشنری پایتون که مجموعهای از اشیا مختلف با دادههای مختص به خود در آن ذخیره شدهاند نیز در نظر گرفته شود. میتوان گفت که دیتا فریمهای pandas پر استفادهترین نوع داده در این پکیج هستند.
توجه: فایل CSV که در مثال زیر استفاده شده را میتوانید از اینجا (+) دانلود کنید.
1import pandas as pd
2
3# reading csv file
4data = pd.read_csv('weather-data-faradars.csv')
5
6# shape of dataset
7print("Shape:", data.shape)
8
9# column names
10print("\nFeatures:", data.columns)
11
12# storing the feature matrix (X) and response vector (y)
13X = data[data.columns[:-1]]
14y = data[data.columns[-1]]
15
16# printing first 5 rows of feature matrix
17print("\nFeature matrix:\n", X.head())
18
19# printing first 5 values of response vector
20print("\nResponse vector:\n", y.head())
بعد از اجرای کدهای بالا دادههای زیر در خروجی به کاربر نمایش داده میشوند.
Shape: (366, 22) Features: Index(['MinTemp', 'MaxTemp', 'Rainfall', 'Evaporation', 'Sunshine', 'WindGustDir', 'WindGustSpeed', 'WindDir9am', 'WindDir3pm', 'WindSpeed9am', 'WindSpeed3pm', 'Humidity9am', 'Humidity3pm', 'Pressure9am', 'Pressure3pm', 'Cloud9am', 'Cloud3pm', 'Temp9am', 'Temp3pm', 'RainToday', 'RISK_MM', 'RainTomorrow'], dtype='object') Feature matrix: MinTemp MaxTemp Rainfall Evaporation Sunshine WindGustDir \ 0 8.0 24.3 0.0 3.4 6.3 NW 1 14.0 26.9 3.6 4.4 9.7 ENE 2 13.7 23.4 3.6 5.8 3.3 NW 3 13.3 15.5 39.8 7.2 9.1 NW 4 7.6 16.1 2.8 5.6 10.6 SSE WindGustSpeed WindDir9am WindDir3pm WindSpeed9am ... Humidity9am \ 0 30.0 SW NW 6.0 ... 68 1 39.0 E W 4.0 ... 80 2 85.0 N NNE 6.0 ... 82 3 54.0 WNW W 30.0 ... 62 4 50.0 SSE ESE 20.0 ... 68 Humidity3pm Pressure9am Pressure3pm Cloud9am Cloud3pm Temp9am \ 0 29 1019.7 1015.0 7 7 14.4 1 36 1012.4 1008.4 5 3 17.5 2 69 1009.5 1007.2 8 7 15.4 3 56 1005.5 1007.0 2 7 13.5 4 49 1018.3 1018.5 7 7 11.1 Temp3pm RainToday RISK_MM 0 23.6 No 3.6 1 25.7 Yes 3.6 2 20.2 Yes 39.8 3 14.1 Yes 2.8 4 15.4 Yes 0.0 [5 rows x 21 columns] Response vector: 0 Yes 1 Yes 2 Yes 3 Yes 4 No Name: RainTomorrow, dtype: object
مرحله دوم: بخش بندی کردن مجموعه داده
یکی از مهمترین جنبههای همه مدلهای یادگیری ماشین، تعیین میزان دقت در آنها است. الان برای انجام دادن این کار میتوانیم مدل خود را با مجموعه داده موجود آموزش دهیم. سپس از همان مجموعه داده برای آزمایش مدل و پیشبینی مقادیر جواب استفاده کنیم. بعد از آن مقادیر پیشبینی شده را میتوانیم با مقادیر واقعی مقایسه کرده و میزان دقت مدل خود را کشف کنیم.
اما این روش، شامل چندین عیب مختلف میشود. بعضی از این مشکلات را در فهرست زیر معرفی کردهایم.
- هدف اصلی این است که میزان عملکرد مدل را بر روی دادههایی ارزیابی کنیم که مدل تاحالا ندیده است. اما با این روش به هدف مورد نظر نمیرسیم.
- تمرکز بیش از حد بر روی تقویت عملکرد مدل بر روی دادههای آموزشی، میتواند منجر به تولید مدلی شود که بیش از حد پیچیده است. این نوع از مدلها احتمالا در برخورد با دادههای جدید به خوبی کار نمیکنند.
- رسیدن بیهوده به مدلهای پیچیده میتواند باعث بروز «بیشبرازش» (Over-Fit) بر روی دادههای آموزشی شود.
روش Train/Test Split
گزینه بهتر این است که دادههای موجود را به دو بخش جداگانه تقسیم کنیم. از بخش اول برای آموزش مدل یادگیری ماشین خود استفاده میکنیم و از بخش دوم برای تست و آزمایش مدل.
در ابتدا باید مدل خود را به دو مجموعه داده کوچکتر به نامهای Training Set و Testing Set تقسیم کنیم. با استفاده از مجموعه داده Training Set مدل را آموزش داده و با کمک مجموعه داده Testing Set مدل را آزمایش میکنیم. سپس مقدار جوابهای بدست آمده را با مقادیر اصلی مقایسه کرده و میزان دقت عملکرد مدل را ارزیابی میکنیم.
مزایای استفاده از روش Train/Test Split
این روش نسبت به روش قبلی از مزایای بسیار بیشتری برخوردار است. در ضمن بیشتر نقاط ضعف آن روش را نیز ندارد. به طور کل مزیتهای این روش را میتوان به صورت فهرست زیر بیان کرد.
- در این صورت، مدل میتواند بعد از آموزش دیدن بر روی دادههایی آزموده شود که قبلا مشاهده نکرده و جوابها دقت بیشتری خواهند داشت.
- مقادیر پاسخ یا برچسب برای مجموعه داده شناخته شده هستند. بنابراین مقادیر پیشبینی شده را میتوان ارزیابی کرد.
- میزان دقت آزمایش تخمین بسیار بهتری از میزان دقت آموزش بدست میدهد. زیرا آزمایش بر روی دادههایی انجام شده که مدل برچسب آنها را نمیبیند.
در کدهای زیر مثالی را پیادهسازی کردهایم که دادهها در آن با روش «Train/Test Split» از یکدیگر جدا شدهاند.
1# load the iris dataset as an example
2from sklearn.datasets import load_iris
3iris = load_iris()
4
5# store the feature matrix (X) and response vector (y)
6X = iris.data
7y = iris.target
8
9# splitting X and y into training and testing sets
10from sklearn.model_selection import train_test_split
11X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=1)
12
13# printing the shapes of the new X objects
14print("X_train Shape:", X_train.shape)
15print("X_test Shape:", X_test.shape)
16
17# printing the shapes of the new y objects
18print("Y_train Shape:", y_train.shape)
19print("Y_test Shape: ",y_test.shape)
خروجی حاصل از اجرای کد بالا به صورت زیر به کاربر نمایش داده میشود.
X_train Shape: (90, 4) X_test Shape: (60, 4) Y_train Shape: (90,) Y_test Shape: (60,)
در کدهای بالا از تابع train_test_split() استفاده کردهایم. این تابع چندین آرگومان مختلف را میپذیرد که در فهرست زیر آنها را توضیح دادیم.
- X , Y : این آرگومانها نماینده «ماتریس ویژگی» (Feature Matrix) و «نمودار پاسخ» (Response Vector) هستند که باید بخشبندی شوند.
- test_size : این آرگومان ضریب داده تست را نسبت به داده اصلی نمایش میدهد. برای مثال اگر اندازه تست را به صورت test_size = 0.4 به ازای ۱۵۰ ردیف از X در نظر بگیریم، میزان دادههای مورد استفاده برای آزمایش برابر با بدست میآید. یعنی ۶۰ ردیف از دادههای اصلی برای آزمایش مدل استفاده خواهند شد.
- random_state : اگر مقدار این آرگومان را برابر یا هر مقدار عددی قرار دهیم، میتوان تضمین کرد که بخشهای تقسیم شده همیشه دارای مقدار یکسان و دادههای یکسان باشند. این مسئله به طور خاص زمانی مفید است که بخواهیم نتایج ثابت و تکرارپذیری داشته باشیم. برای مثال وقتی که میخواهیم نتایج، مستندات و آزمایشهای انجام شده را با دیگران به اشتراک بگذاریم، برای دیده شدن نتایج یکسان توسط همه از این تکنیک استفاده میکنیم.
مرحله سوم: آموزش مدل
تا به اینجا به آمادهسازی دادهها پرداختیم. در این بخش میبینیم که روش آموزش مدل در سایکیت لرن چیست. سایکیت لرن طیف وسیعی از الگوریتمهای یادگیری ماشین را با رابط یکپارچهای فراهم کرده است. این الگوریتمها وظایفی مانند فیت کردن مدلها و محاسبه دقت پیشبینیهای انجام شده را بر عهده میگیرند. برای مثال، در کدهای زیر از تکنیک «نزدیکترین همسایگیها» یا KNN برای طبقهبندی دادهها استفاده کردهایم.
توجه: در این بخش به صورت جزئی به روش کار الگوریتم KNN نمیپردازیم. بلکه فقط میخواهیم ببینیم که روش پیادهسازی این الگوریتم با استفاده از سایکیت لرن چیست. در کدهای زیر KNN بر روی دادهها اعمال شده است.
در صورت تمایل به آشنایی بیشتر با روش پیادهسازی این الگوریتم میتوانید مطلب راهنمای کاربردی پیاده سازی الگوریتم KNN با پایتون را از مجله فرادرس مطالعه کنید.
1# load the iris dataset as an example
2from sklearn.datasets import load_iris
3iris = load_iris()
4
5# store the feature matrix (X) and response vector (y)
6X = iris.data
7y = iris.target
8
9# splitting X and y into training and testing sets
10from sklearn.model_selection import train_test_split
11X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=1)
12
13# training the model on training set
14from sklearn.neighbors import KNeighborsClassifier
15knn = KNeighborsClassifier(n_neighbors=3)
16knn.fit(X_train, y_train)
17
18# making predictions on the testing set
19y_pred = knn.predict(X_test)
20
21# comparing actual response values (y_test) with predicted response values (y_pred)
22from sklearn import metrics
23print("KNN model accuracy", metrics.accuracy_score(y_test, y_pred))
24
25# making prediction for out of sample data
26sample = [[3, 5, 4, 2], [2, 3, 5, 4]]
27preds = knn.predict(sample)
28pred_species = [iris.target_names[p] for p in preds]
29print("Predictions", pred_species)
خروجی حاصل از اجرای بالا به صورت زیر نمایش داده میشود.
KNN model accuracy: 0.983333333333 Predictions: ['versicolor', 'virginica']
نکات مهمی وجود دارد که باید درباره کدهای بالا مورد توجه قرار دهیم.
- نکته اول: با استفاده از کد زیر، از کلاس طبقهبندی کننده KNN، شیئی را ایجاد کردهایم.
knn = KNeighborsClassifier(n_neighbors=3)
- نکته دوم: مدل طبقهبندی کنندهای که طراحی کردیم با استفاده از دادههای X_train آموزش دیده است. این فرایند را با نام فیت کردن میشناسیم. برای شروع عملیات فیت کردن، باید به تابع مورد نظر، ماتریس ویژگی و نمودار پاسخ را هم ارسال کنیم.
knn.fit(X_train, y_train)
- نکته سوم: اکنون باید مدل «طبقهبندی کننده» (Classifier) خود را بر روی دادههای X_test آزمایش کنیم. برای رسیدن به این هدف از متد knn.predict() استفاده میکنیم. با این کار نمودار پاسخ پیشبینی شده y_pred برگشت داده میشود.
y_pred = knn.predict(X_test)
- نکته چهارم: اکنون که موفق به کشف مقدارy_pred شدهایم، میتوان مقدار دقت عملکرد مدل را با مقایسه y_test و y_pred بدست آورد. برای انجام این کار باید از متد accuracy_score() در ماژول metrics استفاده کرد.
print(metrics.accuracy_score(y_test, y_pred))
- نکته پنجم: وضعیتی را در نظر بگیرید که باید مدل طراحی شده بر اساس دادههایی خارج از نمونه داده شده عملیات پیشبینی را انجام دهد. بنابراین نمونه ورودی را میتوان به سادگی مانند روش ارسال ماتریس ویژگی به مدل ارسال کرد.
sample = [[3, 5, 4, 2], [2, 3, 5, 4]] preds = knn.predict(sample)
اهمیت اصلی استفاده از سایکیت لرن چیست؟
برای دانستن اهمیت این کتابخانه باید ببینیم که کاربرد و استفاده اصلی سایکیت لرن چیست. جواب این است که سایکیت لرن در هر زمینهای میتواند کاربرد داشته باشد. این کتابخانه دامنه وسیعی از الگوریتمها را برای استفاده در انواع مسائل یادگیری ماشین ارائه میدهد. بعضی از این مسائل را در فهرست زیر نام بردهایم.
- «طبقه بندی» (Classification)
- «رگرسیون» (Regression)
- «خوشه بندی» (Clustering)
- «کاهش ابعاد» (Dimensionality Reduction)
- «انتخاب مدل» (Model Selection)
اما شاید بتوان مهمترین کاربرد کتابخانه سایکیت لرن را در ارائه ابزار مورد نیاز برای هدایت هدفمند نوآوریها در صنایع مختلف دانست. با تسلط بر این کتابخانه هر برنامهنویسی میتواند مدلهای یادگیری ماشین قدرتمندی را برای کار بر روی مسائل مربوط به دنیای واقعی ارائه داده و موقعیت شغلی خود را در رشته علم داده ارتقا دهد.
روش کار سایکیت لرن چیست؟
در اصل، سایکیت لرن مجموعهای از ابزارهای قدرتمند و کاربرپسند را برای مدیریت همه چیز فراهم کرده است. این ابزارها از مراحل اولیه کار که شامل آمادهسازی و پیشپردازش دادهها میشود تا به انتهای کار که شامل آموزش و ارزیابی عملکرد مدل آموزشداده شده میشود را پیادهسازی و اجرا میکنند.
در این بخش با نگاه دقیقتری، میبینیم که علت برجستگی کتابخانه سایکیت لرن چیست و ویژگیهای مهم آن را با جزئیات بیشتری بررسی میکنیم.
مجموعه ابزاری منعطف و ماژولار
یکی از ویژگیهای واقعا دوستداشتنی سایکیت لرن انعطافپذیری آن است. کتابخانه طوری طراحی شده که به صورت ماژولار کار کند. این به معنای آن است که سایکیت لرن از بلوکهای کدنویسی شده جداگانهای ساخته شده که برنامهنویسان میتوانند هم به صورت مستقل از یکدیگر استفاده کنند و هم مانند قطعات لگو آنها را با هم ترکیب کنند. این بلوکهای کدنویسی شده شامل موراد فهرست شده زیر میشوند.
- ابزارهایی برای آمادهسازی دادههای اولیه
- انواع متنوع و زیادی از مدلها برای آموزش سامانههای یادگیری ماشین
- روشهای مختلفی برای بررسی عملکرد و دقت مدل آموزش دیده
این طراحی ماژولار، کار را برای سفارشی کردن راه حلهای مختلف مسائل یادگیری ماشین سادهتر کرده است.
روند کاری تايید شده
روند کاری سایکیت لرن از قبل آزمون خود را پس داده است. نکته مهم دیگری که درباره این کتابخانه باید مورد اشاره قرار بگیرد، این است که سایکیت لرن روال کاری استاندارد شدهای را دنبال میکند. تفاوتی نمیکند که درحال ساخت فیلتری برای شناسایی ایمیلهای اسپم هستید یا مدلی که تصاویر را در دستههای مختلف طبقهبندی میکند، باید مراحل اساسی و مهم یکسانی را دنبال کنید.
- باید در ابتدا دادههای خود را بارگذاری کنید.
- با هدف آماده کردن دادهها برای تحلیل، باید آنها را مورد پیشپردازش قرار دهید.
- مدل یادگیری ماشین خود را با استفاده از دادههای آماده شده آموزش دهید.
- نتایج بدست آمده را ارزیابی کنید تا کیفیت کار مدل کشف شود.
داشتن روال ثابتی مانند مراحل ذکر شده در بالا، واقعا در روند حل مسئله کمک میکند. به خصوص زمانی که تازه در اوایل مسیر آموزش رشته یادگیری ماشین هستیم.
همکاری خوب با سایر ابزارها
یکی دیگر از ویژگیهای سایکیت لرن این است که طراحی شده تا با سایر کتابخانههای مورد استفاده در حوزه هوش مصنوعی با زبان پایتون مانند NumPy و Pandas به صورت بسیار روان و بیدردسر کار کند. این نکته یکی از مزایای بسیار بزرگ سایکیت لرن است. زیرا به این معنی است که میتوانیم از قدرت این کتابخانهها هم برای تحلیل و کار با دادههای خود به صورت کارآمدتری بهرهمند شویم. در واقع انگار تیم کاملی از ابَر قهرمانان علم داده داریم که در کنار یکدیگر کار میکنند.
آماده برای کار بر روی پروژه های دنیای واقعی
البته کتابخانه سایکت لرن ابزاری نیست که فقط برای سرهمبندی کردن پروژههای مدرسهای یا دانشگاهی به کار برده شود. بلکه این کتابخانه، ابزاری کاملا جدی است که به صورت روزانه برای حل مسائل واقعی بهکار برده میشود. برای مثال میتوانیم از این کتابخانه برای ساخت سیستمی استفاده کنیم که به صورت خودکار ایمیلهای اسپم را شناسایی کرده و از مخزن ایمیلهای کاربر فیلتر کند. یا حتی میتوانیم برنامهای ایجاد کنیم که به تصاویر نگاه کند و انواع اشیا موجود در آنها را - مانند خودروها، درختان یا ساختمانها - تشخیص دهد. با استفاده از این کتابخانه، کارهای بینهایت زیادی میتوان انجام داد.
در دسترس همه
شاید بهترین ویژگی سایکت لرن این است که تیم طراحی آن تمام تلاش خود را کردهاند تا طوری آن را طراحی کنند که توسط همه افراد قابل دسترسی و استفاده باشد. چه اینکه فردی تازهکار در حوزه یادگیری ماشین باشیم یا برنامهنویسی حرفهای، باید از API-های به خوبی مستندسازی شده سایکیت لرن و مجموعههای آموزشی بسیار گسترده آن قدردانی کنیم. این کتابخانه با کمک گستره وسیعی از الگوریتمهای متنوع با هدف انجام انواع پروژههای مربوط به یادگیری ماشین مانند طبقهبندی یا کاهش ابعاد، برنامهنویسان را پشتیبانی میکند. در نتیجه میتوان از سایکیت لرن برای کار کردن در تمام مسائل حوزه هوش مصنوعی، استفاده کرد.
به راحتی میتوان درک کرد که اصلیترین علتهای ضرورت وجود سایکیت لرن چیست. با کمک این موارد، کتابخانه سایکیت لرن به ابزاری غیرقابل چشم پوشی در زمان کار بر روی مسائل مروبط به یادگیری ماشین تبدیل شده است. با کمک ویژگیهای قدرتمند این کتابخانه در کنار طراحی کاربرپسند آن، جای تعجبی ندارد که بیشتر اوقات به اولین گزینه مورد توجه افرادی تبدیل میشود که میخواهند با کمک زبان برنامه نویسی پایتون به حل مسائل یادگیری ماشین بپردازند.
در بخش بعدی مطلب، چند مورد از مهمترین کاربردهای کتابخانه سایکیت لرن را بررسی کردهایم.
موارد کاربرد سایکیت لرن چیست؟
سایکیت لرن فقط ابزار ضروری مورد استفاده «دانشمندان داده» (Data Scientists) نیست. این کتابخانه، پکیج بسیار قدرتمندی از ابزارهای کارآمد است که باعث بروز خلاقیت و نوآوری در صنایع بسیار زیادی شده. شرکتهای بزرگی در صنایعی مانند بهداشت و درمان، اقتصاد، بازاریابی و پروژههای تحقیقاتی از کتابخانه سایکیت لرن به صورت دائم استفاده میکنند.
این شرکتهای بزرگ، امکانات سایکیت لرن را برای توسعه راهحلهای پیشرفتهای بر اساس یادگیری ماشین بهکار میبرند. در ادامه این بخش از مطلب، به بررسی بعضی از کاربردهای هیجان انگیز کتابخانه سایکیت لرن در دنیای واقعی پرداختهایم.
دگرگونی روند درمان با کشف سریع تر داروهای جدید
در صنعت بهداشت و درمان، کتابخانه سایکیت لرن درحال ایجاد تحول عظیمی در حوزه کشف دارو است. صنایع داروسازی برای پیشبینی رفتار و روش تعامل ترکیبات شیمیایی در مقابل پروتئینهای هدف از الگوریتمهای یادگیری ماشین استفاده میکنند. در نتیجه این شرکتهای بزرگ موفق به کشف داروهای جدیدی شدهاند.
اکنون شرکتهای بزرگ با سرعت بسیار بیشتری نسبت به قبل، موارد دارویی امیدوارکننده را برای درمان بیماریها شناسایی میکنند. این اتفاق باعث افزایش سرعت فرایند شناسایی بیماریها و درمان آنها و کاهش هزینه بخش تحقیق و توسعه صنایع دارویی شده است.
تقویت توانایی کشف تقلب در امور مالی
در سازمانهای اقتصادی از کتابخانه سایکیت لرن به عنوان ابزاری حیاتی برای مقابله با تقلب استفاده میشود.
شرکتهای اقتصادی بزرگی مانند «جی پی مورگان» (J.P.Morgan) از الگوریتمهای قدرتمند سایکیت لرن کمک میگیرند تا حجم انبوهی از دادههای مربوط به نقل و انتقالات مالی را تحلیل و الگوهای نامعمول را شناسایی کنند. این الگوهای نامعمول انتقال مالی اغلب نشانگر فعالیتهای متقلبانه هستند. با کشف سریعتر تقلب، چنین موسساتی میتوانند میزان ضررها را کاهش داده و اعتماد مشتریان خود را حفظ کنند.
تقویت بازاریابی شخصی سازی شده
کتابخانه سایکیت لرن درحال دگرگون کردن دنیای بازاریابی نیز هست. به کمک این کتابخانه میتوان تجربیات مشتریها را به صورت بسیار قویتری شخصیسازی کرد.
شرکتهایی مانند اسپاتیفای و سایت رزرو هتل «بوکینگ دات کام» از سایکیت لرن برای ساخت موتورهای توصیه پیچیدهای استفاده میکنند که محصولات یا محتواهایی را منطبق با ترجیحات هر کاربر پیشنهاد میدهند. با کمک گرفتن از سایکیت لرن برای دستهبندی مشتریها و «مدلسازی پیشگویی کننده» (Predictive Modeling)، بازاریابها میتوانند پیغام درست را در زمان درست به مشتری درست ارسال کنند.
شتاب دادن به تحقیقات علمی
در قلمرو تحقیقات علمی، کتابخانه سایکیت لرن درحال کمک به جابهجایی مرزهای دانش و رسیدن به اکتشافاتی برای پیشگامی در علوم مختلف است. از تحلیل مجموعه دادههای بسیار پیچیده در فیزیک و ستاره شناسی گرفته تا توسعه مدلهای پیشبینی کننده در رشتههایی مانند ژنومشناسی و نوروساینس، سایکیت لرن به کمک دانشمندان آمده است.
برای مثال، محققین شرکت «اینریا» (Inria) از ابزارهای چندکاره این کتابخانه استفاده کردهاند. با کمک این کتابخانه تحلیل داده را به سادگی انجام میدهند و این کار به آنها کمک کرده تا بر روی سوالات تحقیقاتی اساسی تمرکز و نوآوریها را به جهت مورد نظر خود هدایت کنند.
اینها همگی فقط مثالهای کوچکی از روش استفاده سایکیت لرن برای حل مسائل مربوط به دنیای واقعی هستند. با کمک این کتابخانه میتوان فرایندهای رایج در صنایع مختلف را با روشهای جدیدتر، سریعتری و بهتری مدیریت کرد. با همان ترتیب که شرکتهای بیشتری قدرت یادگیری ماشین را درک میکنند، کتابخانه سایکیت لرن هم بدون شک به انجام نقش حیاتی خود در شکل دادن به آینده و نوآوریهای داده محور ادامه میدهد.
چالش ها و ملاحظات مربوط به استفاده سایکیت لرن چیست؟
قبل از استفاده کتابخانه سایکیت لرن، مهم است که درباره محدودیتها و ملاحظات اخلاقی پیرامون استفاده از آن اطلاعات کافی داشته باشیم.
درحالی که این کتابخانه به طرزی غیرقابل انکار بسیار قدرتمند است، اما چند نقطه ضعف قابل توجه نیز دارد. بنابراین برای هر دانشمند دادهای لازم است که نسبت به این نقاط ضعف آشنایی داشته باشد.
از لحاظ تکینیکی، کتابخانه سایکیت لرن با چالشهای فهرست شده در زیر روبهرو است.
- پشتیبانی محدود شده از وظایف مربوط به «یادگیری عمیق» (Deep Learning)
- مدیریت کارآمد مجموعه دادههای با ابعاد بالا سخت است.
- در زمان کار با مجموعه دادههای بسیار بزرگ با مشکلاتی در زمینه مقیاسپذیری روبهرو میشود.
- با بعضی از ابزارهای صنعتی با سختی و کندی زیاد یکپارچه میشود.
این محدودیتها میتوانند بر کارایی وظایف پیچیدهای مانند «تشخیص تصویر» (Image Recognition) یا «پردازش زبان طبیعی» (Natural Language Processing) تاثیر بگذارند. این نوع از مسائل اغلب نیازمند تکنیکهای پیچیدهتری هستند. مدلها احتمالا برای مقیاسدهی کارآمد در برخورد با مسائلی از جنس کلان دادهها با مشکل روبهرو میشوند.
درهرحالت، نگرانیهای اخلاقی پیرامون استفاده از کتابخانه سایکیت لرن و سایر ابزارهای یادگیری ماشین به راستی قابل توجه هستند. یکی از مشکلات مهم، سوگیری الگوریتمی در مدلهایی است که توسط این کتابخانه تولید شدهاند. این سوگیریها اگر با دقت مدیریت نشوند، شاید منجر به تولید خروجیهای تبعیض آمیز یا غیر منصفانه شوند. به خصوص در حوزههای حساسی مانند بهداشت و درمان این مشکلات برجستهتر هستند.
بیمارستانی را تصور کنید که از مدلی برای پیشبینی سطح خطر در سلامتی بیماران استفاده میکند. اگر آن مدل توسط دادههایی آموزش دیده باشد که اطلاعات جمعیتی خاصی را کمتر مورد توجه قرار داده، به صورت سیستمی میتواند خطرات متوجه به آن گروه جمعیتی را نیز نادیده بگیرد. در نتیجه منجر به اعمال مراقبتهای درمانی ناکافی برای آن گروه جمعیتی میشود.
جامعه توسعهدهندگان سایکیت لرن با این دست از مسائل مربوط به سوگیریهای غیر منصفانه درگیر شده و تلاش میکنند تا آنها را حل کنند. اما برای چنین مشکلاتی معمولا جوابهای سادهای وجود ندارند. این مسئله نیازمند استفاده از معیارهای اندازهگیری منصفانه، تضمین فراگیر بودن مجموعه داده و ایجاد شفافیت بیشتر در مدلها است. در نتیجه تصمیمات مدلها هم بیشتر قابل درک میشوند و هم قابل بررسی و زیر سوال بردن خواهند بود.
به عنوان دانشمند دادهای که از کتابخانه سایکیت لرن استفاده میکند، بسیار ضروری است که نسبت به چنین چالشهایی آگاه باشیم. درک محدودیتهای کتابخانه میتواند در توسعه استراتژی مناسب برای توسعه مدل کمک کند. همیشه ضروری است که ابعاد اخلاقی مدلهای خود را نیز برای استفاده مسئولانه از یادگیری ماشین در نظر داشته باشیم. با آگاهی و اقدامات پیشگیرانه صحیح، سایکیت لرن به عنوان ابزاری اجتناب ناپذیر باقی میماند. فقط باید با توجه و آگاهی کامل از این ابزار استفاده کنیم.
آموزش یادگیری ماشین با کمک فرادرس
یادگیری ماشین به دلیل کاربردهای فراوان در حوزههای مختلف، از جمله بازاریابی، تحلیلهای مالی، پردازش زبانهای طبیعی، تصویربرداری و غیره مورد استفاده قرار میگیرد. از طرفی پایتون به دلیل ساختار قابل فهم و کتابخانههای پرکاربردی مانند NumPy و Pandas و Scikit-Learn به یکی از پراستفادهترین زبانهای برنامهنویسی در حوزه یادگیری ماشین تبدیل شده است. به همین منظور فرادرس تلاش کرده فیلمهای آموزشی، طراحی و تولید کند تا تمام نیاز مخاطبین در بین همه منابع فارسی زبان تامین شود. در این بخش چند مورد از فیلمهای آموزشی را معرفی کردهایم.
- فیلم آموزش یادگیری ماشین و پیاده سازی در پایتون، بخش یکم با فرادرس
- فیلم آموزش یادگیری ماشین و پیاده سازی در پایتون، بخش دوم با فرادرس
- فیلم آموزش یادگیری ماشین به صورت جامع و با مفاهیم کلیدی در فرادرس
- فیلم آموزش رایگان کتابخانه های پایتون برای یادگیری ماشین و یادگیری عمیق در فرادرس
- فیلم آموزش رایگان رگرسیون همراه با معرفی و توضیح درباره انواع آن در فرادرس
امکانات آینده سایکیت لرن چیست؟
سایکیت لرن آماده است تا نفوذ چشمگیر خود را در دنیای هوش مصنوعی حفظ کند. این کار را از طریق معرفی پیشرفتهایی انجام میدهد که باعث رسیدن به اهداف زیر میشوند.
- تقویت مقایسپذیری
- یکپارچگی عمیقتر با فریمورکهای پایتون مربوط به یادگیری عمیق
- و توسعه قابلیت تفسیرپذیری مدلها
در این قسمت نگاه دقیقتری به معنی مطالب گفته شده بالا خواهیم داشت.
افزایش مقیاس پذیری و سادگی در یکپارچه سازی
حجم دادهها معمولا رو به افزایش میگذارند. به همین دلیل انتظار میرود که نسخههای آینده سایکیت لرن، مقیاسپذیری بیشتری را ارائه دهند. این مسئله به شرکتهای تجاری اجازه میدهد که به صورت موثرتری مجموعه دادههای بزرگ را مدیریت کنند.
علاوه بر مطلب بیان شده، عملیات ادغام سادهتر با کتابخانههای مخصوص یادگیری عمیقی مانند TensorFlow و PyTorch نیز به زودی پیادهسازی خواهند شد. مزیت اصلی «یکپارچهسازی تقویت شده» (Enhanced Integration) در این است که ساخت مدلهای پیچیده هوش مصنوعی با آسانی بیشتر ممکن خواهد شد. در نتیجه هم میتوان از تکینکهای قدیمی یادگیری ماشین استفاده کرد و هم از جدیدترین و مدرنترین روشهای یادگیری عمیق.
تقویت قابلیت تفسیرپذیری مدل ها
همینطور که مدلهای یادگیری ماشین با فرایندهای بیشتری در زمینه کسبوکار ادغام میشود، تقاضای رو به رشدی هم برای شفافسازی به وجود میآید. سایکیت لرن هم احتمالا بر روی توسعه ابزارهای بهتر تمرکز خواهد کرد. در نتیجه مدلهای طراحی شده قابلیت تفسیرپذیری بیشتری نیز خواهند داشت. این مسئله به دانشمندان داده کمک میکند که مدلهای خود را بازبینی کرده و به صنایع کمک میکند از مقرراتی پیروی کنند که نیاز به سامانههای «هوش مصنوعی قابل توضیح» (Explainable AI | XAI) دارند.
برای اینکه با این مفهوم در دنیای یادگیری ماشین بیشتر آشنا شوید، پیشنهاد میکنیم که فیلم آموزش رایگان تفسیر مدل های یادگیری ماشین، مفاهیم و روشها را از فرادرس مشاهده کنید. لینک مربوط به این فیلم را در پایین نیز قرار دادهایم.
تولید داده های مصنوعی
یکپارچهسازی احتمالی سایکیت لرن با تکنیکهای «هوش مصنوعی مولد» (Generative AI) نمایانگر تغییر دگرگون کننده در همه کسبوکارهاست. با فراهم شدن امکان تولید دادههای مصنوعی، شرکتها میتوانند فرایند آموزش مدلها را از طریق حفظ امنیت و حریم دادهها تقویت کنند. این رویکرد عملیاتی اتکای صِرف به مجموعه دادههای بزرگ مقیاس از دنیای واقعی را کاهش میدهد. در نتیجه هم هزینه و هم زمان توسعه مدلها به میزان قابل توجهی کاهش پیدا میکند. تولید دادههای مصنوعی همچنین میتواند به حل کردن مشکلاتی مانند نامتعادل بودن دادهها نیز کمک کند. این کار از طریق فراهم کردن مجموعه دادههای متفاوت برای آموزش مدلهای هوش مصنوعی انجام میگیرد.
ماندن بالای منحنی
همینطور که کتابخانه سایکیت لرن رشد رو به تکامل خود را ادامه میدهد، توسعهدهندگان حرفهای هم نیاز دارند برای ماندن در بالای نمودار توانایی، یادگیری خود را ادامه دهند. تسلط به ویژگیهای جدید کتابخانهها میتواند برای رشد شغلی حیاتی شود. به خصوص در کسبوکارهایی که برای تحلیل دادههای خود بر یادگیری ماشین تکیه دارند.
به طور خلاصه، بهروز بودن با توسعههای سایکیت لرن، برای حرفهایها - فارق از هر سطح مهارتی که دارند - ضروری است. برای اینکه بتوانید با هر نوآوری جدیدی کار کرده و با تغییرات جدید خود را سازگار کنید، باید به صورت دائم به مرور اخبار مربوط به سایکیت لرن و سایر فریمورکهای هوش مصنوعی بپردازید.
جمعبندی
اگر برنامهنویسی هستید که با زبان پایتون کار میکند و میخواهید بر روی پروژههای مربوط به یادگیری ماشین نیز مشغول به کار شوید، سایکیت لرن یکی از ضروریترین ابزاری است که باید به زرادخانه مهارتهای خود اضافه کنید. زیرا این کتابخانه وظایف و کارهای پیچیده را ساده میکند و با سایر کتابخانههای پایتون نیز بهسادگی ادغام میشود. در نتیجه عملکرد و بهرهوری کار به میزان زیادی افزایش پیدا میکند. سایکیت لرن طیف وسیعی از الگوریتمهای یادگیری ماشین را در کنار ابزارهای بسیار مفیدی برای پردازش دادهها ارائه میدهد.
در این مطلب از مجله فرادرس، دانستیم که سایکیت لرن چیست و چگونه کار میکند. روش نصب و استفاده اولیه از این کتابخانه قدرتمند را نمایش داده و سپس درباره بهترین کاربردهای این کتابخانه نیز توضیحاتی ارائه دادیم. در آخر انواع چالشها و ملاحظات لازم در زمان استفاده سایکیت لرن را مورد بررسی قرار داده و نگاهی هم به چشم انداز آینده توسعه سایکیت لرن داشتیم.