Javascript Disabled!

Please Enable Javascript if you disabled it, or use another browser we preferred Google Chrome.
Please Refresh Page After Enable

Powered By UnCopy Plugin.

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial]


در این آموزش، ما بر روی استفاده از کتابخانه Scikit-Learn در پایتون تمرکز خواهیم کرد. Scikit-Learn یک کتابخانه ساده، سریع و مفید است که در یادگیری ماشین پایتون استفاده می شود. ابزارهای ساده و کارآمد مورد استفاده در تجزیه و تحلیل داده ها و داده کاوی را فراهم می کند. رایگان، آسان برای استفاده و در دسترس برای همه. در چندین زمینه قابل استفاده مجدد است. آن ساخته شده است ناپخته، Scipy و matplotlib. کتابخانه منبع باز آن توسط گوگل ارائه شده و قابل استفاده تجاری است. Scikit-Learn که با نام sklearn نیز شناخته می‌شود، می‌تواند در مدل‌سازی آماری مانند طبقه‌بندی، رگرسیون و خوشه‌بندی و غیره استفاده شود. این شامل بسیاری از پارامترهای تنظیم است.

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial]

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial]

همچنین بخوانید: حل شد: ModuleNotFoundError: هیچ ماژولی با نام ‘skbuild’ وجود ندارد

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

نصب و راه اندازی

اگر آناکوندا در سیستم خود دارید، پس نیازی به نصب sklearn جداگانه ندارید. Anaconda دارای Sklearn داخلی نصب شده است. اگر آناکوندا در سیستم خود ندارید، می توانید sklearn را با استفاده از این دستور نصب کنید.

pip install scikit-learn

یا،

conda install scikit-learn

واردات

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

Import sklearn

مدلسازی با Scikit-learn

اگر نیاز به وارد کردن مدل از scikit-learn داشته باشیم، فرض می کنیم چند مرحله اساسی را دنبال کنیم که با شروع بارگذاری مجموعه داده. مجموعه داده از دو جزء تشکیل شده است:

  • نام ویژگی ها: نام ستون ها نام ویژگی ها در مجموعه داده ها هستند.
  • ماتریس ویژگی: اگر مجموعه داده دارای چندین ستون باشد که به آن ماتریس ویژگی می گویند.

بیایید یک مجموعه داده ساده به نام بارگذاری کنیم عنبیه. بیایید ببینیم چگونه مجموعه داده را با استفاده از scikit-learn بارگذاری کنیم. می توان آن را با استفاده از دستور ساده وارد کرد:

from sklearn import datasets

پس از وارد کردن، مجموعه داده های خاص خود را برای استفاده در نوت بوک Jupyter بارگذاری می کنیم.

Data = datasets.load_iris()

برای تأیید بارگیری داده ها، شکل داده ها را چاپ کنید:

print(iris.data.shape)
نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 2

اگر بخواهیم جزئیات مجموعه داده عنبیه را چاپ کنیم، می‌توانیم آن را با استفاده از:

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 3

قبل از استفاده یا برازش هر مدلی، داده ها را به نسبت 70:30 تقسیم می کنیم، یعنی 70 درصد داده ها به عنوان داده های آموزشی و 30 درصد به عنوان داده های آزمایشی استفاده می شود.

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 4

همانطور که در مثال بالا مشاهده می شود، از آن استفاده می کند train_test_split() تابع scikit-learn برای تقسیم مجموعه داده. این تابع دارای آرگومان های زیر است:

  • X، y – اینجا، ایکس هست ماتریس ویژگی و y است بردار پاسخ، که باید تقسیم شوند.
  • اندازه_تست – این نشان دهنده نسبت داده های آزمون به کل داده های داده شده است. همانطور که در مثال بالا، ما در حال تنظیم هستیم test_data = 0.3 برای 150 ردیف X. داده های آزمایشی 150*0.3 = 45 ردیف را تولید می کند.
  • اندازه_تصادفی – برای تضمین اینکه تقسیم همیشه یکسان خواهد بود استفاده می شود. این در شرایطی که می خواهید نتایج قابل تکرار داشته باشید مفید است.

حالا می توانیم از چندگانه استفاده کنیم مثال ها برای ایجاد بینش یا نتایج متفاوت از داده ها با استفاده از sklearn. در این مقاله سه مدل را مشاهده خواهیم کرد:

  • K-نزدیکترین طبقه بندی کننده همسایه
  • پیش پردازش داده ها

K-نزدیکترین طبقه بندی کننده همسایه

بیایید ابتدا بفهمیم، نزدیکترین همسایه k چیست؟ k-نزدیکترین همسایه نیز به عنوان شناخته شده است Knn. به زبان ساده، KNN یک تکنیک طبقه بندی ناپارامتریک است. یکی از شناخته شده ترین روش های طبقه بندی است. ایده این است که ویژگی های از پیش تعیین شده فضایی را ایجاد می کنند که در آن داده های شناخته شده مرتب می شوند. الگوریتم زمانی که داده های جدید را با مقایسه کلاس های k نزدیکترین داده دریافت می کند، کلاس داده های جدید را تعیین می کند.

کار از KNN

پروژه های داده کاوی در مقیاس بزرگ رویکرد استاندارد یادگیری ماشینی K-Nearest Neighbors (KNN) را اتخاذ کرده اند. مفهوم به کارگیری داده های آموزشی زیادی است که هر نقطه داده دارای مجموعه ای منحصر به فرد از عوامل است. هر نقطه به صورت مفهومی در فضایی با ابعاد بالا نمایش داده می شود، جایی که هر محور یک متغیر مجزا را نشان می دهد.

مجموعه داده به خوشه های ‘k’ تقسیم می شود و هر مشاهده به یک خوشه اختصاص داده می شود. این کار به صورت مکرر انجام می شود تا زمانی که خوشه ها همگرا شوند. کار با پیاده سازی در زیر توضیح داده شده است:

الف) اول از همه ما knn را در نوت بوک خود وارد می کنیم.

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 5

ب) سپس مدلی به نام knn را برازش می کنیم.

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 6

ج) سپس نتیجه را پیش بینی و چاپ می کنیم.

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 7

د) برای محاسبه دقت، معیارها را در نوت بوک خود وارد می کنیم.

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 8

ه) و در آخر باید محاسبات دقت را مطابق شکل زیر انجام دهیم.

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 9

و) دقتی که در اینجا به دست می آوریم است 97%

پیش پردازش داده ها

ما باید حجم زیادی از داده‌های خام را که با آن کار می‌کنیم، به داده‌های مرتبط تبدیل کنیم، قبل از اینکه آن‌ها را به الگوریتم‌های یادگیری ماشین برسانیم. پیش پردازش داده ها نام این روش است. پیش پردازش یک بسته در Scikit-Learn است که می تواند برای این منظور استفاده شود. ما چندین تکنیک پیش پردازش را با استفاده از sklearn مورد بحث قرار خواهیم داد.

1. حذف میانگین

برای کاهش میانگین از بردار ویژگی استفاده می شود به طوری که هر ویژگی بر روی صفر متمرکز شود.

الف) شروع با وارد کردن ماژول پیش پردازش در نوت بوک ما:-

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 10

ب) آرایه را به عنوان داده ورودی در نظر بگیریم:

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 11

ج) نمایش میانگین و انحراف معیار داده های ورودی:

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 12

د) حذف میانگین و انحراف معیار داده های ورودی:

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 13

2. پوسته پوسته شدن

این تکنیک پیش پردازش برای مقیاس بندی بردارهای ویژگی استفاده می شود. این مهم است زیرا ویژگی ها نباید به طور مصنوعی بزرگ یا کوچک باشند.

مقیاس کننده حداقل حداکثر

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 14

K-Means Clustering با sklearn

بیایید ریاضیات پایه تکنیک خوشه‌بندی k-means و نحوه استفاده از scikit-learn برای اجرای آن را بیاموزیم. خوشه بندی صرفاً جمع آوری چیزهایی است که در یک گروه بیشتر از گروه های دیگر شبیه یکدیگر هستند. خوشه بندی به عنوان تحلیل خوشه ای نیز شناخته می شود.

رویکرد K-Means بسیار محبوب است زیرا در مقایسه با سایر الگوریتم‌های خوشه‌بندی، استفاده از آن ساده و از نظر محاسباتی کارآمد است. الگوریتم k-means متعلق به خوشه بندی مبتنی بر نمونه اولیه. در خوشه‌بندی مبتنی بر نمونه اولیه، مجموعه‌ای از موارد است که در آن یک یا چند شی به نمونه اولیه خوشه نزدیک‌تر از نمونه اولیه خوشه دیگر هستند.

کاربردهای K-Means

کاربردهای اصلی خوشه بندی kmeans عبارتند از:

  • تقسیم بندی بازار: در زمینه بازاریابی، خوشه‌بندی K-means می‌تواند برای شناسایی و جداسازی گروه‌های مختلف مشتریان بر اساس داده‌های موجود مشتری استفاده شود.
  • خوشه بندی اسناد: این یک تکنیک بسیار خاص برای سازماندهی اسناد مشابه برای کارهای مختلف است.
  • تقسیم بندی تصویر: همچنین می توان از K-means برای پارتیشن بندی تصویر به چند بخش استفاده کرد تا بتوان آن را به راحتی برای استخراج اطلاعات مفید تجزیه و تحلیل کرد.
  • فشرده سازی تصویر: روشی برای فشرده سازی تصویر دیجیتال بدون افت کیفیت تصویر است. برخلاف فشرده سازی بدون اتلاف، K-means از تکنیک فشرده سازی با اتلاف استفاده می کند.

K-Means مراحل خوشه بندی

گام اول و اساسی الگوریتم kmeans این است که k تعداد خوشه ها را تعیین کنید و مرکز یا مرکز آنها را فرض کنید. ما می توانیم هر خوشه تصادفی را به عنوان مرکز یا مرکز در نظر بگیریم.

سپس خوشه‌بندی Kmeans شامل سه مرحله تا همگرایی است:

  • مختصات مرکز را پیدا کنید
  • فاصله هر نقطه تا مرکز را پیدا کنید
  • نقاط را بر اساس حداقل فاصله از مرکز گروه بندی کنید

پیاده سازی خوشه بندی K-Means

بیایید پیاده سازی kmeans با استفاده از sklearn را بررسی کنیم

الف) واردات کتابخانه های مورد نیاز برای k-means:-

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 15

ب) بیایید مجموعه داده با نام ” را بارگذاری کنیمMall_Customers.csv” که ما اینجا برای هدف آزمایشی داریم.

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 16

خروجی این است: –

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 17

ج) با شکل تابع، می توان دید که دارای 5 ستون و 200 ردیف است.

data.shape

شکل مجموعه داده ما این است:

(200,5)

د) مقیاس بندی ویژگی داده جنبه ضروری پیش پردازش داده برای الگوریتم های خوشه بندی مانند K-means برای ارائه نتایج دقیق است. این به دلیل این واقعیت است که رویکردهای خوشه‌بندی فاصله بین نقاط داده را محاسبه می‌کنند. بنابراین، ترکیب داده های بسیاری از واحدها در یک مقیاس مناسب است. ما از مقیاس‌کننده min-max برای مقیاس‌بندی در k-means استفاده خواهیم کرد.

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 18

پس از اعمال مقیاس‌کننده حداقل حداکثر، خروجی را دریافت کردیم:

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 19

ه) اجازه دهید نحوه اعمال K-Means را در Sklearn برای گروه بندی مجموعه داده ها در 2 خوشه (0 و 1) ببینیم. خروجی خوشه (0 یا 1) مربوط به نقاط داده در مجموعه داده را نشان می دهد.

دو خوشه به این صورت تعریف می شوند n_cluster = 2

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 20

این دو خوشه به 0 و 1 تقسیم می شوند.

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 21

و) cluster_centers_ می توان برای یافتن مرکز این دو خوشه استفاده کرد. مرکز دو خوشه را می توان با موارد زیر تعیین کرد:

km.cluster_centers_

مرکز دو خوشه در زیر نشان داده شده است:

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 22

ز) بیایید نتایج را تجسم کنیم. ما به وضوح در نمودار می بینیم، داده ها را می توان به بیش از دو گروه تقسیم کرد. اکنون باید بفهمیم که چند خوشه وجود دارد؟

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 23

تجسم این است: –

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 24

در تصویر زیر دو رنگ نقطه را می بینیم. من نقاط آبی متعلق به خوشه 0 (صفر) را به عنوان قرمز و نقاط آبی متعلق به خوشه 1 (یک) را زرد علامت زده ام.

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 25

تعداد بهینه خوشه در K-Means

اکنون پیچیده‌ترین بخش الگوریتم kmeans این است که “در چند دسته مجموعه داده را می توان تقسیم کرد” روش‌های متعددی را می توان برای یافتن تعداد بهینه خوشه استفاده کرد. همچنین می توان آن را با روش ساده “آزمایش و خطا” انجام داد. روشهای کارآمد دیگر عبارتند از:

  • روش زانویی با خطای مجموع مربعات درون خوشه ای (WCSS)
  • روش Silhouette

بیایید استفاده کنیم روش WCSS روش آرنج روشی است که برای تعیین تعداد خوشه ایده آل است.

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 26

در اینجا، مجموع خطاهای مربعی (WCSS) را برای چندین مقدار k تعیین کردیم و k را انتخاب کردیم که در آن WSS ابتدا شروع به کاهش می‌کند. این به عنوان یک زانو در گرافیک WSS-versus-k ظاهر می شود.

نحوه استفاده از Scikit-Learn در پایتون [Complete Tutorial] 27

نتیجه

در این مقاله دیدیم که Scikit-Learn کار با چندین الگوریتم یادگیری ماشین را آسان می کند. نمونه‌هایی از KNN و تکنیک‌های پیش پردازش و خوشه‌بندی k-means با استفاده از sklearn را دیده‌ایم. Scikit-Learn هنوز در مرحله توسعه است و توسط داوطلبان در حال توسعه و نگهداری است، اما در جامعه بسیار محبوب است.


به این مطلب امتیاز دهید

جهت ارسال نظر اینجا کلیک کنید.