[](https://youtu.be/6mSx_KJxcHI "یادگیری ماشین برای مبتدیان - مقدمهای بر یادگیری ماشین برای مبتدیان")
[](https://youtu.be/6mSx_KJxcHI "آموزش یادگیری ماشین برای مبتدیان - مقدمهای بر یادگیری ماشین برای مبتدیان")
> 🎥 روی تصویر بالا کلیک کنید تا ویدئوی کوتاهی درباره این درس مشاهده کنید.
> 🎥 برای دیدن ویدیوی کوتاه مرور این درس، روی تصویر بالا کلیک کنید.
به این دوره آموزشی درباره یادگیری ماشین کلاسیک برای مبتدیان خوش آمدید! چه کاملاً تازهکار باشید و چه یک متخصص یادگیری ماشین که به دنبال مرور یک موضوع خاص است، خوشحالیم که به ما پیوستهاید! هدف ما ایجاد یک نقطه شروع دوستانه برای مطالعه یادگیری ماشین شماست و خوشحال میشویم بازخورد شما را [ارزیابی، پاسخدهی و اعمال کنیم](https://github.com/microsoft/ML-For-Beginners/discussions).
به این دوره یادگیری ماشین کلاسیک برای مبتدیان خوش آمدید! چه کاملاً در این موضوع تازهکار باشید و چه یک متخصص باتجربه یادگیری ماشین که میخواهد در بخشی بهروزرسانی شود، خوشحالیم که به ما ملحق شدهاید! ما میخواهیم یک نقطه شروع دوستانه برای مطالعه یادگیری ماشین شما ایجاد کنیم و مشتاقیم بازخوردهای شما را ارزیابی، پاسخ و در این درسها وارد کنیم. [بازخورد شما](https://github.com/microsoft/ML-For-Beginners/discussions)
[](https://youtu.be/h0e2HAPTGF4 "مقدمهای بر یادگیری ماشین")
> 🎥 روی تصویر بالا کلیک کنید تا ویدئوی جان گوتاگ از MIT درباره یادگیری ماشین را مشاهده کنید.
> 🎥 برای دیدن ویدیو: جان گاتتاگ از MIT یادگیری ماشین را معرفی میکند، روی تصویر بالا کلیک کنید.
---
## شروع با یادگیری ماشین
## شروع کار با یادگیری ماشین
قبل از شروع این دوره آموزشی، باید کامپیوتر خود را آماده کنید تا بتوانید نوتبوکها را به صورت محلی اجرا کنید.
قبل از شروع این برنامه درسی، باید رایانه خود را آماده کنید تا بتوانید دفترچههای یادداشت را بهصورت محلی اجرا کنید.
- **کامپیوتر خود را با این ویدئوها تنظیم کنید**. از لینکهای زیر استفاده کنید تا [نصب پایتون](https://youtu.be/CXZYvNRIAKM) روی سیستم خود را یاد بگیرید و [ویرایشگر متن](https://youtu.be/EU8eayHWoZg) را برای توسعه تنظیم کنید.
- **پایتون را یاد بگیرید**. توصیه میشود که درک پایهای از [پایتون](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott)، یک زبان برنامهنویسی مفید برای دانشمندان داده که در این دوره استفاده میشود، داشته باشید.
- **Node.js و JavaScript را یاد بگیرید**. ما همچنین چند بار در این دوره از JavaScript برای ساخت اپلیکیشنهای وب استفاده میکنیم، بنابراین باید [node](https://nodejs.org) و [npm](https://www.npmjs.com/) نصب شده باشند و [Visual Studio Code](https://code.visualstudio.com/) برای توسعه پایتون و JavaScript در دسترس باشد.
- **یک حساب GitHub ایجاد کنید**. از آنجا که ما را در [GitHub](https://github.com) پیدا کردهاید، ممکن است قبلاً حساب داشته باشید، اما اگر ندارید، یکی ایجاد کنید و سپس این دوره آموزشی را فورک کنید تا خودتان از آن استفاده کنید. (خوشحال میشویم اگر به ما یک ستاره بدهید 😊)
- **Scikit-learn را بررسی کنید**. با [Scikit-learn](https://scikit-learn.org/stable/user_guide.html)، مجموعهای از کتابخانههای یادگیری ماشین که در این درسها به آنها اشاره میکنیم، آشنا شوید.
- **رایانه خود را با این ویدیوها راهاندازی کنید**. از لینکهای زیر استفاده کنید تا یاد بگیرید [چگونه پایتون نصب کنید](https://youtu.be/CXZYvNRIAKM) و [چگونه یک ویرایشگر متن](https://youtu.be/EU8eayHWoZg) برای توسعه تنظیم کنید.
- **پایتون بیاموزید**. همچنین توصیه میشود یک درک پایه از [پایتون](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott)، زبان برنامهنویسی مفید برای دانشمندان داده و مورد استفاده در این دوره، داشته باشید.
- **Node.js و JavaScript را بیاموزید**. ما همچنین چند بار در این دوره هنگام ساخت اپلیکیشنهای وب از جاوااسکریپت استفاده میکنیم، بنابراین باید [node](https://nodejs.org) و [npm](https://www.npmjs.com/) را نصب کرده و [Visual Studio Code](https://code.visualstudio.com/) را برای توسعه هم پایتون و هم جاوااسکریپت داشته باشید.
- **یک حساب GitHub ایجاد کنید**. از آنجا که ما را اینجا در [GitHub](https://github.com) یافتید، شاید حساب کاربری داشته باشید، اما اگر ندارید یک حساب بسازید و سپس این برنامه درسی را فورک کنید تا برای خود استفاده کنید. (اگر تمایل داشتید میتوانید به ما امتیاز دهید 😊)
- **Scikit-learn را کاوش کنید**. با [Scikit-learn](https://scikit-learn.org/stable/user_guide.html) آشنا شوید، مجموعهای از کتابخانههای یادگیری ماشین که در این درسها به آنها ارجاع میدهیم.
---
## یادگیری ماشین چیست؟
اصطلاح "یادگیری ماشین" یکی از محبوبترین و پرکاربردترین اصطلاحات امروز است. احتمال زیادی وجود دارد که حداقل یک بار این اصطلاح را شنیده باشید، اگر با فناوری آشنایی داشته باشید، فارغ از اینکه در چه حوزهای کار میکنید. اما مکانیزم یادگیری ماشین برای اکثر افراد یک راز است. برای یک مبتدی در یادگیری ماشین، این موضوع گاهی اوقات میتواند گیجکننده باشد. بنابراین، مهم است که بفهمیم یادگیری ماشین واقعاً چیست و آن را قدم به قدم، از طریق مثالهای عملی یاد بگیریم.
واژه «یادگیری ماشین» یکی از محبوبترین و پرکاربردترین اصطلاحات امروز است. احتمال قابل توجهی وجود دارد که اگر کمی با فناوری آشنا باشید، حداقل یک بار این اصطلاح را شنیده باشید، بدون توجه به حوزه کاری شما. اما مکانیزمهای یادگیری ماشین برای اکثر مردم ناگهان رازآلود است. برای یک مبتدی یادگیری ماشین، موضوع گاهی اوقات میتواند طاقتفرسا باشد. بنابراین مهم است که بفهمیم یادگیری ماشین دقیقاً چیست و آن را گام به گام با مثالهای عملی یاد بگیریم.
> Google Trends منحنی هیجان اخیر اصطلاح "یادگیری ماشین" را نشان میدهد.
> گوگل ترندز نمودار «منحنی هیجان» اخیر اصطلاح «یادگیری ماشین» را نشان میدهد
---
## جهانی اسرارآمیز
## یک جهان رازآلود
ما در جهانی پر از اسرار جذاب زندگی میکنیم. دانشمندان بزرگی مانند استیون هاوکینگ، آلبرت انیشتین و بسیاری دیگر زندگی خود را وقف جستجوی اطلاعات معنادار کردهاند که اسرار دنیای اطراف ما را آشکار میکند. این همان وضعیت انسانی یادگیری است: یک کودک انسان چیزهای جدیدی یاد میگیرد و ساختار دنیای خود را سال به سال با رشد به بزرگسالی کشف میکند.
ما در جهانی پر از رازهای جذاب زندگی میکنیم. دانشمندان بزرگی مانند استیفن هاوکینگ، آلبرت اینشتین و بسیاری دیگر زندگی خود را وقف جستجوی اطلاعات معنا دار برای کشف اسرار دنیای اطراف کردهاند. این همان شرایط انسانی یادگیری است: کودکی انسانی هر سال با رشد خود به بزرگسالی، چیزهای جدیدی میآموزد و ساختار جهان خود را کشف میکند.
---
## مغز کودک
مغز و حواس یک کودک حقایق اطراف خود را درک میکنند و به تدریج الگوهای پنهان زندگی را یاد میگیرند که به کودک کمک میکند قوانین منطقی برای شناسایی الگوهای یادگرفته شده بسازد. فرآیند یادگیری مغز انسان، انسانها را به پیچیدهترین موجودات زنده این دنیا تبدیل کرده است. یادگیری مداوم با کشف الگوهای پنهان و سپس نوآوری بر اساس آن الگوها به ما امکان میدهد که در طول زندگی خود بهتر و بهتر شویم. این ظرفیت یادگیری و قابلیت تکامل به مفهومی به نام [انعطافپذیری مغز](https://www.simplypsychology.org/brain-plasticity.html) مرتبط است. به طور سطحی، میتوانیم شباهتهای انگیزشی بین فرآیند یادگیری مغز انسان و مفاهیم یادگیری ماشین ترسیم کنیم.
مغز و حواس کودک، واقعیتهای محیط اطراف خود را درک کرده و به تدریج الگوهای پنهان زندگی را میآموزند که به کودک کمک میکند قواعد منطقی برای شناسایی الگوهای آموختهشده بسازد. فرایند یادگیری مغز انسان، انسان را پیچیدهترین موجود زنده این جهان میکند. یادگیری مداوم با کشف الگوهای پنهان و نوآوری روی آنها باعث میشود ما در طول عمر خود بهتر و بهتر شویم. این ظرفیت یادگیری و قابلیت تحول با مفهومی به نام [انعطافپذیری مغز](https://www.simplypsychology.org/brain-plasticity.html) مرتبط است. به طور ظاهری میتوان برخی شباهتهای انگیزشی بین فرایند یادگیری مغز انسان و مفاهیم یادگیری ماشین رسم کرد.
---
## مغز انسان
[مغز انسان](https://www.livescience.com/29365-human-brain.html) چیزهایی را از دنیای واقعی درک میکند، اطلاعات درکشده را پردازش میکند، تصمیمات منطقی میگیرد و بر اساس شرایط اقدامات خاصی انجام میدهد. این همان چیزی است که ما آن را رفتار هوشمندانه مینامیم. وقتی فرآیند رفتار هوشمندانه را به صورت مصنوعی به یک ماشین برنامهریزی میکنیم، به آن هوش مصنوعی (AI) میگویند.
[مغز انسان](https://www.livescience.com/29365-human-brain.html) چیزهای دنیای واقعی را ادراک میکند، اطلاعات درک شده را پردازش میکند، تصمیمات منطقی میگیرد و بر اساس شرایط اقدامات خاصی انجام میدهد. این چیزی است که به آن رفتار هوشمندانه میگوییم. وقتی بخواهیم فرآیند رفتاری هوشمندانه را به صورت مشابه به ماشینی برنامهریزی کنیم، به آن هوش مصنوعی (AI) گفته میشود.
---
## برخی اصطلاحات
اگرچه این اصطلاحات ممکن است گیجکننده باشند، یادگیری ماشین (ML) یک زیرمجموعه مهم از هوش مصنوعی است. **یادگیری ماشین به استفاده از الگوریتمهای تخصصی برای کشف اطلاعات معنادار و یافتن الگوهای پنهان از دادههای درکشده برای تأیید فرآیند تصمیمگیری منطقی میپردازد**.
اگرچه اصطلاحات ممکن است اشتباه گرفته شوند، یادگیری ماشین (ML) زیرمجموعه مهمی از هوش مصنوعی است. **یادگیری ماشین به کارگیری الگوریتمهای تخصصی برای کشف اطلاعات معنادار و یافتن الگوهای پنهان از دادههای درک شده برای پشتیبانی از فرآیند تصمیمگیری منطقی میپردازد**.
---
## هوش مصنوعی، یادگیری ماشین، یادگیری عمیق


> نموداری که روابط بین هوش مصنوعی، یادگیری ماشین، یادگیری عمیق و علم داده را نشان میدهد. اینفوگرافیک توسط [Jen Looper](https://twitter.com/jenlooper) الهام گرفته از [این گرافیک](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining)
> نموداری که روابط بین هوش مصنوعی، یادگیری ماشین، یادگیری عمیق و علوم داده را نشان میدهد. این اینفوگرافیک توسط [Jen Looper](https://twitter.com/jenlooper) با الهام از [این گرافیک](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining) ساخته شده است.
---
## مفاهیمی که پوشش داده میشوند
## مفاهیم پوشش داده شده
در این دوره آموزشی، ما فقط مفاهیم اصلی یادگیری ماشین را که یک مبتدی باید بداند پوشش میدهیم. ما چیزی را که "یادگیری ماشین کلاسیک" مینامیم، عمدتاً با استفاده از Scikit-learn، یک کتابخانه عالی که بسیاری از دانشآموزان برای یادگیری اصول استفاده میکنند، آموزش میدهیم. برای درک مفاهیم گستردهتر هوش مصنوعی یا یادگیری عمیق، داشتن دانش بنیادی قوی از یادگیری ماشین ضروری است، و ما قصد داریم آن را در اینجا ارائه دهیم.
در این برنامه درسی، فقط مفاهیم اصلی یادگیری ماشین را که یک مبتدی باید بداند پوشش میدهیم. ما آنچه را «یادگیری ماشین کلاسیک» مینامیم عمدتاً با استفاده از Scikit-learn پوشش میدهیم، کتابخانه عالی که بسیاری از دانشجویان برای یادگیری مبانی استفاده میکنند. برای درک مفاهیم گستردهتر هوش مصنوعی یا یادگیری عمیق، دانش پایه قوی از یادگیری ماشین ضروری است، بنابراین میخواهیم آن را اینجا ارائه دهیم.
---
## در این دوره شما یاد خواهید گرفت:
## در این دوره یاد خواهید گرفت:
- مفاهیم اصلی یادگیری ماشین
- تاریخچه یادگیری ماشین
- یادگیری ماشین و عدالت
- تکنیکهای یادگیری ماشین در رگرسیون
- تکنیکهای یادگیری ماشین در طبقهبندی
- تکنیکهای یادگیری ماشین در خوشهبندی
- تکنیکهای رگرسیون در یادگیری ماشین
- تکنیکهای طبقهبندی در یادگیری ماشین
- تکنیکهای خوشهبندی در یادگیری ماشین
- تکنیکهای پردازش زبان طبیعی در یادگیری ماشین
- تکنیکهای پیشبینی سریهای زمانی در یادگیری ماشین
- یادگیری تقویتی
- کاربردهای واقعی یادگیری ماشین
- کاربردهای دنیای واقعی یادگیری ماشین
---
## مواردی که پوشش داده نمیشوند
## مواردی که پوشش نمیدهیم
- یادگیری عمیق
- شبکههای عصبی
- هوش مصنوعی
برای تجربه یادگیری بهتر، از پیچیدگیهای شبکههای عصبی، یادگیری عمیق - مدلسازی چندلایه با استفاده از شبکههای عصبی - و هوش مصنوعی اجتناب خواهیم کرد، که در یک دوره آموزشی دیگر به آنها خواهیم پرداخت. همچنین یک دوره آموزشی آینده درباره علم داده ارائه خواهیم داد تا بر جنبههای این حوزه بزرگتر تمرکز کنیم.
برای تجربه یادگیری بهتر، از پیچیدگیهای شبکههای عصبی، یادگیری عمیق — ساخت مدلهای چندلایه با شبکههای عصبی — و هوش مصنوعی که در برنامه درسی دیگری به آن خواهیم پرداخت، اجتناب میکنیم. همچنین برنامه درسی علوم دادهای آیندهای برای تمرکز بر آن جنبه ارائه خواهیم داد.
---
## چرا یادگیری ماشین مطالعه کنیم؟
## چرا یادگیری ماشین را بیاموزیم؟
یادگیری ماشین، از دیدگاه سیستمی، به عنوان ایجاد سیستمهای خودکار تعریف میشود که میتوانند الگوهای پنهان را از دادهها یاد بگیرند تا به تصمیمگیری هوشمندانه کمک کنند.
یادگیری ماشین از دید سیستمها به عنوان ایجاد سیستمهای خودکاری تعریف میشود که میتوانند الگوهای پنهان در دادهها را یاد بگیرند تا در تصمیمگیری هوشمندانه کمک کنند.
این انگیزه به طور کلی از نحوه یادگیری مغز انسان بر اساس دادههایی که از دنیای بیرون درک میکند، الهام گرفته شده است.
این انگیزه به طور کلی الهام گرفته شده از نحوه یادگیری برخی چیزها توسط مغز انسان بر اساس دادههایی است که از دنیای بیرون درک میکند.
✅ برای یک دقیقه فکر کنید که چرا یک کسبوکار ممکن است بخواهد از استراتژیهای یادگیری ماشین استفاده کند در مقابل ایجاد یک موتور مبتنی بر قوانین سختکد شده.
✅ برای یک دقیقه فکر کنید که چرا یک کسبوکار میخواهد به جای موتور قوانین کدگذاریشده سخت، از استراتژیهای یادگیری ماشین استفاده کند.
---
## چرا کیفیت داده مهم است
دادههای با کیفیت بالا عملکرد مدل را بهبود میبخشند. دادههای ضعیف یا پر از صدا میتواند باعث پیشبینی نادرست شود، حتی با استفاده از الگوریتمهای پیشرفته یادگیری ماشین.
---
## کاربردهای یادگیری ماشین
کاربردهای یادگیری ماشین اکنون تقریباً همه جا هستند و به اندازه دادههایی که در جوامع ما جریان دارند، فراگیر شدهاند؛ دادههایی که توسط تلفنهای هوشمند، دستگاههای متصل و سیستمهای دیگر تولید میشوند. با توجه به پتانسیل عظیم الگوریتمهای پیشرفته یادگیری ماشین، محققان قابلیتهای آنها را برای حل مشکلات چندبعدی و چندرشتهای واقعی با نتایج مثبت عالی بررسی کردهاند.
کاربردهای یادگیری ماشین اکنون تقریباً همه جا هستند و به اندازه دادههایی که در جوامع ما جریان دارند، فراگیر شدهاند، دادههایی که توسط تلفنهای هوشمند، دستگاههای متصل و سایر سیستمها تولید میشوند. با توجه به پتانسیل عظیم الگوریتمهای پیشرفته یادگیری ماشین، پژوهشگران در حال بررسی قابلیت آنها برای حل مسائل چندبعدی و چندرشتهای واقعی با نتایج مثبت چشمگیر هستند.
---
## مثالهایی از یادگیری ماشین کاربردی
## نمونههایی از یادگیری ماشین کاربردی
**شما میتوانید یادگیری ماشین را به روشهای مختلفی استفاده کنید**:
**میتوانید از یادگیری ماشین به چندین روش استفاده کنید**:
- پیشبینی احتمال بیماری از تاریخچه پزشکی یا گزارشهای بیمار.
- استفاده از دادههای هواشناسی برای پیشبینی رویدادهای جوی.
- درک احساسات یک متن.
- شناسایی اخبار جعلی برای جلوگیری از انتشار تبلیغات.
- پیشبینی احتمال بیماری بر اساس سابقه پزشکی یا گزارشهای بیمار.
- استفاده از دادههای آبوهوا برای پیشبینی رویدادهای آبوهوایی.
- فهم احساس متن.
- شناسایی اخبار جعلی برای جلوگیری از انتشار تبلیغات نادرست.
مالی، اقتصاد، علوم زمین، اکتشافات فضایی، مهندسی زیستپزشکی، علوم شناختی و حتی حوزههای علوم انسانی یادگیری ماشین را برای حل مشکلات سنگین پردازش داده در حوزه خود تطبیق دادهاند.
حوزههایی مانند مالی، اقتصاد، علوم زمین، اکتشاف فضایی، مهندسی زیستپزشکی، علوم شناختی و حتی رشتههای علوم انسانی یادگیری ماشین را برای حل مسائل پردازش دادههای پیچیده حوزه خود بهکار گرفتهاند.
---
## نتیجهگیری
یادگیری ماشین فرآیند کشف الگوها را با یافتن بینشهای معنادار از دادههای واقعی یا تولیدشده خودکار میکند. این فناوری در کاربردهای تجاری، بهداشتی و مالی، و بسیاری دیگر ارزش خود را ثابت کرده است.
یادگیری ماشین فرایند کشف الگو را با یافتن بینشهای معنیدار از دادههای دنیای واقعی یا تولید شده خودکار میکند. این ابزار در کسبوکار، سلامت، مالی و دیگر زمینهها بسیار ارزشمند بوده است.
در آینده نزدیک، درک اصول یادگیری ماشین برای افراد در هر حوزهای به دلیل پذیرش گسترده آن ضروری خواهد بود.
در آینده نزدیک، درک اصول یادگیری ماشین برای افراد از هر حوزه به دلیل پذیرش گسترده آن یک ضرورت خواهد بود.
---
# 🚀 چالش
در یک کاغذ یا با استفاده از یک اپلیکیشن آنلاین مانند [Excalidraw](https://excalidraw.com/)، تفاوتهای بین هوش مصنوعی، یادگیری ماشین، یادگیری عمیق و علم داده را ترسیم کنید. برخی از ایدههای مشکلاتی که هر یک از این تکنیکها برای حل آنها مناسب هستند را اضافه کنید.
در کاغذ یا با استفاده از یک اپلیکیشن آنلاین مانند [Excalidraw](https://excalidraw.com/) درک خود را از تفاوتهای هوش مصنوعی، یادگیری ماشین، یادگیری عمیق و علوم داده ترسیم کنید. چند ایده هم درباره مشکلاتی که هر یک از این تکنیکها در حل آنها خوب عمل میکنند اضافه کنید.
# [آزمون پس از درس](https://ff-quizzes.netlify.app/en/ml/)
برای یادگیری بیشتر درباره نحوه کار با الگوریتمهای یادگیری ماشین در فضای ابری، این [مسیر یادگیری](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-77952-leestott) را دنبال کنید.
برای یادگیری بیشتر در مورد نحوه کار با الگوریتمهای یادگیری ماشین در فضای ابری، این [مسیر یادگیری](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-77952-leestott) را دنبال کنید.
یک [مسیر یادگیری](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott) درباره اصول یادگیری ماشین بگذرانید.
یک [مسیر یادگیری](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott) در مورد مبانی یادگیری ماشین بگذرانید.
---
# تکلیف
# تمرین
[شروع به کار کنید](assignment.md)
[راهاندازی و شروع کار](assignment.md)
---
**سلب مسئولیت**:
این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما تلاش میکنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه میشود از ترجمه حرفهای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهمها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**سلب مسئولیت**:
این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیهایی باشند. سند اصلی به زبان مادری خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفهای انسانی توصیه میشود. ما در قبال هرگونه سوء تفاهم یا برداشت نادرست ناشی از استفاده از این ترجمه مسئولیتی نداریم.
خوشهبندی نوعی [یادگیری بدون نظارت](https://wikipedia.org/wiki/Unsupervised_learning) است که فرض میکند مجموعه دادهها بدون برچسب هستند یا ورودیهای آنها با خروجیهای از پیش تعریفشده مطابقت ندارند. این روش از الگوریتمهای مختلفی برای مرتبسازی دادههای بدون برچسب استفاده میکند و گروهبندیهایی را بر اساس الگوهایی که در دادهها تشخیص میدهد ارائه میدهد.
خوشهبندی نوعی از [یادگیری بدون نظارت](https://wikipedia.org/wiki/Unsupervised_learning) است که فرض میکند مجموعه داده برچسب ندارد یا ورودیهای آن با خروجیهای از پیش تعریف شده مطابقت ندارند. این روش از الگوریتمهای مختلفی برای مرتبسازی دادههای بدون برچسب و ارائه گروهبندیها بر اساس الگوهایی که در دادهها تشخیص میدهد، استفاده میکند.
[](https://youtu.be/ty2advRiWJM "No One Like You by PSquare")
> 🎥 روی تصویر بالا کلیک کنید تا ویدیو را ببینید. در حالی که در حال مطالعه یادگیری ماشین با خوشهبندی هستید، از آهنگهای رقص نیجریهای لذت ببرید - این آهنگ از PSquare در سال ۲۰۱۴ بسیار مورد توجه قرار گرفته است.
> 🎥 برای مشاهده ویدیو روی تصویر بالا کلیک کنید. در حالی که مشغول مطالعه یادگیری ماشین با خوشهبندی هستید، از برخی قطعات موسیقی دَنس هال نیجریهای لذت ببرید – این آهنگ با رتبه بالا در سال ۲۰۱۴ توسط PSquare است.
## [آزمون پیش از درس](https://ff-quizzes.netlify.app/en/ml/)
[خوشهبندی](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) برای کشف دادهها بسیار مفید است. بیایید ببینیم آیا میتواند به کشف روندها و الگوها در نحوه مصرف موسیقی توسط مخاطبان نیجریهای کمک کند.
[خوشهبندی](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) برای اکتشاف داده بسیار مفید است. بیایید ببینیم آیا میتواند در کشف روندها و الگوها در نحوه مصرف موسیقی توسط مخاطبان نیجریه کمک کند.
✅ یک دقیقه وقت بگذارید و به کاربردهای خوشهبندی فکر کنید. در زندگی واقعی، خوشهبندی زمانی اتفاق میافتد که شما یک دسته لباس دارید و باید لباسهای اعضای خانوادهتان را مرتب کنید 🧦👕👖🩲. در علم داده، خوشهبندی زمانی اتفاق میافتد که سعی دارید ترجیحات کاربران را تحلیل کنید یا ویژگیهای هر مجموعه داده بدون برچسب را تعیین کنید. خوشهبندی، به نوعی، به ایجاد نظم در آشفتگی کمک میکند، مثل مرتب کردن کشوی جورابها.
✅ یک دقیقه فکر کنید درباره استفادههای خوشهبندی. در زندگی واقعی، خوشهبندی هر زمانی رخ میدهد که شما کوهی از لباسها دارید و باید لباسهای اعضای خانواده خود را جدا کنید 🧦👕👖🩲. در علم داده، خوشهبندی زمانی رخ میدهد که بخواهید ترجیحات یک کاربر را تحلیل کنید یا ویژگیهای هر مجموعه داده بدون برچسب را مشخص نمایید. خوشهبندی به نوعی به درک آشفتگی کمک میکند، مثل کشوی جورابها.
[](https://youtu.be/esmzYhuFnds "Introduction to Clustering")
> 🎥 روی تصویر بالا کلیک کنید تا ویدیو را ببینید: جان گوتاگ از MIT خوشهبندی را معرفی میکند.
> 🎥 برای مشاهده ویدیو روی تصویر بالا کلیک کنید: جان گاتگ از MIT خوشهبندی را معرفی میکند.
در محیط حرفهای، خوشهبندی میتواند برای تعیین مواردی مانند تقسیمبندی بازار، مشخص کردن اینکه چه گروههای سنی چه اقلامی را خریداری میکنند، استفاده شود. کاربرد دیگر میتواند تشخیص ناهنجاری باشد، شاید برای کشف تقلب از یک مجموعه داده تراکنشهای کارت اعتباری. یا ممکن است از خوشهبندی برای تعیین تومورها در دستهای از اسکنهای پزشکی استفاده کنید.
در یک محیط حرفهای، خوشهبندی میتواند برای تعیین مواردی مانند تقسیمبندی بازار، تعیین گروههای سنی که چه اقلامی را میخرند، به کار رود. استفاده دیگر شناسایی ناهنجاریها است، مثلاً برای کشف تقلب در مجموعه داده تراکنشهای کارت اعتباری. یا ممکن است از خوشهبندی برای تشخیص تومورها در تصاویر پزشکی استفاده کنید.
✅ یک دقیقه وقت بگذارید و فکر کنید که چگونه ممکن است در محیطهای بانکی، تجارت الکترونیک یا کسبوکار با خوشهبندی مواجه شده باشید.
✅ یک دقیقه فکر کنید که چگونه ممکن است در محیطهای بانکی، تجارت الکترونیک یا کسبوکار با خوشهبندی «در دنیای واقعی» روبرو شده باشید.
> 🎓 جالب است بدانید که تحلیل خوشهای در دهه ۱۹۳۰ در زمینههای انسانشناسی و روانشناسی آغاز شد. آیا میتوانید تصور کنید که چگونه ممکن است استفاده شده باشد؟
> 🎓 جالب است که تحلیل خوشهای در دهه ۱۹۳۰ در رشتههای انسانشناسی و روانشناسی آغاز شد. آیا میتوانید تصور کنید چگونه استفاده شده است؟
بهطور جایگزین، میتوانید از آن برای گروهبندی نتایج جستجو - مانند لینکهای خرید، تصاویر یا نظرات - استفاده کنید. خوشهبندی زمانی مفید است که یک مجموعه داده بزرگ دارید که میخواهید آن را کاهش دهید و تحلیل دقیقتری روی آن انجام دهید، بنابراین این تکنیک میتواند برای یادگیری درباره دادهها قبل از ساخت مدلهای دیگر استفاده شود.
همچنین شما میتوانید برای گروهبندی نتایج جستجو – مانند لینکهای خرید، تصاویر یا نقد و بررسیها – از خوشهبندی بهره ببرید. خوشهبندی زمانی مفید است که شما یک مجموعه داده بزرگ دارید که میخواهید آن را کاهش دهید و تحلیل دقیقتری روی آن انجام دهید؛ بنابراین این تکنیک را میتوان برای آموختن درباره دادهها پیش از ساخت مدلهای دیگر به کار برد.
✅ هنگامی که دادههای شما در خوشهها سازماندهی شد، میتوانید به آن یک شناسه خوشه اختصاص دهید، و این تکنیک میتواند زمانی مفید باشد که بخواهید حریم خصوصی مجموعه داده را حفظ کنید؛ به جای استفاده از دادههای قابل شناسایی، میتوانید به یک نقطه داده با شناسه خوشه اشاره کنید. آیا میتوانید دلایل دیگری را تصور کنید که چرا ممکن است ترجیح دهید از شناسه خوشه به جای عناصر دیگر خوشه برای شناسایی استفاده کنید؟
✅ وقتی دادههای شما در خوشهها مرتب شدند، به آنها یک شناسه خوشه اختصاص میدهید و این تکنیک زمانی که میخواهید حریم خصوصی مجموعه داده را حفظ کنید مفید است؛ میتوانید به جای اشاره به دادههای قابل شناسایی، به نقطه داده توسط شناسه خوشه اشاره کنید. آیا میتوانید دلایل دیگری بیابید که چرا باید به جای عناصر دیگر خوشه، به شناسه خوشه برای شناسایی آن اشاره کنید؟
درک خود را از تکنیکهای خوشهبندی در این [ماژول آموزشی](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott) عمیقتر کنید.
دانش خود را درباره تکنیکهای خوشهبندی در این [ماژول آموزش](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott) عمیقتر کنید.
## شروع کار با خوشهبندی
[Scikit-learn مجموعه بزرگی](https://scikit-learn.org/stable/modules/clustering.html) از روشها را برای انجام خوشهبندی ارائه میدهد. نوعی که انتخاب میکنید به مورد استفاده شما بستگی دارد. طبق مستندات، هر روش مزایای مختلفی دارد. در اینجا یک جدول ساده از روشهای پشتیبانیشده توسط Scikit-learn و موارد استفاده مناسب آنها آورده شده است:
| Affinity propagation | خوشههای زیاد و نامساوی، استقرایی |
| Mean-shift | خوشههای زیاد و نامساوی، استقرایی |
| Spectral clustering | خوشههای کم و مساوی، انتقالی |
| Ward hierarchical clustering| خوشههای زیاد و محدود، انتقالی |
| Agglomerative clustering | خوشههای زیاد و محدود، فاصلههای غیر اقلیدسی، انتقالی |
| DBSCAN | هندسه غیر مسطح، خوشههای نامساوی، انتقالی |
| OPTICS | هندسه غیر مسطح، خوشههای نامساوی با تراکم متغیر، انتقالی |
| Gaussian mixtures | هندسه مسطح، استقرایی |
| BIRCH | مجموعه داده بزرگ با نقاط پرت، استقرایی |
> 🎓 نحوه ایجاد خوشهها ارتباط زیادی با نحوه جمعآوری نقاط داده در گروهها دارد. بیایید برخی از واژگان را بررسی کنیم:
[Scikit-learn مجموعهای گسترده](https://scikit-learn.org/stable/modules/clustering.html) از روشها برای انجام خوشهبندی ارائه میدهد. نوع روش انتخابی به مورد کاربرد شما بستگی دارد. طبق مستندات، هر روش مزایای مختلفی دارد. در اینجا جدولی ساده از روشهای پشتیبانی شده توسط Scikit-learn و موارد کاربرد مناسب آنها آمده است:
| DBSCAN | هندسه غیر مسطح، خوشههای نامتقارن، استنتاجی |
| OPTICS | هندسه غیر مسطح، خوشههای نامتقارن با چگالی متغیر، استنتاجی |
| Gaussian mixtures | هندسه مسطح، استقرایی |
| BIRCH | مجموعه داده بزرگ با دادههای ناهمسان، استقرایی |
> 🎓 نحوه ایجاد خوشهها تا حد زیادی به نحوه گردآوری نقاط داده در گروهها مربوط است. بیایید برخی اصطلاحات را باز کنیم:
>
> 🎓 ['انتقالی' در مقابل 'استقرایی'](https://wikipedia.org/wiki/Transduction_(machine_learning))
>
> استنتاج انتقالی از موارد آموزشی مشاهدهشده که به موارد آزمایشی خاص نگاشت میشوند، مشتق میشود. استنتاج استقرایی از موارد آموزشی که به قوانین عمومی نگاشت میشوند و سپس به موارد آزمایشی اعمال میشوند، مشتق میشود.
> 🎓 ['استنتاج استنتاجی' vs. 'استقرایی'](https://wikipedia.org/wiki/Transduction_(machine_learning))
>
> استنتاج استنتاجی از موارد آموزشی مشاهده شده که به موارد آزمایشی خاص نگاشت دارند مشتق میشود. استنتاج استقرایی از موارد آموزشی که به قواعد کلی نگاشت میشوند و سپس فقط روی موارد آزمایشی اعمال میشوند، مشتق شده است.
>
> یک مثال: تصور کنید یک مجموعه داده دارید که فقط بخشی از آن برچسبگذاری شده است. برخی چیزها 'صفحه' هستند، برخی 'سیدی' و برخی خالی هستند. وظیفه شما این است که برای موارد خالی برچسب ارائه دهید. اگر رویکرد استقرایی را انتخاب کنید، مدلی را برای جستجوی 'صفحه' و 'سیدی' آموزش میدهید و این برچسبها را به دادههای بدون برچسب اعمال میکنید. این رویکرد در طبقهبندی چیزهایی که در واقع 'کاست' هستند مشکل خواهد داشت. یک رویکرد انتقالی، از سوی دیگر، این دادههای ناشناخته را مؤثرتر مدیریت میکند زیرا تلاش میکند موارد مشابه را گروهبندی کند و سپس یک برچسب به گروه اعمال کند. در این مورد، خوشهها ممکن است 'چیزهای موسیقی گرد' و 'چیزهای موسیقی مربعی' را منعکس کنند.
> مثال: تصور کنید مجموعه دادهای دارید که فقط تا حدی برچسبگذاری شده است. برخی 'رکورد' هستند، برخی 'cd' و برخی خالی. کار شما این است که برچسبهای خالی را فراهم کنید. اگر رویکرد استقرایی را انتخاب کنید، مدلی آموزش میدهید که به دنبال 'رکوردها' و 'cd ها' باشد و این برچسبها را به داده بدون برچسب اعمال میکند. این رویکرد در طبقهبندی مواردی که کست هستند مشکل دارد. در حالی که رویکرد استنتاجی این داده ناشناخته را مؤثرتر مدیریت میکند چون تلاش میکند موارد مشابه را گروهبندی کند و سپس برچسبی برای گروه اعمال نماید. در این حالت، خوشهها ممکن است نشاندهنده 'اشیای موسیقی گرد' و 'اشیای موسیقی مربع شکل' باشند.
>
> 🎓 ['هندسه غیر مسطح' در مقابل 'مسطح'](https://datascience.stackexchange.com/questions/52260/terminology-flat-geometry-in-the-context-of-clustering)
>
> اصطلاحات هندسه مسطح و غیر مسطح به اندازهگیری فاصله بین نقاط با روشهای هندسی 'مسطح' ([اقلیدسی](https://wikipedia.org/wiki/Euclidean_geometry)) یا 'غیر مسطح' (غیر اقلیدسی) اشاره دارد.
> این اصطلاح برگرفته از اصطلاحات ریاضی است، هندسه غیر مسطح و مسطح به اندازهگیری فاصله بین نقاط با روشهای هندسی 'مسطح' ([اقلیدسی](https://wikipedia.org/wiki/Euclidean_geometry)) یا 'غیر مسطح' (غیر اقلیدسی) اشاره دارد.
>
>'مسطح' در این زمینه به هندسه اقلیدسی (بخشی از آن به عنوان هندسه 'صفحه' آموزش داده میشود) اشاره دارد، و غیر مسطح به هندسه غیر اقلیدسی اشاره دارد. هندسه چه ارتباطی با یادگیری ماشین دارد؟ خوب، به عنوان دو زمینه که ریشه در ریاضیات دارند، باید یک روش مشترک برای اندازهگیری فاصله بین نقاط در خوشهها وجود داشته باشد، و این میتواند به صورت 'مسطح' یا 'غیر مسطح' انجام شود، بسته به ماهیت دادهها. [فاصلههای اقلیدسی](https://wikipedia.org/wiki/Euclidean_distance) به عنوان طول یک خط بین دو نقطه اندازهگیری میشوند. [فاصلههای غیر اقلیدسی](https://wikipedia.org/wiki/Non-Euclidean_geometry) در طول یک منحنی اندازهگیری میشوند. اگر دادههای شما، به صورت تصویری، به نظر میرسد که روی یک صفحه وجود ندارد، ممکن است نیاز به استفاده از الگوریتم تخصصی برای مدیریت آن داشته باشید.
>'مسطح' در این زمینه به هندسه اقلیدسی (که بخشی از آن به عنوان هندسه «صفحه» آموزش داده میشود) اشاره دارد و غیر مسطح به هندسه غیر اقلیدسی گفته میشود. هندسه چه ربطی به یادگیری ماشین دارد؟ خوب، به عنوان دو زمینه که ریشه در ریاضیات دارند، باید راه مشترکی برای اندازهگیری فاصله بین نقاط در خوشهها وجود داشته باشد، و این میتواند به صورت مسطح یا غیر مسطح بسته به ماهیت داده باشد. [فاصلههای اقلیدسی](https://wikipedia.org/wiki/Euclidean_distance) به عنوان طول یک قطعه خط بین دو نقطه اندازهگیری میشوند. [فاصلههای غیر اقلیدسی](https://wikipedia.org/wiki/Non-Euclidean_geometry) در طول یک منحنی اندازهگیری میشوند. اگر دادههای شما، وقتی تصویر شده، به نظر نمیرسد روی یک صفحه باشند، ممکن است نیاز به الگوریتم تخصصی برای مدیریت آن داشته باشید.
>

> 
> اینفوگرافیک توسط [Dasani Madipalli](https://twitter.com/dasani_decoded)
> خوشهها با ماتریس فاصله خود تعریف میشوند، به عنوان مثال فاصله بین نقاط. این فاصله میتواند به چند روش اندازهگیری شود. خوشههای اقلیدسی با میانگین مقادیر نقاط تعریف میشوند و شامل یک 'مرکز' یا نقطه مرکزی هستند. فاصلهها بنابراین با فاصله تا آن مرکز اندازهگیری میشوند. فاصلههای غیر اقلیدسی به 'کلسترویدها' اشاره دارند، نقطهای که نزدیکترین به سایر نقاط است. کلسترویدها به نوبه خود میتوانند به روشهای مختلف تعریف شوند.
> خوشهها توسط ماتریس فاصله خود تعریف میشوند، به عنوان مثال فاصله بین نقاط. این فاصله میتواند به چندین روش اندازهگیری شود. خوشههای اقلیدسی با میانگین مقادیر نقاط تعریف شده و دارای 'مرکز' یا نقطه مرکزی هستند. فاصلهها بنابراین با فاصله به آن مرکز اندازهگیری میشوند. فاصلههای غیر اقلیدسی به 'کلسترنوییدها' اشاره دارد، نقطهای که به سایر نقاط نزدیکتر است. کلسترنوییدها به نوبه خود میتوانند به روشهای مختلفی تعریف شوند.
> [خوشهبندی محدود](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) یادگیری 'نیمه نظارتشده' را به این روش بدون نظارت معرفی میکند. روابط بین نقاط به عنوان 'نمیتوانند لینک شوند' یا 'باید لینک شوند' علامتگذاری میشوند، بنابراین برخی قوانین به مجموعه داده تحمیل میشوند.
> [خوشهبندی محدود شده](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) یادگیری «نیمهنظارتی» را به این روش بدون نظارت وارد میکند. روابط بین نقاط به صورت 'عدم قابلیت اتصال' یا 'باید متصل شود' علامتگذاری میشوند تا برخی قواعد روی مجموعه داده اعمال شود.
>
>یک مثال: اگر یک الگوریتم به صورت آزاد روی دستهای از دادههای بدون برچسب یا نیمه برچسبگذاری شده اجرا شود، خوشههایی که تولید میکند ممکن است کیفیت پایینی داشته باشند. در مثال بالا، خوشهها ممکن است 'چیزهای موسیقی گرد' و 'چیزهای موسیقی مربعی' و 'چیزهای مثلثی' و 'کوکیها' را گروهبندی کنند. اگر برخی محدودیتها یا قوانین برای دنبال کردن داده شود ("آیتم باید از پلاستیک ساخته شده باشد"، "آیتم باید بتواند موسیقی تولید کند") این میتواند به الگوریتم کمک کند تا انتخابهای بهتری انجام دهد.
> مثال: اگر الگوریتمی آزادانه روی مجموعه داده بدون برچسب یا نیمهبرچسب اجرا شود، خوشههای تولید شده ممکن است کیفیت پایینی داشته باشند. در مثال بالا، خوشهها ممکن است «اشیای موسیقی گرد» و «اشیای موسیقی مربع» و «اشیا مثلثی» و «کوکیها» را گروهبندی کنند. اگر برخی محدودیتها یا قواعد به آن داده شود ("مورد باید از پلاستیک ساخته شده باشد"، "مورد باید بتواند موسیقی تولید کند") این میتواند به «محدود کردن» الگوریتم برای انتخابهای بهتر کمک کند.
>
> 🎓 'تراکم'
> 🎓 «چگالی»
>
> دادههایی که 'پر سر و صدا' هستند به عنوان 'متراکم' در نظر گرفته میشوند. فاصله بین نقاط در هر یک از خوشههای آن ممکن است، در بررسی، بیشتر یا کمتر متراکم یا 'شلوغ' باشد و بنابراین این دادهها نیاز به تحلیل با روش خوشهبندی مناسب دارند. [این مقاله](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) تفاوت بین استفاده از خوشهبندی K-Means و الگوریتمهای HDBSCAN برای بررسی یک مجموعه داده پر سر و صدا با تراکم خوشههای نامساوی را نشان میدهد.
> دادهای که 'پرجنجال' است به عنوان 'متراکم' در نظر گرفته میشود. فاصله بین نقاط در هر خوشه ممکن است پس از بررسی متراکم یا کمتراکم یا «شلوغ» باشد و بنابراین این داده باید با روش خوشهبندی مناسب تحلیل شود. [این مقاله](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) تفاوت استفاده از خوشهبندی K-Means در مقابل الگوریتمهای HDBSCAN را برای بررسی مجموعه داده پر سر و صدا با چگالی خوشه نامتوازن نشان میدهد.
## الگوریتمهای خوشهبندی
بیش از ۱۰۰ الگوریتم خوشهبندی وجود دارد و استفاده از آنها به ماهیت دادههای موجود بستگی دارد. بیایید برخی از مهمترین آنها را بررسی کنیم:
بیش از ۱۰۰ الگوریتم خوشهبندی وجود دارد و استفاده از آنها به ماهیت داده بستگی دارد. بیایید برخی از مهمترین آنها را بررسی کنیم:
- **خوشهبندی سلسلهمراتبی**. اگر یک شیء بر اساس نزدیکی به یک شیء نزدیکتر، به جای یک شیء دورتر، طبقهبندی شود، خوشهها بر اساس فاصله اعضای آنها از سایر اشیاء تشکیل میشوند. خوشهبندی تجمعی Scikit-learn سلسلهمراتبی است.
- **خوشهبندی سلسلهمراتبی**. اگر یک شیء بر اساس نزدیکی به یک شیء نزدیکتر طبقهبندی شود، نه به شیءهای دورتر، خوشهها بر اساس فاصله اعضایشان به اشیاء دیگر تشکیل میشوند. خوشهبندی تجمعی اسکیکیتلرن سلسلهمراتبی است.
> اینفوگرافیک توسط [Dasani Madipalli](https://twitter.com/dasani_decoded)
- **خوشهبندی مرکزی**. این الگوریتم محبوب نیاز به انتخاب 'k' یا تعداد خوشههایی که باید تشکیل شوند دارد، پس از آن الگوریتم نقطه مرکزی خوشه را تعیین میکند و دادهها را در اطراف آن نقطه جمعآوری میکند. [خوشهبندی K-means](https://wikipedia.org/wiki/K-means_clustering) نسخه محبوبی از خوشهبندی مرکزی است. مرکز بر اساس میانگین نزدیکترین نقاط تعیین میشود، بنابراین نام آن به همین دلیل است. فاصله مربع از خوشه به حداقل میرسد.
- **خوشهبندی مرکزگرا**. این الگوریتم محبوب نیاز به انتخاب 'k' یا تعداد خوشهها دارد، سپس الگوریتم نقطه مرکزی یک خوشه را تعیین کرده و دادهها را حول آن نقطه جمع میکند. [خوشهبندی K-means](https://wikipedia.org/wiki/K-means_clustering) نسخه محبوبی از خوشهبندی مرکزگرا است. مرکز توسط نزدیکترین میانگین تعیین میشود، بنابراین نام آن چنین است. فاصله مربعی از خوشه کمینه میشود.
> اینفوگرافیک توسط [Dasani Madipalli](https://twitter.com/dasani_decoded)
- **خوشهبندی مبتنی بر توزیع**. بر اساس مدلسازی آماری، خوشهبندی مبتنی بر توزیع بر تعیین احتمال تعلق یک نقطه داده به یک خوشه تمرکز دارد و آن را به طور مناسب اختصاص میدهد. روشهای ترکیب گوسی به این نوع تعلق دارند.
- **خوشهبندی مبتنی بر توزیع**. مبتنی بر مدلسازی آماری، در خوشهبندی مبتنی بر توزیع احتمال تعلق یک نقطه داده به خوشه را تعیین کرده و بر اساس آن تخصیص میدهد. روشهای مخلوط گاوسی از این نوع هستند.
- **خوشهبندی مبتنی بر تراکم**. نقاط داده بر اساس تراکم آنها یا گروهبندی آنها در اطراف یکدیگر به خوشهها اختصاص داده میشوند. نقاط داده دور از گروه به عنوان نقاط پرت یا نویز در نظر گرفته میشوند. DBSCAN، Mean-shift و OPTICS به این نوع خوشهبندی تعلق دارند.
- **خوشهبندی مبتنی بر چگالی**. نقاط داده بر اساس چگالی یا گروهبندی حول یکدیگر به خوشهها اختصاص مییابند. نقاط داده دور از گروه به عنوان نقاط پرت یا نویز در نظر گرفته میشوند. DBSCAN، Mean-shift و OPTICS از این نوع خوشهبندی هستند.
- **خوشهبندی مبتنی بر شبکه**. برای مجموعه دادههای چندبعدی، یک شبکه ایجاد میشود و دادهها بین سلولهای شبکه تقسیم میشوند، بنابراین خوشهها ایجاد میشوند.
- **خوشهبندی مبتنی بر شبکه**. برای مجموعه دادههای چند بعدی، یک شبکه ساخته شده و دادهها بین سلولهای شبکه تقسیم میشوند که بدین ترتیب خوشهها ایجاد میشود.
## تمرین - دادههای خود را خوشهبندی کنید
## تمرین - خوشهبندی دادههای خود
خوشهبندی به عنوان یک تکنیک با تجسم مناسب بسیار کمک میشود، بنابراین بیایید با تجسم دادههای موسیقی خود شروع کنیم. این تمرین به ما کمک میکند تصمیم بگیریم کدام یک از روشهای خوشهبندی را باید برای ماهیت این دادهها به طور مؤثر استفاده کنیم.
خوشهبندی به عنوان یک تکنیک، بسیار توسط تجسم مناسب کمک میشود، پس بیایید با تجسم دادههای موسیقی خود شروع کنیم. این تمرین به ما کمک میکند تصمیم بگیریم کدام روش خوشهبندی برای ماهیت این دادهها مؤثرتر است.
1. فایل [_notebook.ipynb_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/1-Visualize/notebook.ipynb) را در این پوشه باز کنید.
@ -110,7 +110,7 @@
!pip install seaborn
```
1. دادههای آهنگ را از [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv) اضافه کنید. یک dataframe با برخی دادهها درباره آهنگها بارگذاری کنید. آماده باشید تا این دادهها را با وارد کردن کتابخانهها و نمایش دادهها بررسی کنید:
1. دادههای آهنگ را از [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv) اضافه کنید. یک فریم داده حاوی اطلاعاتی درباره آهنگها بارگذاری کنید. برای اکتشاف این دادهها آماده شوید با وارد کردن کتابخانهها و چاپ دادهها:
```python
import matplotlib.pyplot as plt
@ -120,17 +120,17 @@
df.head()
```
چند خط اول دادهها را بررسی کنید:
چند خط اول داده را بررسی کنید:
| | نام | آلبوم | هنرمند | ژانر اصلی هنرمند | تاریخ انتشار | طول | محبوبیت | قابلیت رقص | آکوستیک بودن | انرژی | ابزار بودن | زنده بودن | بلندی صدا | گفتاری بودن | تمپو | امضای زمانی |
| | نام | آلبوم | خواننده | ژانر اصلی خواننده | تاریخ انتشار | طول | محبوبیت | قابلیت رقص | آکوستیک | انرژی | غیرکلامی | زنده بودن | شلوغی | گفتارگونه بودن | سرعت | امضای زمانی |
> 🤔 اگر ما با خوشهبندی کار میکنیم، روشی بدون نظارت که نیازی به دادههای برچسبگذاری شده ندارد، چرا این دادهها را با برچسبها نشان میدهیم؟ در مرحله بررسی دادهها، این برچسبها مفید هستند، اما برای عملکرد الگوریتمهای خوشهبندی ضروری نیستند. شما میتوانید به راحتی سرستونها را حذف کنید و به دادهها با شماره ستونها اشاره کنید.
> 🤔 اگر ما با خوشهبندی کار میکنیم، روشی بدون ناظر که نیاز به دادههای برچسبخورده ندارد، چرا این دادهها را با برچسبها نشان میدهیم؟ در مرحله کاوش دادهها، آنها مفید هستند، ولی برای عملکرد الگوریتمهای خوشهبندی ضروری نیستند. میتوانید ستونهای عنوان را حذف کنید و به دادهها با شماره ستون ارجاع دهید.
به مقادیر کلی دادهها نگاه کنید. توجه داشته باشید که محبوبیت میتواند '0' باشد، که نشاندهنده آهنگهایی است که رتبهبندی ندارند. بیایید به زودی این موارد را حذف کنیم.
به مقادیر کلی داده نگاه کنید. توجه داشته باشید که popularity میتواند '0' باشد، که نشاندهنده آهنگهایی است که رتبهای ندارند. بیایید به زودی آنها را حذف کنیم.
1. از یک نمودار میلهای برای یافتن محبوبترین ژانرها استفاده کنید:
1. از یک بارپلات استفاده کنید تا محبوبترین ژانرها را پیدا کنید:
1. سه ژانر برتر به طور قابل توجهی بر این دیتاست تسلط دارند. بیایید بر روی `afro dancehall`، `afropop` و `nigerian pop` تمرکز کنیم، همچنین دیتاست را فیلتر کنیم تا هر چیزی با مقدار محبوبیت 0 (به این معنا که در دیتاست با محبوبیت دستهبندی نشده و میتواند به عنوان نویز در نظر گرفته شود) حذف شود:
1. تا کنون، سه ژانر برتر این مجموعه داده را تسلط دارند. بیایید روی `afro dancehall`، `afropop`، و `nigerian pop` تمرکز کنیم، همچنین دیتاست را فیلتر کنیم تا مواردی با مقدار popularity برابر صفر را حذف کنیم (یعنی آنهایی که رتبهبندی در دیتاست ندارند و میتوان آنها را به عنوان نویز محسوب کرد):
تنها همبستگی قوی بین `energy` و `loudness` است، که خیلی تعجبآور نیست، زیرا موسیقی بلند معمولاً بسیار پرانرژی است. در غیر این صورت، همبستگیها نسبتاً ضعیف هستند. جالب خواهد بود که ببینیم یک الگوریتم خوشهبندی چه چیزی میتواند از این دادهها استخراج کند.
تنها همبستگی قوی بین `energy` و `loudness` است، که چندان تعجبآور نیست، چون موسیقی بلند معمولا انرژی زیادی دارد. در غیر این صورت، همبستگیها نسبتاً ضعیف هستند. دیدن اینکه الگوریتم خوشهبندی چه نتیجهای از این دادهها خواهد گرفت جالب خواهد بود.
> 🎓 توجه داشته باشید که همبستگی به معنای علت و معلول نیست! ما اثبات همبستگی داریم اما اثبات علت و معلول نداریم. یک [وبسایت جالب](https://tylervigen.com/spurious-correlations) برخی تصاویر را نشان میدهد که این نکته را برجسته میکند.
> 🎓 توجه داشته باشید که همبستگی لزوماً دلالت بر علیت ندارد! ما اثبات همبستگی داریم اما اثبات علیت نداریم. یک [سایت سرگرمکننده](https://tylervigen.com/spurious-correlations) تصویرهایی دارد که این نکته را تاکید میکند.
آیا در این دیتاست همگراییای در اطراف محبوبیت و قابلیت رقص آهنگها وجود دارد؟ یک FacetGrid نشان میدهد که دایرههای متحدالمرکز وجود دارند که صرفنظر از ژانر، همراستا هستند. آیا ممکن است که سلیقههای نیجریهای در سطح خاصی از قابلیت رقص برای این ژانر همگرا شوند؟
آیا در این مجموعه داده همگرایی در رابطه با محبوبیت درکشده یک آهنگ و قابلیت رقص آن وجود دارد؟ یک FacetGrid نشان میدهد که دایرههای متحدالمرکز وجود دارند که بدون توجه به ژانر، همتراز هستند. آیا ممکن است سلیقههای نیجریهای در سطح خاصی از قابلیت رقص برای این ژانر همگرا شوند؟
✅ نقاط داده مختلف (انرژی، بلندی صدا، گفتاری بودن) و ژانرهای موسیقی بیشتر یا متفاوت را امتحان کنید. چه چیزی میتوانید کشف کنید؟ به جدول `df.describe()` نگاه کنید تا پراکندگی کلی نقاط داده را ببینید.
✅ نقاط داده مختلف (energy, loudness, speechiness) و ژانرهای موسیقی متفاوت یا بیشتری را امتحان کنید. چه چیزهایی میتوانید کشف کنید؟ به جدول `df.describe()` نگاه کنید تا پراکندگی کلی دادهها را ببینید.
### تمرین - توزیع دادهها
### تمرین - توزیع داده
آیا این سه ژانر به طور قابل توجهی در درک قابلیت رقص، بر اساس محبوبیت متفاوت هستند؟
آیا این سه ژانر در درک قابلیت رقص خود بر اساس محبوبیت به طور معناداری متفاوت هستند؟
1. توزیع دادههای سه ژانر برتر ما را برای محبوبیت و قابلیت رقص در امتداد محور x و y بررسی کنید.
1. توزیع دادههای سه ژانر برتر خود را در محبوبیت و قابلیت رقص بررسی کنید در محورهای x و y معین.
```python
sns.set_theme(style="ticks")
@ -292,13 +292,13 @@
)
```
شما میتوانید دایرههای متحدالمرکز را در اطراف یک نقطه همگرایی کلی کشف کنید که توزیع نقاط را نشان میدهد.
میتوانید دایرههای متحدالمرکز اطراف یک نقطه همگرایی کلی را کشف کنید که توزیع نقاط را نشان میدهد.
> 🎓 توجه داشته باشید که این مثال از یک نمودار KDE (Kernel Density Estimate) استفاده میکند که دادهها را با استفاده از یک منحنی چگالی احتمال پیوسته نشان میدهد. این به ما امکان میدهد دادهها را هنگام کار با توزیعهای متعدد تفسیر کنیم.
> 🎓 توجه داشته باشید که این نمونه از گراف KDE (برآورد چگالی هستهای) استفاده میکند که دادهها را با یک منحنی چگالی احتمال پیوسته نشان میدهد. این به ما امکان تفسیر دادهها هنگام کار با چند توزیع را میدهد.
به طور کلی، سه ژانر از نظر محبوبیت و قابلیت رقص به طور کلی همراستا هستند. تعیین خوشهها در این دادههای به طور کلی همراستا چالشبرانگیز خواهد بود:
به طور کلی، سه ژانر به طور ناپیوسته در محبوبیت و قابلیت رقص همسو هستند. تعیین خوشهها در این دادههای به طور ناپیوسته همسو شده، چالشی خواهد بود:
به طور کلی، برای خوشهبندی، میتوانید از نمودارهای پراکندگی برای نشان دادن خوشههای داده استفاده کنید، بنابراین تسلط بر این نوع تجسم بسیار مفید است. در درس بعدی، ما این دادههای فیلتر شده را میگیریم و از خوشهبندی k-means برای کشف گروههایی در این دادهها استفاده میکنیم که به نظر میرسد به روشهای جالبی همپوشانی دارند.
به طور کلی، برای خوشهبندی، میتوانید از نمودارهای پراکندگی استفاده کنید تا خوشههای داده را نشان دهید، پس تسلط بر این نوع بصریسازی بسیار مفید است. در درس بعد، این دادههای فیلترشده را گرفته و از خوشهبندی k-means برای کشف گروههایی استفاده خواهیم کرد که به صورتی جالب روی هم همپوشانی دارند.
---
## 🚀چالش
در آمادهسازی برای درس بعدی، نموداری درباره الگوریتمهای مختلف خوشهبندی که ممکن است کشف کنید و در محیط تولید استفاده کنید، ایجاد کنید. خوشهبندی چه نوع مشکلاتی را سعی در حل دارد؟
در آمادهسازی برای درس بعد، یک نمودار دربارهٔ الگوریتمهای مختلف خوشهبندی که ممکن است کشف کنید و در محیط تولید استفاده کنید بسازید. خوشهبندی سعی در رفع چه نوع مشکلاتی دارد؟
## [آزمون پس از درس](https://ff-quizzes.netlify.app/en/ml/)
## مرور و مطالعه شخصی
## مرور و مطالعه خودآموز
قبل از اعمال الگوریتمهای خوشهبندی، همانطور که یاد گرفتیم، ایده خوبی است که ماهیت دیتاست خود را درک کنید. درباره این موضوع بیشتر بخوانید [اینجا](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html)
قبل از اعمال الگوریتمهای خوشهبندی، همانطور که یاد گرفتیم، خوب است ماهیت دیتاست خود را بفهمید. درباره این موضوع بیشتر [اینجا](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html) بخوانید.
[این مقاله مفید](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) شما را با روشهای مختلفی که الگوریتمهای خوشهبندی مختلف با اشکال دادههای مختلف رفتار میکنند، آشنا میکند.
[این مقاله مفید](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) شما را با روشهای مختلف رفتار الگوریتمهای خوشهبندی با توجه به شکلهای مختلف داده آشنا میکند.
## تکلیف
[تحقیق درباره تجسمهای دیگر برای خوشهبندی](assignment.md)
[تحقیق درباره بصریسازیهای دیگر برای خوشهبندی](assignment.md)
---
**سلب مسئولیت**:
این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما تلاش میکنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه میشود از ترجمه حرفهای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهمها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**سلب مسئولیت**:
این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیهایی باشند. سند اصلی به زبان مادری خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفهای انسانی توصیه میشود. ما در قبال هرگونه سوء تفاهم یا برداشت نادرست ناشی از استفاده از این ترجمه مسئولیتی نداریم.
[](https://youtu.be/6mSx_KJxcHI "مشین لرننگ کے لیے ابتدائی تعارف")
[](https://youtu.be/6mSx_KJxcHI "نئے افراد کے لیے ایم ایل - مشین لرننگ کا تعارف")
> 🎥 اوپر دی گئی تصویر پر کلک کریں تاکہ اس سبق پر مبنی ایک مختصر ویڈیو دیکھی جا سکے۔
> 🎥 اس سبق کو سمجھنے کے لیے اوپر تصویر پر کلک کریں ایک مختصر ویڈیو کے لیے۔
اس کورس میں خوش آمدید جو مشین لرننگ کے ابتدائی طلباء کے لیے ترتیب دیا گیا ہے! چاہے آپ اس موضوع میں بالکل نئے ہوں یا ایک تجربہ کار مشین لرننگ کے ماہر جو اپنی معلومات کو تازہ کرنا چاہتے ہیں، ہم آپ کے شامل ہونے پر خوش ہیں! ہم آپ کے مشین لرننگ کے مطالعے کے لیے ایک دوستانہ آغاز فراہم کرنا چاہتے ہیں اور آپ کے [فیڈبیک](https://github.com/microsoft/ML-For-Beginners/discussions) کو شامل کرنے کے لیے تیار ہیں۔
نئے افراد کے لیے کلاسیکی مشین لرننگ کے اس کورس میں خوش آمدید! چاہے آپ اس موضوع میں بالکل نئے ہوں، یا ایک تجربہ کار ایم ایل پریکٹیشنر ہوں جو کسی خاص شعبے میں اپنی معلومات تازہ کرنا چاہتے ہوں، ہم آپ کو خوش آمدید کہتے ہیں! ہم آپ کی ایم ایل مطالعہ کے لیے ایک دوستانہ آغاز بنانا چاہتے ہیں اور خوش ہوں گے کہ آپ کی [رائے](https://github.com/microsoft/ML-For-Beginners/discussions) کی تشخیص کریں، جواب دیں، اور شامل کریں۔
[](https://youtu.be/h0e2HAPTGF4 "مشین لرننگ کا تعارف")
[](https://youtu.be/h0e2HAPTGF4 "ایم ایل کا تعارف")
> 🎥 اوپر دی گئی تصویر پر کلک کریں: ایم آئی ٹی کے جان گٹٹگ مشین لرننگ کا تعارف پیش کرتے ہیں۔
> 🎥 مشین لرننگ کا تعارف: ایم آئی ٹی کے جان گٹ ٹیگ کی ویڈیو کے لیے اوپر تصویر پر کلک کریں
---
## مشین لرننگ کے ساتھ آغاز
## مشین لرننگ کے ساتھ شروع کرنا
اس نصاب کو شروع کرنے سے پہلے، آپ کو اپنے کمپیوٹر کو نوٹ بکس کو مقامی طور پر چلانے کے لیے تیار کرنا ہوگا۔
اس نصاب کو شروع کرنے سے پہلے، آپ کو اپنے کمپیوٹر کو تیار اور لوکل نوٹ بکس چلانے کے قابل بنانا ہوگا۔
- **اپنے کمپیوٹر کو ان ویڈیوز کے ذریعے ترتیب دیں**۔ ان لنکس کا استعمال کریں تاکہ [Python انسٹال کرنے کا طریقہ](https://youtu.be/CXZYvNRIAKM) اور [ٹیکسٹ ایڈیٹر سیٹ اپ کرنے کا طریقہ](https://youtu.be/EU8eayHWoZg) سیکھ سکیں۔
- **Python سیکھیں**۔ یہ بھی تجویز کیا جاتا ہے کہ آپ کو [Python](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott) کی بنیادی سمجھ ہو، جو کہ ڈیٹا سائنسدانوں کے لیے ایک مفید پروگرامنگ زبان ہے اور ہم اس کورس میں استعمال کرتے ہیں۔
- **Node.js اور JavaScript سیکھیں**۔ ہم اس کورس میں ویب ایپس بنانے کے لیے چند بار JavaScript کا استعمال کرتے ہیں، اس لیے آپ کو [node](https://nodejs.org) اور [npm](https://www.npmjs.com/) انسٹال کرنے کی ضرورت ہوگی، اور [Visual Studio Code](https://code.visualstudio.com/) بھی Python اور JavaScript کی ترقی کے لیے دستیاب ہونا چاہیے۔
- **GitHub اکاؤنٹ بنائیں**۔ چونکہ آپ نے ہمیں [GitHub](https://github.com) پر پایا ہے، آپ کے پاس پہلے سے ہی ایک اکاؤنٹ ہو سکتا ہے، لیکن اگر نہیں، تو ایک اکاؤنٹ بنائیں اور پھر اس نصاب کو اپنی ذاتی استعمال کے لیے فورک کریں۔ (ہمیں ایک اسٹار دینا نہ بھولیں 😊)
- **Scikit-learn کو دریافت کریں**۔ [Scikit-learn](https://scikit-learn.org/stable/user_guide.html) سے واقفیت حاصل کریں، جو مشین لرننگ کی لائبریریوں کا ایک مجموعہ ہے جس کا ہم ان اسباق میں حوالہ دیتے ہیں۔
- **اپنے کمپیوٹر کو ان ویڈیوز کے ساتھ ترتیب دیں**۔ اپنے سسٹم میں [Python انسٹال کرنے کا طریقہ](https://youtu.be/CXZYvNRIAKM) جاننے کے لیے اور ترقی کے لیے [ٹیکسٹ ایڈیٹر سیٹ اپ کرنے](https://youtu.be/EU8eayHWoZg) کے لیے درج ذیل لنکس استعمال کریں۔
- **Python سیکھیں**۔ یہ بھی تجویز کیا جاتا ہے کہ آپ کے پاس [Python](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott) کی بنیادی سمجھ ہو، ایک پروگرامنگ زبان جو ڈیٹا سائنسدانوں کے لیے مفید ہے اور جسے ہم اس کورس میں استعمال کرتے ہیں۔
- **Node.js اور JavaScript سیکھیں**۔ ہم اس کورس میں ویب ایپس بناتے وقت چند بار JavaScript استعمال کرتے ہیں، اس لیے آپ کے پاس [node](https://nodejs.org) اور [npm](https://www.npmjs.com/) نصب ہونا چاہیے، ساتھ ہی Python اور JavaScript ترقی کے لیے [Visual Studio Code](https://code.visualstudio.com/) دستیاب ہونا چاہیے۔
- **GitHub اکاؤنٹ بنائیں**۔ چونکہ آپ نے ہمیں یہاں [GitHub](https://github.com) پر دیکھا ہے، ہو سکتا ہے آپ کے پاس اکاؤنٹ ہو، لیکن اگر نہیں، تو ایک بنائیں اور اس نصاب کو فورک کریں تاکہ آپ خود استعمال کر سکیں۔ (ہمیں سٹار دینا نہ بھولیں، شکریہ 😊)
- **Scikit-learn کو دریافت کریں**۔ [Scikit-learn](https://scikit-learn.org/stable/user_guide.html) سے واقفیت حاصل کریں، مشین لرننگ کی لائبریریوں کا ایک مجموعہ جس کا حوالہ ہم ان اسباق میں دیتے ہیں۔
---
## مشین لرننگ کیا ہے؟
'مشین لرننگ' آج کے دور کے سب سے مشہور اور کثرت سے استعمال ہونے والے اصطلاحات میں سے ایک ہے۔ اگر آپ کو ٹیکنالوجی سے کچھ حد تک واقفیت ہے، تو اس بات کا امکان ہے کہ آپ نے یہ اصطلاح کم از کم ایک بار ضرور سنی ہوگی، چاہے آپ کسی بھی شعبے میں کام کرتے ہوں۔ تاہم، مشین لرننگ کے میکینکس زیادہ تر لوگوں کے لیے ایک معمہ ہیں۔ ایک ابتدائی کے لیے، یہ موضوع کبھی کبھار دباؤ ڈالنے والا محسوس ہو سکتا ہے۔ اس لیے یہ ضروری ہے کہ مشین لرننگ کو سمجھا جائے اور اسے عملی مثالوں کے ذریعے مرحلہ وار سیکھا جائے۔
اصطلاح 'مشین لرننگ' آج کے سب سے مقبول اور کثرت سے استعمال ہونے والے الفاظ میں سے ایک ہے۔ اگر آپ کو ٹیکنالوجی سے کچھ حد تک واقفیت ہے، چاہے آپ کسی بھی شعبے میں کام کرتے ہوں، اس اصطلاح کو کم از کم ایک بار سننے کا امکان غیر معمولی نہیں ہے۔ تاہم، مشین لرننگ کے میکینکس زیادہ تر لوگوں کے لیے ایک راز ہیں۔ ایک مشین لرننگ کے مبتدی کے لیے، یہ موضوع بعض اوقات overwhelming محسوس ہو سکتا ہے۔ لہٰذا، یہ سمجھنا ضروری ہے کہ مشین لرننگ حقیقت میں کیا ہے، اور اسے عملی مثالوں کے ذریعے قدم بہ قدم سیکھنا۔
> گوگل ٹرینڈز مشین لرننگ کی اصطلاح کے حالیہ 'ہائپ کرَو' کو دکھاتا ہے۔
> گوگل ٹرینڈز دکھاتا ہے حالیہ 'ہائپ کرو' اصطلاح 'مشین لرننگ' کی
---
## ایک پراسرار کائنات
ہم ایک ایسی کائنات میں رہتے ہیں جو دلچسپ رازوں سے بھری ہوئی ہے۔ عظیم سائنسدان جیسے اسٹیفن ہاکنگ، البرٹ آئن سٹائن، اور دیگر نے اپنی زندگیاں اس دنیا کے رازوں کو بے نقاب کرنے کے لیے وقف کر دی ہیں۔ یہ انسانی فطرت ہے کہ وہ سیکھے: ایک بچہ نئی چیزیں سیکھتا ہے اور جیسے جیسے وہ بڑا ہوتا ہے، اپنے ارد گرد کی دنیا کی ساخت کو سمجھتا ہے۔
ہم ایک ایسی کائنات میں رہتے ہیں جو دلچسپ رازوں سے بھری ہوئی ہے۔ عظیم سائنسدان جیسے اسٹیفن ہاکنگ، البرٹ آئنسٹائن، اور بہت سے دیگر نے اپنی زندگیوں کو اس دنیا کے رازوں کو جاننے کے لیے وقف کر رکھا ہے۔ یہ انسانی حالت ہے سیکھنے کی: ایک انسانی بچہ نئے حقائق سیکھتا ہے اور جیسے جیسے بالغ ہوتا ہے، اپنی دنیا کی ساخت کو سال بہ سال دریافت کرتا ہے۔
---
## بچے کا دماغ
ایک بچے کا دماغ اور اس کے حواس اپنے ارد گرد کے حقائق کو محسوس کرتے ہیں اور زندگی کے پوشیدہ نمونوں کو آہستہ آہستہ سیکھتے ہیں، جو بچے کو سیکھے گئے نمونوں کی شناخت کے لیے منطقی اصول بنانے میں مدد دیتے ہیں۔ انسانی دماغ کا سیکھنے کا عمل انسان کو اس دنیا کی سب سے پیچیدہ مخلوق بناتا ہے۔ پوشیدہ نمونوں کو دریافت کر کے مسلسل سیکھنا اور پھر ان نمونوں پر جدت کرنا ہمیں اپنی زندگی بھر بہتر سے بہتر بنانے کے قابل بناتا ہے۔ یہ سیکھنے کی صلاحیت اور ارتقاء کی قابلیت ایک تصور سے جڑی ہوئی ہے جسے [دماغ کی پلاسٹیسٹی](https://www.simplypsychology.org/brain-plasticity.html) کہا جاتا ہے۔ سطحی طور پر، ہم انسانی دماغ کے سیکھنے کے عمل اور مشین لرننگ کے تصورات کے درمیان کچھ حوصلہ افزا مماثلتیں کھینچ سکتے ہیں۔
بچے کا دماغ اور حواس اپنے ارد گرد کے حقائق کو محسوس کرتے ہیں اور زندگی کے پوشیدہ نمونوں کو بتدریج سیکھتے ہیں جو بچے کو منطقی قواعد بنانے میں مدد دیتے ہیں تاکہ سیکھے ہوئے نمونے پہچانے جا سکیں۔ انسانی دماغ کا سیکھنے کا عمل انسانوں کو اس دنیا کی سب سے پیچیدہ زندہ مخلوق بناتا ہے۔ پوشیدہ نمونوں کو دریافت کر کے اور پھر ان نمونوں پر جدت پیدا کر کے ہم اپنی زندگی بھر خود کو بہتر بناتے رہتے ہیں۔ یہ سیکھنے کی صلاحیت اور ارتقائی قابلیت ایک تصور سے منسلک ہے جسے [دماغ کی لچک](https://www.simplypsychology.org/brain-plasticity.html) کہتے ہیں۔ ظاہری طور پر، ہم انسانی دماغ کے سیکھنے کے عمل اور مشین لرننگ کے تصورات کے درمیان کچھ حوصلہ افزا مشابہتیں نکال سکتے ہیں۔
---
## انسانی دماغ
[انسانی دماغ](https://www.livescience.com/29365-human-brain.html) حقیقی دنیا سے چیزوں کو محسوس کرتا ہے، محسوس کی گئی معلومات پر عمل کرتا ہے، منطقی فیصلے کرتا ہے، اور حالات کی بنیاد پر کچھ اعمال انجام دیتا ہے۔ ہم اسے ذہانت سے برتاؤ کرنا کہتے ہیں۔ جب ہم ذہین رویے کے عمل کی نقل کو کسی مشین میں پروگرام کرتے ہیں، تو اسے مصنوعی ذہانت (AI) کہا جاتا ہے۔
[انسانی دماغ](https://www.livescience.com/29365-human-brain.html) حقیقی دنیا سے چیزیں محسوس کرتا ہے، محسوس کی گئی معلومات کو پروسیس کرتا ہے، منطقی فیصلے کرتا ہے، اور حالات کی بنیاد پر مخصوص اعمال انجام دیتا ہے۔ ہم اس کو ذہانت سے بھرپور رویہ کہتے ہیں۔ جب ہم اس ذہین رویے کے عمل کی مشین کو نقل کرتے ہیں، تو اسے مصنوعی ذہانت (AI) کہتے ہیں۔
---
## کچھ اصطلاحات
اگرچہ یہ اصطلاحات الجھن پیدا کر سکتی ہیں، مشین لرننگ (ML) مصنوعی ذہانت کا ایک اہم ذیلی حصہ ہے۔ **ML کا تعلق خاص الگورتھمز کے استعمال سے ہے تاکہ محسوس کیے گئے ڈیٹا سے معنی خیز معلومات اور پوشیدہ نمونے دریافت کیے جا سکیں تاکہ منطقی فیصلہ سازی کے عمل کی تصدیق کی جا سکے۔**
اگرچہ اصطلاحات کو الجھا جا سکتا ہے، مشین لرننگ (ML) مصنوعی ذہانت کا ایک اہم ذیلی حصہ ہے۔ **ML مخصوص الگورتھمز استعمال کرنے پر توجہ دیتا ہے تاکہ محسوس شدہ ڈیٹا سے معنی خیز معلومات دریافت کی جا سکیں اور پوشیدہ نمونوں کو تلاش کیا جا سکے تاکہ منطقی فیصلہ سازی کے عمل کی تصدیق ہو سکے۔**

> ایک خاکہ جو AI، ML، ڈیپ لرننگ، اور ڈیٹا سائنس کے درمیان تعلقات کو ظاہر کرتا ہے۔ [جن لوپر](https://twitter.com/jenlooper) کے ذریعہ بنایا گیا انفوگرافک، [اس گرافک](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining) سے متاثر ہو کر۔
> AI، ML، گہری تعلیم، اور ڈیٹا سائنس کے تعلقات دکھانے والا خاکہ۔ انفورمیشن گرافک [جن لوپر](https://twitter.com/jenlooper) کا ہے، یہ خاکہ [اس گرافک](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining) سے متاثر ہے۔
---
## کور کرنے والے تصورات
## کورس کے تحت موضوعات
اس نصاب میں، ہم صرف مشین لرننگ کے بنیادی تصورات کا احاطہ کریں گے جو ایک ابتدائی کو جاننا ضروری ہیں۔ ہم بنیادی طور پر 'کلاسیکل مشین لرننگ' کا احاطہ کریں گے، جس میں Scikit-learn کا استعمال کیا جائے گا، جو ایک بہترین لائبریری ہے جسے بہت سے طلباء بنیادی باتیں سیکھنے کے لیے استعمال کرتے ہیں۔ مصنوعی ذہانت یا ڈیپ لرننگ کے وسیع تر تصورات کو سمجھنے کے لیے، مشین لرننگ کا مضبوط بنیادی علم ناگزیر ہے، اور ہم اسے یہاں پیش کرنا چاہتے ہیں۔
اس نصاب میں ہم صرف مشین لرننگ کے بنیادی تصورات کا احاطہ کریں گے جو ایک نو آموز کو جاننا ضروری ہے۔ ہم بنیادی طور پر اسکائیکٹ-لرن کا استعمال کرتے ہوئے 'کلاسیکی مشین لرننگ' پر توجہ دیتے ہیں، جو بہت سے طلباء کی جانب سے بنیادی باتیں سیکھنے کے لیے استعمال کی جانے والی ایک بہترین لائبریری ہے۔ مصنوعی ذہانت یا گہری تعلیم کے وسیع تر تصورات کو سمجھنے کے لیے، مشین لرننگ کی مضبوط بنیادی معلومات ناگزیر ہے، اور اسی لیے ہم اسے یہاں پیش کرنا چاہتے ہیں۔
---
## اس کورس میں آپ سیکھیں گے:
- مشین لرننگ کے بنیادی تصورات
- مشین لرننگ کی تاریخ
- مشین لرننگ اور انصاف
- ریگریشن تکنیک
- کلاسیفکیشن تکنیک
- کلسٹرنگ تکنیک
- نیچرل لینگویج پروسیسنگ تکنیک
- ٹائم سیریز فورکاسٹنگ تکنیک
- ایم ایل کی تاریخ
- ایم ایل اور انصاف
- رجریشن ایم ایل تکنیکیں
- درجہ بندی ایم ایل تکنیکیں
- کلسٹرنگ ایم ایل تکنیکیں
- قدرتی زبان کی پروسیسنگ ایم ایل تکنیکیں
- وقت کی سیریز کی پیش گوئی ایم ایل تکنیکیں
- ری انفورسمنٹ لرننگ
- مشین لرننگ کے حقیقی دنیا میں اطلاقات
- ایم ایل کی حقیقی دنیا میں ایپلیکیشنز
---
## ہم کیا کور نہیں کریں گے
## ہم کیا نہیں سکھائیں گے
- ڈیپ لرننگ
- نیورل نیٹ ورکس
- مصنوعی ذہانت
- گہری تعلیم
- نیورل نیٹ ورک
- AI
بہتر سیکھنے کے تجربے کے لیے، ہم نیورل نیٹ ورکس، 'ڈیپ لرننگ' - نیورل نیٹ ورکس کا استعمال کرتے ہوئے کئی تہوں پر مشتمل ماڈل بنانے - اور مصنوعی ذہانت کی پیچیدگیوں سے گریز کریں گے، جن پر ہم ایک مختلف نصاب میں بات کریں گے۔ ہم ایک آنے والے ڈیٹا سائنس نصاب بھی پیش کریں گے تاکہ اس بڑے میدان کے اس پہلو پر توجہ مرکوز کی جا سکے۔
بہتر تعلیمی تجربے کے لیے، ہم نیورل نیٹ ورک، 'گہری تعلیم' (نیورل نیٹ ورک کے ذریعے کئی پرتوں والی ماڈل بلڈنگ)، اور AI کی پیچیدگیوں سے پرہیز کریں گے، جن پر ہم ایک مختلف نصاب میں گفتگو کریں گے۔ ہم ایک آنے والے ڈیٹا سائنس نصاب کی بھی پیش کش کریں گے جو اس بڑے میدان کے اس پہلو پر توجہ دے گا۔
---
## مشین لرننگ کیوں سیکھیں؟
## مشین لرننگ کیوں پڑھیں؟
مشین لرننگ کو نظام کے نقطہ نظر سے اس طرح بیان کیا جاتا ہے کہ یہ خودکار نظاموں کی تخلیق ہے جو ڈیٹا سے پوشیدہ نمونوں کو سیکھ سکتے ہیں تاکہ ذہین فیصلے کرنے میں مدد فراہم کی جا سکے۔
سسٹمز کے نقطہ نظر سے، مشین لرننگ ایسے خودکار نظاموں کی تخلیق ہے جو ڈیٹا سے پوشیدہ نمونوں کو سیکھ سکتے ہیں تاکہ ذہین فیصلے کرنے میں مدد دے سکیں۔
یہ تحریک ڈھیلے طور پر اس بات سے متاثر ہے کہ انسانی دماغ بیرونی دنیا سے محسوس کیے گئے ڈیٹا کی بنیاد پر کچھ چیزیں کیسے سیکھتا ہے۔
یہ تحریک انسانی دماغ کے مشاہدے سے تھوڑی بہت متاثر ہے جو بیرونی دنیا سے حاصل شدہ ڈیٹا کی بنیاد پر کچھ چیزیں سیکھتا ہے۔
✅ ایک لمحے کے لیے سوچیں کہ کوئی کاروبار مشین لرننگ کی حکمت عملیوں کو کیوں اپنانا چاہے گا بجائے اس کے کہ وہ سخت کوڈڈ اصولوں پر مبنی انجن بنائے۔
✅ ایک لمحہ سوچیں کہ کاروبار کیوں مشین لرننگ کی حکمت عملیوں کو آزمانا چاہے گا بجائے اس کے کہ وہ سخت قواعد پر مبنی انجن بنائے۔
---
## مشین لرننگ کی اطلاقات
## ڈیٹا کے معیار کی اہمیت
مشین لرننگ کی اطلاقات اب تقریباً ہر جگہ موجود ہیں، اور وہ اتنی ہی عام ہیں جتنا کہ وہ ڈیٹا جو ہمارے معاشروں میں بہہ رہا ہے، ہمارے اسمارٹ فونز، جڑے ہوئے آلات، اور دیگر نظاموں کے ذریعے پیدا ہوتا ہے۔ جدید مشین لرننگ الگورتھمز کی بے پناہ صلاحیت کو مدنظر رکھتے ہوئے، محققین ان کی صلاحیت کو کثیر جہتی اور کثیر شعبہ جاتی حقیقی زندگی کے مسائل کو حل کرنے کے لیے تلاش کر رہے ہیں، اور اس کے مثبت نتائج حاصل کر رہے ہیں۔
اعلی معیار کا ڈیٹا ماڈل کی کارکردگی کو بہتر بناتا ہے۔ ناقص یا شور والا ڈیٹا یہاں تک کہ جدید مشین لرننگ الگورتھمز کے استعمال کے باوجود غلط پیش گوئیوں کا باعث بن سکتا ہے۔
---
## مشین لرننگ کے عملی مثالیں
## مشین لرننگ کی ایپلیکیشنز
مشین لرننگ کی ایپلیکیشنز اب تقریباً ہر جگہ موجود ہیں، بالکل ویسے ہی جیسے وہ ڈیٹا جو ہماری سوسائٹیوں میں بہتا ہے، جو ہمارے اسمارٹ فونز، جڑے ہوئے آلات، اور دیگر نظاموں سے پیدا ہوتا ہے۔ جدید مشین لرننگ الگورتھمز کی غیر معمولی صلاحیت کو دیکھتے ہوئے، محققین نے ان کی صلاحیت کو کثیر جہتی اور کثیر الشعبہ حقیقی زندگی کے مسائل کو مثبت نتائج کے ساتھ حل کرنے کے لیے تلاش کیا ہے۔
---
## عملی ایم ایل کی مثالیں
**آپ مشین لرننگ کو کئی طریقوں سے استعمال کر سکتے ہیں**:
- مریض کی طبی تاریخ یا رپورٹس سے بیماری کے امکانات کی پیش گوئی کرنے کے لیے۔
- موسمی ڈیٹا کا استعمال کرتے ہوئے موسمی واقعات کی پیش گوئی کرنے کے لیے۔
- کسی متن کے جذبات کو سمجھنے کے لیے۔
- جعلی خبروں کا پتہ لگانے کے لیے تاکہ پروپیگنڈے کے پھیلاؤ کو روکا جا سکے۔
- مریض کی میڈیکل تاریخ یا رپورٹس سے بیماری کے امکانات کی پیش گوئی کے لیے۔
- موسمیاتی اعداد و شمار استعمال کر کے موسم کے واقعات کی پیش گوئی کے لیے۔
- متن کے احساس کو سمجھنے کے لیے۔
- جعلی خبروں کا پتہ لگا کر پروپیگنڈے کی روک تھام کے لیے۔
فنانس، معیشت، ارضیات، خلائی تحقیق، بایومیڈیکل انجینئرنگ، ادراکی سائنس، اور یہاں تک کہ انسانی علوم کے شعبوں نے بھی مشین لرننگ کو اپنے شعبے کے مشکل، ڈیٹا پروسیسنگ سے بھرپور مسائل کو حل کرنے کے لیے اپنایا ہے۔
مالیات، معیشت، ارضی سائنس، خلا کی کھوج، بایومیڈیکل انجینئرنگ، علمی سائنس، اور حتیٰ کہ ہیومینیٹیز کے شعبے نے اپنے شعبے کے پیچیدہ، ڈیٹا پروسیسنگ والے مسائل کو حل کرنے کے لیے مشین لرننگ کو اپنایا ہے۔
---
## نتیجہ
مشین لرننگ حقیقی دنیا یا پیدا شدہ ڈیٹا سے معنی خیز بصیرت تلاش کرکے نمونوں کی دریافت کے عمل کو خودکار بناتی ہے۔ یہ کاروبار، صحت، اور مالیاتی اطلاقات سمیت دیگر شعبوں میں انتہائی قیمتی ثابت ہوئی ہے۔
مشین لرننگ حقیقت یا پیدا کردہ ڈیٹا سے معنی خیز بصیرت تلاش کر کے پیٹرن دریافت کرنے کے عمل کو خودکار بنا دیتا ہے۔ اس نے کاروبار، صحت، اور مالی ایپلیکیشنز میں بہت زیادہ قدر ثابت کی ہے، دیگر شعبوں کے ساتھ۔
قریب مستقبل میں، مشین لرننگ کی بنیادی باتوں کو سمجھنا کسی بھی شعبے کے لوگوں کے لیے ضروری ہو جائے گا کیونکہ اس کا وسیع پیمانے پر اپنانا جاری ہے۔
قریبی مستقبل میں، مشین لرننگ کی بنیادی باتیں سمجھنا کسی بھی شعبے کے لوگوں کے لیے لازمی ہو جائے گا کیونکہ یہ وسیع پیمانے پر اپنایا جا رہا ہے۔
---
# 🚀 چیلنج
کاغذ پر یا کسی آن لائن ایپ جیسے [Excalidraw](https://excalidraw.com/) کا استعمال کرتے ہوئے، AI، ML، ڈیپ لرننگ، اور ڈیٹا سائنس کے درمیان فرق کو سمجھنے کے لیے ایک خاکہ بنائیں۔ ان مسائل کے بارے میں کچھ خیالات شامل کریں جنہیں ان تکنیکوں کے ذریعے حل کیا جا سکتا ہے۔
کاغذ پر یا [Excalidraw](https://excalidraw.com/) جیسی آن لائن ایپ استعمال کرتے ہوئے AI، ML، گہری تعلیم، اور ڈیٹا سائنس کے درمیان فرق کی اپنی تفہیم کا خاکہ بنائیں۔ ہر تکنیک کی ایسی مسائل کو بھی شامل کریں جنہیں وہ حل کرنے میں ماہر ہیں۔
# [لیکچر کے بعد کا کوئز](https://ff-quizzes.netlify.app/en/ml/)
یہ سیکھنے کے لیے کہ آپ کلاؤڈ میں مشین لرننگ الگورتھمز کے ساتھ کیسے کام کر سکتے ہیں، اس [لرننگ پاتھ](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-77952-leestott) کو فالو کریں۔
کلاؤڈ میں ML الگورتھمز کے ساتھ کام کرنے کے بارے میں مزید جاننے کے لیے، اس [لرننگ پاتھ](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-77952-leestott) پر عمل کریں۔
مشین لرننگ کی بنیادی باتوں کے بارے میں سیکھنے کے لیے اس [لرننگ پاتھ](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott) کو لیں۔
ایم ایل کی بنیادی باتوں کے بارے میں ایک [لرننگ پاتھ](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott) لیں۔
---
# اسائنمنٹ
[شروع کریں](assignment.md)
[شروع کریں اور کام کریں](assignment.md)
---
**ڈسکلیمر**:
یہ دستاویز AI ترجمہ سروس [Co-op Translator](https://github.com/Azure/co-op-translator) کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ڈس کلیمر**:
یہ دستاویز AI ترجمہ سروس [Co-op Translator](https://github.com/Azure/co-op-translator) کے ذریعے ترجمہ کی گئی ہے۔ جبکہ ہم درستگی کے لیے کوشاں ہیں، براہ کرم اس بات سے آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا عدم درستیاں ہو سکتی ہیں۔ اصل دستاویز اپنے مادری زبان میں مستند ماخذ سمجھی جائے گی۔ حساس معلومات کے لیے پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کی ذمہ داری ہم قبول نہیں کرتے۔
کلسٹرنگ ایک قسم کی [غیر نگرانی شدہ سیکھنے](https://wikipedia.org/wiki/Unsupervised_learning) ہے جو فرض کرتی ہے کہ ڈیٹا سیٹ لیبل شدہ نہیں ہے یا اس کے ان پٹ پہلے سے طے شدہ آؤٹ پٹ کے ساتھ نہیں ملتے۔ یہ مختلف الگورتھم استعمال کرتا ہے تاکہ غیر لیبل شدہ ڈیٹا کو ترتیب دے اور ڈیٹا میں موجود نمونوں کے مطابق گروپنگ فراہم کرے۔
کلسٹرنگ ایک قسم کی [غیر نگران سیکھنے](https://wikipedia.org/wiki/Unsupervised_learning) ہے جو فرض کرتی ہے کہ ڈیٹاسیٹ لیبل نہیں شدہ ہے یا اس کے ان پٹ پہلے سے متعین نتائج کے ساتھ مطابقت نہیں رکھتے۔ یہ مختلف الگورتھمز کا استعمال کرکے لیبل نہ شدہ ڈیٹا میں نمونوں کے مطابق گروہ بندی فراہم کرتی ہے۔
[](https://youtu.be/ty2advRiWJM "PSquare کا 'No One Like You'")
[](https://youtu.be/ty2advRiWJM "No One Like You by PSquare")
> 🎥 اوپر دی گئی تصویر پر کلک کریں ویڈیو دیکھنے کے لیے۔ جب آپ کلسٹرنگ کے ساتھ مشین لرننگ کا مطالعہ کر رہے ہوں، تو کچھ نائجیرین ڈانس ہال ٹریکس سے لطف اندوز ہوں - یہ PSquare کا 2014 کا ایک اعلیٰ درجہ کا گانا ہے۔
> 🎥 ویڈیو کے لیے اوپر تصویر پر کلک کریں۔ جب آپ کلسٹرنگ کے ساتھ مشین لرننگ کا مطالعہ کر رہے ہیں، تو کچھ نائجیرین ڈانس ہال ٹریکس سے لطف اندوز ہوں - یہ PSquare کا 2014 کا بہت مقبول گانا ہے۔
## [لیکچر سے پہلے کا کوئز](https://ff-quizzes.netlify.app/en/ml/)
[کلسٹرنگ](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) ڈیٹا کی کھوج کے لیے بہت مفید ہے۔ آئیے دیکھتے ہیں کہ آیا یہ نائجیرین سامعین کے موسیقی کے استعمال کے رجحانات اور نمونوں کو دریافت کرنے میں مدد کر سکتی ہے۔
[کلسٹرنگ](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) ڈیٹا کی کھوج کے لیے بہت مفید ہے۔ آئیے دیکھتے ہیں کہ کیا یہ نائجیرین سامعین کے موسیقی کے استعمال میں رجحانات اور پیٹرنز کی دریافت میں مدد دے سکتی ہے۔
✅ ایک لمحہ نکالیں اور کلسٹرنگ کے استعمالات کے بارے میں سوچیں۔ حقیقی زندگی میں، کلسٹرنگ اس وقت ہوتی ہے جب آپ کے پاس کپڑوں کا ڈھیر ہو اور آپ کو اپنے خاندان کے افراد کے کپڑے الگ کرنے ہوں 🧦👕👖🩲۔ ڈیٹا سائنس میں، کلسٹرنگ اس وقت ہوتی ہے جب صارف کی ترجیحات کا تجزیہ کرنے یا کسی غیر لیبل شدہ ڈیٹاسیٹ کی خصوصیات کا تعین کرنے کی کوشش کی جاتی ہے۔ کلسٹرنگ، ایک طرح سے، انتشار کو سمجھنے میں مدد دیتی ہے، جیسے موزوں کے دراز کو ترتیب دینا۔
✅ کلسٹرنگ کے استعمالات کے بارے میں ایک منٹ سوچیں۔ حقیقی زندگی میں، کلسٹرنگ اس وقت ہوتی ہے جب آپ کے پاس کپڑوں کا ڈھیر ہوتا ہے اور آپ کو اپنے خاندان کے افراد کے کپڑوں کو الگ کرنا ہوتا ہے 🧦👕👖🩲۔ ڈیٹا سائنس میں، کلسٹرنگ اس وقت ہوتی ہے جب صارف کی ترجیحات کا تجزیہ کرنے یا کسی لیبل نہ شدہ ڈیٹاسیٹ کی خصوصیات کا تعین کرنے کی کوشش کی جاتی ہے۔ کلسٹرنگ ایک طرح سے بدنظمی کو سمجھنے میں مدد دیتی ہے، جیسے موزے کے دراج کا نظم کرنا۔
[](https://youtu.be/esmzYhuFnds "کلسٹرنگ کا تعارف")
[](https://youtu.be/esmzYhuFnds "Introduction to Clustering")
> 🎥 اوپر دی گئی تصویر پر کلک کریں ویڈیو دیکھنے کے لیے: MIT کے جان گٹگ کلسٹرنگ کا تعارف پیش کرتے ہیں۔
> 🎥 ویڈیو کے لیے اوپر تصویر پر کلک کریں: MIT کے جان گوٹینگ کلسٹرنگ کا تعارف کرواتے ہیں۔
پیشہ ورانہ ماحول میں، کلسٹرنگ کا استعمال مارکیٹ کی تقسیم، جیسے کہ کون سی عمر کے گروپ کون سی اشیاء خریدتے ہیں، کا تعین کرنے کے لیے کیا جا سکتا ہے۔ ایک اور استعمال بے ضابطگیوں کا پتہ لگانا ہو سکتا ہے، شاید کریڈٹ کارڈ کے لین دین کے ڈیٹا سیٹ سے دھوکہ دہی کا پتہ لگانے کے لیے۔ یا آپ کلسٹرنگ کا استعمال طبی اسکینز کے ایک بیچ میں ٹیومرز کا تعین کرنے کے لیے کر سکتے ہیں۔
پیشہ ورانہ ماحول میں، کلسٹرنگ مارکیٹ تقسیم، مثلاً مختلف عمر کے گروہوں کے خریدنے والے اشیاء کا تعین کرنے کے لیے استعمال کی جا سکتی ہے۔ ایک اور استعمال انومی لی پایا جانا ہو سکتا ہے، مثلاً کریڈٹ کارڈ لین دین کے ڈیٹاسیٹ سے دھوکہ دہی کا پتہ لگانا۔ یا آپ کلسٹرنگ میڈیکل سکینز کے ایک بیچ میں ٹیومرز کا تعین کرنے کے لیے استعمال کر سکتے ہیں۔
✅ ایک لمحہ نکالیں اور سوچیں کہ آپ نے بینکنگ، ای کامرس، یا کاروباری ماحول میں 'کلسٹرنگ' کو کس طرح دیکھا ہو گا۔
✅ ایک منٹ سوچیں کہ آپ نے بینکنگ، ای کامرس، یا کاروباری ماحول میں کلسٹرنگ کا سامنا کس طرح کیا ہو گا۔
> 🎓 دلچسپ بات یہ ہے کہ کلسٹر تجزیہ کی ابتدا 1930 کی دہائی میں بشریات اور نفسیات کے شعبوں میں ہوئی۔ کیا آپ تصور کر سکتے ہیں کہ اس کا استعمال کیسے کیا گیا ہوگا؟
> 🎓 دلچسپ بات یہ ہے کہ کلسٹر تجزیہ 1930 کی دہائی میں انسانیات اور نفسیات کے شعبوں سے آیا تھا۔ کیا آپ تصور کر سکتے ہیں کہ اسے کیسے استعمال کیا گیا ہوگا؟
متبادل طور پر، آپ اسے تلاش کے نتائج کو گروپ کرنے کے لیے استعمال کر سکتے ہیں - جیسے خریداری کے لنکس، تصاویر، یا جائزے۔ کلسٹرنگ اس وقت مفید ہوتی ہے جب آپ کے پاس ایک بڑا ڈیٹاسیٹ ہو جسے آپ کم کرنا چاہتے ہیں اور جس پر آپ مزید تفصیلی تجزیہ کرنا چاہتے ہیں، لہذا یہ تکنیک ڈیٹا کے بارے میں سیکھنے کے لیے استعمال کی جا سکتی ہے اس سے پہلے کہ دیگر ماڈلز بنائے جائیں۔
متبادل طور پر، آپ اسے تلاش کے نتائج کو گروپ کرنے کے لیے استعمال کر سکتے ہیں - جیسے خریداری کے لنکس، تصاویر، یا جائزے۔ کلسٹرنگ اس وقت مفید ہے جب آپ کے پاس ایک بڑا ڈیٹاسیٹ ہو جسے آپ کم کرنا چاہتے ہیں اور جس پر مزید تفصیلی تجزیہ کرنا چاہتے ہیں، تاکہ دیگر ماڈلز بنانے سے پہلے ڈیٹا کے بارے میں سیکھا جا سکے۔
✅ ایک بار جب آپ کا ڈیٹا کلسٹرز میں منظم ہو جائے، تو آپ اسے کلسٹر آئی ڈی تفویض کرتے ہیں، اور یہ تکنیک ڈیٹا سیٹ کی پرائیویسی کو محفوظ رکھنے میں مفید ہو سکتی ہے؛ آپ کلسٹر کے زیادہ ظاہر کرنے والے قابل شناخت ڈیٹا کے بجائے ڈیٹا پوائنٹ کا حوالہ کلسٹر آئی ڈی کے ذریعے دے سکتے ہیں۔ کیا آپ سوچ سکتے ہیں کہ آپ کلسٹر آئی ڈی کا حوالہ دینے کے بجائے کلسٹر کے دیگر عناصر کو کیوں استعمال کریں گے؟
✅ جب آپ کا ڈیٹا کلسٹروں میں منظم ہو جاتا ہے، تو آپ اسے ایک کلسٹر آئی ڈی دیتے ہیں، اور یہ تکنیک ڈیٹاسیٹ کی پرائیویسی برقرار رکھنے میں بھی مفید ہو سکتی ہے؛ آپ ایک ڈیٹا پوائنٹ کا حوالہ اس کے کلسٹر آئی ڈی سے دے سکتے ہیں، بجائے اس کے کہ زیادہ ظاہر کرنے والے شناختی ڈیٹا سے۔ کیا آپ دوسرا کوئی وجہ سوچ سکتے ہیں جس کی بنا پر آپ کلسٹر آئی ڈی کو دیگر عناصر کی بجائے پہچاننے کے لیے استعمال کریں؟
کلسٹرنگ تکنیکوں کی گہری سمجھ حاصل کریں اس [لرن ماڈیول](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott) میں۔
کلسٹرنگ تکنیک کی اپنی سمجھ کو گہرا کرنے کے لیے اس [لرن ماڈیول](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott) کو دیکھیں۔
## کلسٹرنگ کے ساتھ شروعات
## کلسٹرنگ کے ساتھ آغاز
[Scikit-learn ایک بڑی تعداد](https://scikit-learn.org/stable/modules/clustering.html) کے طریقے پیش کرتا ہے کلسٹرنگ انجام دینے کے لیے۔ آپ جو قسم منتخب کریں گے وہ آپ کے استعمال کے معاملے پر منحصر ہوگی۔ دستاویزات کے مطابق، ہر طریقے کے مختلف فوائد ہیں۔ یہاں Scikit-learn کے ذریعے سپورٹ کیے گئے طریقوں اور ان کے مناسب استعمال کے معاملات کی ایک سادہ جدول ہے:
[Scikit-learn ایک وسیع اقسام](https://scikit-learn.org/stable/modules/clustering.html) کے طریقے فراہم کرتا ہے کلسٹرنگ کرنے کے لیے۔ آپ جو قسم منتخب کریں گے وہ آپ کے استعمال کے کیس پر منحصر ہوگی۔ دستاویزات کے مطابق، ہر طریقہ کار کے مختلف فوائد ہیں۔ یہاں Scikit-learn کے ذریعہ سپورٹ کیے جانے والے طریقوں اور ان کے مناسب استعمال کے کیسز کی ایک سادہ جدول ہے:
> ٹرانسڈکٹو انفرنس مشاہدہ شدہ تربیتی کیسز سے حاصل کی جاتی ہے جو مخصوص ٹیسٹ کیسز سے مطابقت رکھتی ہیں۔ انڈکٹو انفرنس تربیتی کیسز سے حاصل کی جاتی ہے جو عمومی اصولوں سے مطابقت رکھتی ہیں اور پھر صرف ٹیسٹ کیسز پر لاگو ہوتی ہیں۔
> انتقالی استنتاج مشاہدہ شدہ تربیتی کیسز سے ماخوذ ہوتا ہے جو مخصوص ٹیسٹ کیسز سے مماثل ہوتے ہیں۔ استقرائی استنتاج تربیتی کیسز سے ماخوذ ہوتا ہے جو عمومی قواعد کو ظاہر کرتے ہیں جو بعد میں ٹیسٹ کیسز پر لاگو ہوتے ہیں۔
>
> مثال: تصور کریں کہ آپ کے پاس ایک ڈیٹاسیٹ ہے جو جزوی طور پر لیبل شدہ ہے۔ کچھ چیزیں 'ریکارڈز' ہیں، کچھ 'سی ڈیز' ہیں، اور کچھ خالی ہیں۔ آپ کا کام خالی جگہوں کے لیے لیبل فراہم کرنا ہے۔ اگر آپ انڈکٹو طریقہ اختیار کرتے ہیں، تو آپ ایک ماڈل تربیت دیں گے جو 'ریکارڈز' اور 'سی ڈیز' تلاش کرے، اور ان لیبلز کو آپ کے غیر لیبل شدہ ڈیٹا پر لاگو کرے۔ یہ طریقہ ان چیزوں کو درجہ بندی کرنے میں مشکل پیش کرے گا جو دراصل 'کیسٹ' ہیں۔ دوسری طرف، ٹرانسڈکٹو طریقہ اس نامعلوم ڈیٹا کو زیادہ مؤثر طریقے سے سنبھالتا ہے کیونکہ یہ اسی طرح کی اشیاء کو گروپ کرنے کے لیے کام کرتا ہے اور پھر ایک گروپ کو لیبل دیتا ہے۔ اس صورت میں، کلسٹرز 'گول موسیقی کی چیزیں' اور 'چوکور موسیقی کی چیزیں' کی عکاسی کر سکتے ہیں۔
> ایک مثال: تصور کریں کہ آپ کے پاس ایک ڈیٹاسیٹ جزوی طور پر لیبل شدہ ہے۔ کچھ چیزیں 'ریکارڈز' ہیں، کچھ 'سی ڈیز' ہیں، اور کچھ خالی ہیں۔ آپ کا کام خالی جگہوں کے لیے لیبل فراہم کرنا ہے۔ اگر آپ استقرائی طریقہ اپنائیں گے، تو آپ ایک ماڈل کو 'ریکارڈز' اور 'سی ڈیز' تلاش کرنے کی تربیت دیں گے، اور ان لیبلز کو اپنے غیر لیبل شدہ ڈیٹا پر لاگو کریں گے۔ یہ طریقہ 'کیسٹ' کی درجہ بندی میں مشکل پیش آئے گا۔ دوسری طرف، ایک انتقالی طریقہ اس غیر معلوم ڈیٹا کو زیادہ مؤثر طریقے سے سنبھالتا ہے کیونکہ یہ ایک دوسرے جیسے اشیاء کو گروہ بند کرتا ہے اور پھر گروہ کو لیبل دیتا ہے۔ اس صورت میں، کلسٹرز ممکنہ طور پر 'گول موسیقی کی اشیاء' اور 'چوکور موسیقی کی اشیاء' کی عکاسی کر سکتے ہیں۔
> ریاضیاتی اصطلاحات سے ماخوذ، غیر فلیٹ بمقابلہ فلیٹ جیومیٹری پوائنٹس کے درمیان فاصلے کی پیمائش کو 'فلیٹ' ([اقلیدسی](https://wikipedia.org/wiki/Euclidean_geometry)) یا 'غیر فلیٹ' (غیر اقلیدسی) جیومیٹری کے طریقوں سے ظاہر کرتی ہے۔
> ریاضی کی اصطلاحات سے ماخوذ، غیر فلیٹ بمقابلہ فلیٹ جیومیٹری کا مطلب پوائنٹس کے درمیان فاصلے کی پیمائش 'فلیٹ' ([یونی کلیدی](https://wikipedia.org/wiki/Euclidean_geometry)) یا 'غیر فلیٹ' (غیر یونی کلیدی) جیومیٹرک طریقوں سے ہوتا ہے۔
>
>'فلیٹ' اس سیاق و سباق میں اقلیدسی جیومیٹری (جس کے کچھ حصے 'طیارہ' جیومیٹری کے طور پر پڑھائے جاتے ہیں) کو ظاہر کرتا ہے، اور غیر فلیٹ غیر اقلیدسی جیومیٹری کو ظاہر کرتا ہے۔ مشین لرننگ کے ساتھ جیومیٹری کا کیا تعلق ہے؟ ٹھیک ہے، چونکہ دونوں شعبے ریاضی میں جڑے ہوئے ہیں، پوائنٹس کے درمیان فاصلے کی پیمائش کرنے کا ایک عام طریقہ ہونا ضروری ہے، اور یہ 'فلیٹ' یا 'غیر فلیٹ' طریقے سے کیا جا سکتا ہے، ڈیٹا کی نوعیت پر منحصر ہے۔ [اقلیدسی فاصلے](https://wikipedia.org/wiki/Euclidean_distance) دو پوائنٹس کے درمیان لائن سیگمنٹ کی لمبائی کے طور پر ماپے جاتے ہیں۔ [غیر اقلیدسی فاصلے](https://wikipedia.org/wiki/Non-Euclidean_geometry) ایک منحنی کے ساتھ ماپے جاتے ہیں۔ اگر آپ کا ڈیٹا، بصری طور پر، کسی طیارے پر موجود نہیں لگتا، تو آپ کو اسے سنبھالنے کے لیے ایک خاص الگورتھم استعمال کرنے کی ضرورت ہو سکتی ہے۔
> یہاں 'فلیٹ' یونی کلیدی جیومیٹری کی طرف اشارہ کرتا ہے (جس کے حصے کو 'ہموار' جیومیٹری کے طور پر پڑھایا جاتا ہے)، اور غیر فلیٹ غیر یونی کلیدی جیومیٹری کو کہتے ہیں۔ جیومیٹری کا کیا تعلق مشین لرننگ سے ہے؟ چونکہ دونوں شعبے ریاضی پر مبنی ہیں، فاصلے کی پیمائش کا ایک عام طریقہ ہونا چاہیے، جو ڈیٹا کی نوعیت کے مطابق 'فلیٹ' یا 'غیر فلیٹ' ہو سکتا ہے۔ [یونی کلیدی فاصلے](https://wikipedia.org/wiki/Euclidean_distance) دو نقاط کے درمیان لائن کا لمبائی ناپتے ہیں۔ [غیر یونی کلیدی فاصلے](https://wikipedia.org/wiki/Non-Euclidean_geometry) خم دار راستے پر ناپے جاتے ہیں۔ اگر آپ کا ڈیٹا ویژولائز کیا جائے اور وہ کسی طیارے پر موجود نہ لگے تو آپ کو اسے سنبھالنے کے لیے خصوصی الگورتھم استعمال کرنے کی ضرورت ہو سکتی ہے۔
>

> انفوگرافک از [دسانی مڈیپالی](https://twitter.com/dasani_decoded)

> انفورگرافک از [داسانی مادپلی](https://twitter.com/dasani_decoded)
> کلسٹرز ان کے فاصلے میٹرکس، یعنی پوائنٹس کے درمیان فاصلے، سے متعین کیے جاتے ہیں۔ یہ فاصلے چند طریقوں سے ماپے جا سکتے ہیں۔ اقلیدسی کلسٹرز پوائنٹ ویلیوز کے اوسط سے متعین کیے جاتے ہیں، اور ان میں ایک 'سنٹرائڈ' یا مرکز پوائنٹ ہوتا ہے۔ فاصلے اس سنٹرائڈ سے فاصلے کے ذریعے ماپے جاتے ہیں۔ غیر اقلیدسی فاصلے 'کلسٹروائڈز' سے مراد ہیں، جو دوسرے پوائنٹس کے قریب ترین پوائنٹ ہوتا ہے۔ کلسٹروائڈز کو مختلف طریقوں سے متعین کیا جا سکتا ہے۔
> کلسٹرز فاصلہ میٹرکس سے متعین ہوتے ہیں، جیسے کہ پوائنٹس کے درمیان فاصلے۔ یہ فاصلے چند طریقوں سے ناپے جا سکتے ہیں۔ یونی کلیدی کلسٹرز پوائنٹ کی اوسط کی بنیاد پر متعین ہوتے ہیں اور ایک 'سنٹروئڈ' یا مرکز نقطہ رکھتے ہیں۔ فاصلے سنٹروئڈ تک فاصلے سے ناپے جاتے ہیں۔ غیر یونی کلیدی فاصلے 'کلسٹروئیڈز' کو کہتے ہیں، جو دوسرے پوائنٹس کے قریب ترین پوائنٹ ہوتا ہے۔ کلسٹروئڈز بھی مختلف طریقوں سے متعین کیے جا سکتے ہیں۔
> [محدود کلسٹرنگ](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) اس غیر نگرانی شدہ طریقے میں 'نیم نگرانی شدہ' سیکھنے کو متعارف کراتی ہے۔ پوائنٹس کے درمیان تعلقات کو 'نہیں جوڑ سکتے' یا 'ضرور جوڑیں' کے طور پر نشان زد کیا جاتا ہے تاکہ ڈیٹا سیٹ پر کچھ اصول نافذ کیے جائیں۔
> [محدود کلسٹرنگ](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) اس غیر نگران طریقہ میں 'نصف نگران' سیکھنے کو شامل کرتی ہے۔ پوائنٹس کے درمیان تعلقات کو 'لنک نہیں کر سکتے' یا 'لنک کرنا ضروری ہے' کے طور پر نشان زد کیا جاتا ہے تاکہ کچھ قواعد ڈیٹاسیٹ پر لاگو ہوں۔
>
>مثال: اگر ایک الگورتھم کو غیر لیبل شدہ یا نیم لیبل شدہ ڈیٹا کے بیچ پر آزاد چھوڑ دیا جائے، تو اس کے پیدا کردہ کلسٹرز ناقص معیار کے ہو سکتے ہیں۔ اوپر دی گئی مثال میں، کلسٹرز 'گول موسیقی کی چیزیں' اور 'چوکور موسیقی کی چیزیں' اور 'تکونی چیزیں' اور 'کوکیز' کو گروپ کر سکتے ہیں۔ اگر کچھ حدود، یا اصول دیے جائیں ("چیز پلاسٹک کی بنی ہونی چاہیے"، "چیز کو موسیقی پیدا کرنے کے قابل ہونا چاہیے") تو یہ الگورتھم کو بہتر انتخاب کرنے میں مدد دے سکتا ہے۔
> ایک مثال: اگر کسی الگورتھم کو بغیر لیبل یا نصف لیبل شدہ ڈیٹا پر آزاد چھوڑ دیا جائے، تو اس کے بنائے ہوئے کلسٹر کم معیار کے ہو سکتے ہیں۔ مذکورہ مثال میں، کلسٹر 'گول موسیقی کی اشیاء'، 'چوکور موسیقی کی اشیاء'، 'تکویناتی اشیاء'، اور 'کوکیز' میں تقسیم کر سکتے ہیں۔ اگر کچھ پابندیاں یا قواعد دیے جائیں ("آئٹم پلاسٹک کا ہونا چاہیے"، "آئٹم موسیقی پیدا کرنے کے قابل ہونا چاہیے") تو یہ الگورتھم کو بہتر فیصلے کرنے کے لیے مدد دیتا ہے۔
>
> 🎓 'کثافت'
>
> ڈیٹا جو 'شور والا' سمجھا جاتا ہے اسے 'گھنا' سمجھا جاتا ہے۔ اس کے کلسٹرز میں پوائنٹس کے درمیان فاصلے، معائنہ پر، زیادہ یا کم گھنے، یا 'بھیڑ والے' ثابت ہو سکتے ہیں، اور اس طرح اس ڈیٹا کو مناسب کلسٹرنگ طریقے کے ساتھ تجزیہ کرنے کی ضرورت ہوتی ہے۔ [یہ مضمون](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) ایک شور والے ڈیٹا سیٹ کے ساتھ غیر مساوی کلسٹر کثافت کو دریافت کرنے کے لیے K-Means کلسٹرنگ بمقابلہ HDBSCAN الگورتھمز کے استعمال کے فرق کو ظاہر کرتا ہے۔
> ایسا ڈیٹا جو 'شور والا' ہو اسے 'گنجان' سمجھا جاتا ہے۔ اس کے کلسٹرز میں پوائنٹس کے درمیان فاصلے سے پتہ چلتا ہے کہ یہ زیادہ یا کم گنجان، یا 'بھانڈیدہ' ہیں، اور اسے مناسب کلسٹرنگ طریقہ سے تجزیہ کرنے کی ضرورت ہوتی ہے۔ [یہ مضمون](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) شور والے ڈیٹاسیٹ کے لیے K-Means کلسٹرنگ اور HDBSCAN الگورتھمز کے مابین فرق کو واضح کرتا ہے جو مختلف کلسٹر کثافت رکھتے ہیں۔
## کلسٹرنگ الگورتھمز
کلسٹرنگ کے 100 سے زیادہ الگورتھمز ہیں، اور ان کا استعمال ڈیٹا کی نوعیت پر منحصر ہے۔ آئیے کچھ اہم الگورتھمز پر بات کرتے ہیں:
ایک سو سے زائد کلسٹرنگ الگورتھمز موجود ہیں، اور ان کا استعمال دستیاب ڈیٹا کی نوعیت پر منحصر ہوتا ہے۔ آئیے کچھ اہم الگورتھمز پر بات کرتے ہیں:
- **درجہ بندی کلسٹرنگ**۔ اگر کسی چیز کو اس کے قریب موجود چیز کے قریب ہونے کی بنیاد پر درجہ بندی کیا جاتا ہے، بجائے اس کے کہ وہ دور ہو، کلسٹرز ان کے اراکین کے دوسرے اشیاء سے فاصلے کی بنیاد پر بنائے جاتے ہیں۔ Scikit-learn کی agglomerative کلسٹرنگ درجہ بندی ہے۔
- **ہائرارکل کلسٹرنگ**۔ اگر کسی شے کو اس کے قریبی شے کی قربت سے درجہ بند کیا جائے، نہ کہ دور کی چیز سے، تو کلسٹرز اس کے ممبرز کے ایک دوسرے سے فاصلے کی بنیاد پر بنتے ہیں۔ Scikit-learn کا Agglomerative کلسٹرنگ ہائرارکل ہے۔
> انفورگرافک از [داسانی مادپلی](https://twitter.com/dasani_decoded)
- **سنٹرائڈ کلسٹرنگ**۔ یہ مقبول الگورتھم 'k' یا کلسٹرز کی تعداد منتخب کرنے کی ضرورت ہوتی ہے، جس کے بعد الگورتھم کلسٹر کے مرکز پوائنٹ کا تعین کرتا ہے اور اس پوائنٹ کے ارد گرد ڈیٹا جمع کرتا ہے۔ [K-means کلسٹرنگ](https://wikipedia.org/wiki/K-means_clustering) سنٹرائڈ کلسٹرنگ کا ایک مقبول ورژن ہے۔ مرکز قریب ترین اوسط کے ذریعے متعین کیا جاتا ہے، اس لیے نام۔ کلسٹر سے مربع فاصلے کو کم کیا جاتا ہے۔
- **سنٹروئڈ کلسٹرنگ**۔ یہ مشہور الگورتھم 'k' کا انتخاب چاہتا ہے، یعنی بننے والے کلسٹروں کی تعداد، جس کے بعد الگورتھم کلسٹر کے مرکز کا تعین کرتا ہے اور اس نقطہ کے ارد گرد ڈیٹا اکٹھا کرتا ہے۔ [K-means کلسٹرنگ](https://wikipedia.org/wiki/K-means_clustering) سنٹروئڈ کلسٹرنگ کا ایک مقبول ورژن ہے۔ مرکز قریبی اوسط کی بنیاد پر متعین ہوتا ہے، اسی لیے اس کا نام ہے۔ کلسٹر سے مربع فاصلہ کم سے کم ہوتا ہے۔
> انفورگرافک از [داسانی مادپلی](https://twitter.com/dasani_decoded)
- **تقسیم پر مبنی کلسٹرنگ**۔ شماریاتی ماڈلنگ پر مبنی، تقسیم پر مبنی کلسٹرنگ اس بات کا تعین کرنے پر مرکوز ہے کہ ڈیٹا پوائنٹ کے کلسٹر سے تعلق رکھنے کا امکان کیا ہے، اور اسے اسی کے مطابق تفویض کرتی ہے۔ Gaussian mixture طریقے اس قسم سے تعلق رکھتے ہیں۔
- **تقسیمی بنیاد پر کلسٹرنگ**۔ شماریاتی ماڈلنگ پر مبنی، یہ طریقہ تعین کرتا ہے کہ کسی ڈیٹا پوائنٹ کا کسی کلسٹر سے تعلق کتنا ممکن ہے، اور اس کے مطابق اس کا تعین کرتا ہے۔ Gaussian mixture اس قسم میں آتا ہے۔
- **کثافت پر مبنی کلسٹرنگ**۔ ڈیٹا پوائنٹس کو ان کی کثافت، یا ایک دوسرے کے ارد گرد گروپنگ کی بنیاد پر کلسٹرز میں تفویض کیا جاتا ہے۔ گروپ سے دور ڈیٹا پوائنٹس کو آؤٹ لائرز یا شور سمجھا جاتا ہے۔ DBSCAN, Mean-shift اور OPTICS اس قسم کی کلسٹرنگ سے تعلق رکھتے ہیں۔
- **کثافت بنیاد پر کلسٹرنگ**۔ پوائنٹس کو کلسٹرز میں ان کی کثافت، یعنی ایک دوسرے کے گرد گروہ بندی کی بنیاد پر تقسیم کیا جاتا ہے۔ گروہ سے دور موجود پوائنٹس کو 'آؤٹ لائرز' یا 'شور' سمجھا جاتا ہے۔ DBSCAN، Mean-shift، اور OPTICS اس قسم کی کلسٹرنگ میں آتے ہیں۔
- **گرڈ پر مبنی کلسٹرنگ**۔ کثیر جہتی ڈیٹا سیٹس کے لیے، ایک گرڈ بنایا جاتا ہے اور ڈیٹا کو گرڈ کے سیلز کے درمیان تقسیم کیا جاتا ہے، اس طرح کلسٹرز بنائے جاتے ہیں۔
- **گرڈ بنیاد پر کلسٹرنگ**۔ کثیر البعدی ڈیٹاسیٹس کے لیے، ایک گرڈ بنایا جاتا ہے اور ڈیٹا کو گرڈ کے خانوں میں تقسیم کیا جاتا ہے، اس طرح کلسٹرز بنتے ہیں۔
## مشق - اپنے ڈیٹا کو کلسٹر کریں
کلسٹرنگ ایک تکنیک کے طور پر مناسب بصری نمائندگی سے بہت فائدہ اٹھاتی ہے، لہذا آئیے اپنے موسیقی کے ڈیٹا کو بصری طور پر دیکھنے سے شروع کرتے ہیں۔ یہ مشق ہمیں یہ فیصلہ کرنے میں مدد دے گی کہ اس ڈیٹا کی نوعیت کے لیے کلسٹرنگ کے کون سے طریقے سب سے مؤثر ہوں گے۔
کلسٹرنگ ایک تکنیک ہے جس میں مناسب بصری نمائندگی بہت مدد دیتی ہے، تو آئیے اپنے موسیقی کے ڈیٹا کو ویژولائز کرنے سے شروع کرتے ہیں۔ یہ مشق ہمیں فیصلہ کرنے میں مدد دے گی کہ کلسٹرنگ کے کن طریقوں کو اس ڈیٹا کی نوعیت کے لیے سب سے مؤثر طریقے سے استعمال کیا جائے۔
1. اس فولڈر میں [_notebook.ipynb_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/1-Visualize/notebook.ipynb) فائل کھولیں۔
1. اس فولڈر میں موجود [_notebook.ipynb_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/1-Visualize/notebook.ipynb) فائل کھولیں۔
1. اچھے ڈیٹا بصری نمائندگی کے لیے `Seaborn` پیکیج درآمد کریں۔
1. `Seaborn` پیکج کو درآمد کریں تاکہ ڈیٹا کی اچھی بصری نمائندگی ہو سکے۔
```python
!pip install seaborn
```
1. [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv) سے گانے کا ڈیٹا شامل کریں۔ گانوں کے بارے میں کچھ ڈیٹا کے ساتھ ایک ڈیٹا فریم لوڈ کریں۔ لائبریریاں درآمد کریں اور ڈیٹا کو ڈمپ کریں تاکہ اس ڈیٹا کو دریافت کرنے کے لیے تیار ہو سکیں:
1. [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv) سے گانوں کے ڈیٹا کو شامل کریں۔ کچھ گانوں کے بارے میں ڈیٹافریم لوڈ کریں۔ لائبریریاں درآمد کریں اور ڈیٹا کو باہر نکال کر تیار ہو جائیں:
```python
import matplotlib.pyplot as plt
@ -120,22 +120,23 @@
df.head()
```
ڈیٹا کی پہلی چند لائنیں چیک کریں:
ابتدائی چند لائنز کو چیک کریں:
| | نام | البم | آرٹسٹ | آرٹسٹ کا اعلیٰ صنف | ریلیز کی تاریخ | لمبائی | مقبولیت | ڈانس ایبلٹی | ایکوسٹکنیس | توانائی | انسٹرومنٹلنیس | لائیونیس | لاؤڈنیس | اسپیچنیس | ٹیمپو | وقت کا دستخط |
| | name | album | artist | artist_top_genre | release_date | length | popularity | danceability | acousticness | energy | instrumentalness | liveness | loudness | speechiness | tempo | time_signature |
> 🤔 اگر ہم کلسٹرنگ پر کام کر رہے ہیں، ایک غیر نگرانی والا طریقہ جو لیبل شدہ ڈیٹا کی ضرورت نہیں ہوتی، تو ہم یہ ڈیٹا لیبلز کے ساتھ کیوں دکھا رہے ہیں؟ ڈیٹا کی جانچ کے مرحلے میں، یہ مددگار ہوتے ہیں، مگر کلسٹرنگ الگوردمز کے کام کرنے کے لئے ضروری نہیں ہیں۔ آپ آسانی سے کالم ہیڈرز ہٹا سکتے ہیں اور ڈیٹا کو کالم نمبر سے ریفر کر سکتے ہیں۔
> 🤔 اگر ہم کلسٹرنگ کے ساتھ کام کر رہے ہیں، جو ایک غیر نگرانی شدہ طریقہ ہے اور لیبل شدہ ڈیٹا کی ضرورت نہیں ہوتی، تو ہم یہ ڈیٹا لیبلز کے ساتھ کیوں دکھا رہے ہیں؟ ڈیٹا کی تلاش کے مرحلے میں یہ مددگار ثابت ہوتے ہیں، لیکن کلسٹرنگ الگورتھمز کے کام کرنے کے لیے یہ ضروری نہیں ہیں۔ آپ آسانی سے کالم ہیڈرز کو ہٹا سکتے ہیں اور ڈیٹا کو کالم نمبر کے ذریعے حوالہ دے سکتے ہیں۔
ڈیٹا کی عمومی قدروں کو دیکھیں۔ نوٹ کریں کہ popularity '0' ہو سکتی ہے، جو ایسے گانوں کو ظاہر کرتی ہے جن کی کوئی رینکنگ نہیں ہے۔ آئیے جلد ہی انہیں ہٹا دیتے ہیں۔
ڈیٹا کی عمومی قدروں کو دیکھیں۔ نوٹ کریں کہ مقبولیت '0' ہو سکتی ہے، جو ان گانوں کو ظاہر کرتی ہے جن کی کوئی درجہ بندی نہیں ہے۔ آئیے جلد ہی ان کو ہٹا دیں۔
1. سب سے زیادہ مقبول انواع جاننے کے لیے بار پلاٹ استعمال کریں:
1. سب سے زیادہ مقبول genres معلوم کرنے کے لئے بارپلاٹ استعمال کریں:
1. واضح طور پر، ٹاپ تین انواع اس ڈیٹا سیٹ پر حاوی ہیں۔ آئیے `afro dancehall`، `afropop`، اور `nigerian pop` پر توجہ مرکوز کریں، اور اضافی طور پر ڈیٹا سیٹ کو فلٹر کریں تاکہ کسی بھی چیز کو ہٹا دیا جائے جس کی مقبولیت کی قدر 0 ہو (جس کا مطلب ہے کہ اسے ڈیٹا سیٹ میں مقبولیت کے ساتھ درجہ بندی نہیں کیا گیا اور ہمارے مقاصد کے لیے اسے شور سمجھا جا سکتا ہے):
1. اب تک، اوپر کے تین genres اس ڈیٹا سیٹ پر غالب ہیں۔ آئیے `afro dancehall`, `afropop`, اور `nigerian pop` پر توجہ دیں، اور اضافی طور پر ایسے ڈیٹا کو فلٹر کریں جس کی popularity ویلیو 0 ہو (یعنی اسے ڈیٹا سیٹ میں کوئی محبوبیت نہیں دی گئی اور ہمارے مقاصد کے لیے شور سمجھا جا سکتا ہے):
واحد مضبوط تعلق`energy` اور `loudness` کے درمیان ہے، جو زیادہ حیران کن نہیں ہے، کیونکہ بلند موسیقی عام طور پر کافی توانائی بخش ہوتی ہے۔ ورنہ، تعلقات نسبتاً کمزور ہیں۔ یہ دیکھنا دلچسپ ہوگا کہ کلسٹرنگ الگورتھم اس ڈیٹا سے کیا بنا سکتا ہے۔
واحد مضبوط correlation`energy` اور `loudness` کے درمیان ہے، جو زیادہ حیران کن نہیں کیونکہ شور مچانے والی موسیقی عام طور پر بہت توانائی بخش ہوتی ہے۔ ورنہ، correlations نسبتاً کمزور ہیں۔ دیکھنا دلچسپ ہوگا کہ کلسٹرنگ الگوردم اس ڈیٹا کا کیا فائدہ اٹھا سکتا ہے۔
> 🎓 نوٹ کریں کہ تعلق کا مطلب وجہ نہیں ہے! ہمارے پاس تعلق کا ثبوت ہے لیکن وجہ کا کوئی ثبوت نہیں۔ ایک [دلچسپ ویب سائٹ](https://tylervigen.com/spurious-correlations) کچھ بصریات فراہم کرتی ہے جو اس نکتے پر زور دیتی ہیں۔
> 🎓 یاد رکھیں correlation مطلب causation نہیں ہوتا! ہمارے پاس correlation کا ثبوت ہے لیکن causation کا نہیں۔ ایک [مزاحیہ ویب سائٹ](https://tylervigen.com/spurious-correlations) کچھ بصری پیش کرتی ہے جو اس بات پر زور دیتی ہے۔
کیا اس ڈیٹا سیٹ میں گانے کی مقبولیت اور ڈانس ایبلٹی کے بارے میں کوئی ہم آہنگی ہے؟ ایک FacetGrid سے پتہ چلتا ہے کہ کچھ ہم مرکز دائرے ترتیب میں ہیں، چاہے صنف کچھ بھی ہو۔ کیا یہ ہو سکتا ہے کہ نائجیرین ذوق اس صنف کے لیے ڈانس ایبلٹی کی ایک خاص سطح پر ہم آہنگ ہو؟
کیا اس ڈیٹا سیٹ میں کسی گانے کی محسوس شدہ مقبولیت اور danceability کے درمیان کوئی ارتکاز ہے؟ ایک FacetGrid دکھاتی ہے کہ concentric circles ہیں جو لائن اپ کرتے ہیں، genre کی پرواہ کیے بغیر۔ کیا ہو سکتا ہے کہ نائجیریائی ذائقے اس genre کے لیے ایک مخصوص سطح کی danceability پر ملتے جلتے ہوں؟
✅ مختلف ڈیٹا پوائنٹس (energy، loudness، speechiness) اور مزید یا مختلف موسیقی کی انواع آزمائیں۔ آپ کیا دریافت کر سکتے ہیں؟ `df.describe()` ٹیبل پر ایک نظر ڈالیں تاکہ ڈیٹا پوائنٹس کے عمومی پھیلاؤ کو دیکھ سکیں۔
✅ مختلف ڈیٹا پوائنٹس (energy, loudness, speechiness) اور مزید یا مختلف موسیقی کے genres آزما کر دیکھیں۔ آپ کیا دریافت کر سکتے ہیں؟ عام ڈیٹا پوائنٹس کی تقسیم دیکھنے کے لیے `df.describe()` جدول ملاحظہ کریں۔
### مشق - ڈیٹا کی تقسیم
کیا ان تین انواع میں ان کی ڈانس ایبلٹی کی مقبولیت کے بارے میں نمایاں فرق ہے؟
کیا یہ تینوں genres اپنی danceability کی perception میں اپنی popularity کی بنیاد پر نمایاں طور پر مختلف ہیں؟
1. ہماری ٹاپ تین انواع کے ڈیٹا کی تقسیم کو مقبولیت اور ڈانس ایبلٹی کے لیے ایک دیے گئے x اور y محور کے ساتھ جانچیں۔
1. اپنی ٹاپ تین genres کی popularity اور danceability کی ڈیٹا تقسیم دی گئی x اور y محور پر جانچیں۔
```python
sns.set_theme(style="ticks")
@ -292,15 +292,15 @@
)
```
آپ ہم مرکز دائرے دریافت کر سکتے ہیں جو ایک عمومی ہم آہنگی کے نقطہ کے ارد گرد ترتیب میں ہیں، جو پوائنٹس کی تقسیم کو ظاہر کرتے ہیں۔
آپ ایک عمومی ارتکاز کے ارد گرد concentric circles دریافت کر سکتے ہیں، جو پوائنٹس کی تقسیم دکھاتے ہیں۔
> 🎓 نوٹ کریں کہ اس مثال میں ایک KDE (Kernel Density Estimate) گراف استعمال کیا گیا ہے جو ڈیٹا کو ایک مسلسل احتمال کثافت منحنی کے ذریعے ظاہر کرتا ہے۔ یہ ہمیں متعدد تقسیمات کے ساتھ کام کرتے وقت ڈیٹا کو سمجھنے کی اجازت دیتا ہے۔
> 🎓 نوٹ کریں کہ اس مثال میں KDE (Kernel Density Estimate) گراف استعمال ہوتا ہے جو ڈیٹا کو مسلسل احتمال کثافت منحنی کے ذریعے ظاہر کرتا ہے۔ یہ متعدد تقسیمی حالتوں پر کام کرتے ہوئے ڈیٹا کی تشریح کرنے میں مدد دیتا ہے۔
عمومی طور پر، تینوں انواع اپنی مقبولیت اور ڈانس ایبلٹی کے لحاظ سے ڈھیلے طور پر ہم آہنگ ہیں۔ اس ڈھیلے سے ہم آہنگ ڈیٹا میں کلسٹرز کا تعین کرنا ایک چیلنج ہوگا:
عمومی طور پر، تینوں genres اپنی popularity اور danceability کے لحاظ سے غیر سخت طریقے سے ہم آہنگ ہیں۔ اس غیر سخت ہم آہنگ ڈیٹا میں کلسٹرز کا تعین ایک چیلنج ہوگا:
عمومی طور پر، کلسٹرنگ کے لیے، آپ ڈیٹا کے کلسٹرز کو ظاہر کرنے کے لیے اسکیٹر پلاٹس استعمال کر سکتے ہیں، لہذا اس قسم کی بصری کاری میں مہارت حاصل کرنا بہت مفید ہے۔ اگلے سبق میں، ہم اس فلٹر شدہ ڈیٹا کو لیں گے اور k-means کلسٹرنگ کا استعمال کریں گے تاکہ اس ڈیٹا میں دلچسپ طریقوں سے اوورلیپ کرنے والے گروپس کو دریافت کیا جا سکے۔
عام طور پر، کلسٹرنگ کے لیے آپ scatterplots کا استعمال کر سکتے ہیں تاکہ ڈیٹا کے گروہوں کو دکھایا جا سکے، لہٰذا اس قسم کی visualization پر عبور حاصل کرنا بہت مفید ہے۔ اگلے سبق میں، ہم اس فلٹر شدہ ڈیٹا کا استعمال کرتے ہوئے k-means clustering سے ایسے گروہ دریافت کریں گے جو دلچسپ طریقوں سے overlap کرتے ہوں۔
---
## 🚀چیلنج
اگلے سبق کی تیاری کے لیے، مختلف کلسٹرنگ الگورتھمز کے بارے میں ایک چارٹ بنائیں جو آپ دریافت کر سکتے ہیں اور پروڈکشن ماحول میں استعمال کر سکتے ہیں۔ کلسٹرنگ کس قسم کے مسائل کو حل کرنے کی کوشش کر رہی ہے؟
اگلے سبق کی تیاری کے لیے، مختلف کلسٹرنگ الگوردمز کے بارے میں ایک چارٹ بنائیں جو آپ دریافت کر سکتے ہیں اور پروڈکشن ماحول میں استعمال کر سکتے ہیں۔ کلسٹرنگ کون سے مسائل حل کرنے کی کوشش کر رہی ہے؟
## [لیکچر کے بعد کا کوئز](https://ff-quizzes.netlify.app/en/ml/)
## [سبق کے بعد کا کوئز](https://ff-quizzes.netlify.app/en/ml/)
## جائزہ اور خود مطالعہ
کلسٹرنگ الگورتھمز کو لاگو کرنے سے پہلے، جیسا کہ ہم نے سیکھا، اپنے ڈیٹا سیٹ کی نوعیت کو سمجھنا ایک اچھا خیال ہے۔ اس موضوع پر مزید پڑھیں [یہاں](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html)
کلسٹرنگ الگوردمز کو لاگو کرنے سے پہلے، جیسا کہ ہم نے سیکھا، یہ سمجھنا اچھا خیال ہے کہ آپ کا ڈیٹا سیٹ کس نوعیت کا ہے۔ اس موضوع پر مزید پڑھیں [یہاں](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html)
[یہ مددگار مضمون](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) آپ کو مختلف ڈیٹا اشکال کے پیش نظر مختلف کلسٹرنگ الگورتھمز کے رویے کے بارے میں رہنمائی کرتا ہے۔
[یہ مددگار آرٹیکل](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) آپ کو مختلف کلسٹرنگ الگوردمز کے رویے کے بارے میں بتاتا ہے، جو مختلف ڈیٹا کی شکلوں کے لحاظ سے مختلف ہوتے ہیں۔
## اسائنمنٹ
[کلسٹرنگ کے لیے دیگر بصریات پر تحقیق کریں](assignment.md)
[کلسٹرنگ کے لیے دیگر visualization کی تحقیق کریں](assignment.md)
---
**ڈسکلیمر**:
یہ دستاویز AI ترجمہ سروس [Co-op Translator](https://github.com/Azure/co-op-translator) کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ڈس کلیمر**:
یہ دستاویز AI ترجمہ سروس [Co-op Translator](https://github.com/Azure/co-op-translator) کے ذریعے ترجمہ کی گئی ہے۔ جبکہ ہم درستگی کے لیے کوشاں ہیں، براہ کرم اس بات سے آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا عدم درستیاں ہو سکتی ہیں۔ اصل دستاویز اپنے مادری زبان میں مستند ماخذ سمجھی جائے گی۔ حساس معلومات کے لیے پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کی ذمہ داری ہم قبول نہیں کرتے۔
[](https://youtu.be/6mSx_KJxcHI "ML for beginners - Introduction to Machine Learning for Beginners")
- **学习Node.js和JavaScript**。本课程在构建Web应用时会多次用到JavaScript,因此你需要安装[node](https://nodejs.org)和[npm](https://www.npmjs.com/),以及安装[Visual Studio Code](https://code.visualstudio.com/)以支持Python和JavaScript开发。