chore(i18n): sync translations with latest source changes (chunk 1/1, 9 changes)

update-translations
localizeflow[bot] 1 week ago
parent 0d0e054180
commit f480b30e7b

@ -1,7 +1,7 @@
{
"1-Introduction/1-intro-to-ML/README.md": {
"original_hash": "69389392fa6346e0dfa30f664b7b6fec",
"translation_date": "2025-09-04T22:40:32+00:00",
"original_hash": "3a6394c6f5ce3f8aee8211e92eaf9ef0",
"translation_date": "2026-05-26T22:25:11+00:00",
"source_file": "1-Introduction/1-intro-to-ML/README.md",
"language_code": "fa"
},
@ -240,8 +240,8 @@
"language_code": "fa"
},
"5-Clustering/1-Visualize/README.md": {
"original_hash": "730225ea274c9174fe688b21d421539d",
"translation_date": "2025-09-04T22:36:14+00:00",
"original_hash": "08b00d9fbffc667a7fe7fc19ac00dfbd",
"translation_date": "2026-05-26T22:24:44+00:00",
"source_file": "5-Clustering/1-Visualize/README.md",
"language_code": "fa"
},

@ -4,147 +4,154 @@
---
[![یادگیری ماشین برای مبتدیان - مقدمه‌ای بر یادگیری ماشین برای مبتدیان](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "یادگیری ماشین برای مبتدیان - مقدمه‌ای بر یادگیری ماشین برای مبتدیان")
[![آموزش یادگیری ماشین برای مبتدیان - مقدمه‌ای بر یادگیری ماشین برای مبتدیان](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "آموزش یادگیری ماشین برای مبتدیان - مقدمه‌ای بر یادگیری ماشین برای مبتدیان")
> 🎥 روی تصویر بالا کلیک کنید تا ویدئوی کوتاهی درباره این درس مشاهده کنید.
> 🎥 برای دیدن ویدیوی کوتاه مرور این درس، روی تصویر بالا کلیک کنید.
به این دوره آموزشی درباره یادگیری ماشین کلاسیک برای مبتدیان خوش آمدید! چه کاملاً تازه‌کار باشید و چه یک متخصص یادگیری ماشین که به دنبال مرور یک موضوع خاص است، خوشحالیم که به ما پیوسته‌اید! هدف ما ایجاد یک نقطه شروع دوستانه برای مطالعه یادگیری ماشین شماست و خوشحال می‌شویم بازخورد شما را [ارزیابی، پاسخ‌دهی و اعمال کنیم](https://github.com/microsoft/ML-For-Beginners/discussions).
به این دوره یادگیری ماشین کلاسیک برای مبتدیان خوش آمدید! چه کاملاً در این موضوع تازه‌کار باشید و چه یک متخصص باتجربه یادگیری ماشین که می‌خواهد در بخشی به‌روزرسانی شود، خوشحالیم که به ما ملحق شده‌اید! ما می‌خواهیم یک نقطه شروع دوستانه برای مطالعه یادگیری ماشین شما ایجاد کنیم و مشتاقیم بازخوردهای شما را ارزیابی، پاسخ و در این درس‌ها وارد کنیم. [بازخورد شما](https://github.com/microsoft/ML-For-Beginners/discussions)
[![مقدمه‌ای بر یادگیری ماشین](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](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) آشنا شوید، مجموعه‌ای از کتابخانه‌های یادگیری ماشین که در این درس‌ها به آنها ارجاع می‌دهیم.
---
## یادگیری ماشین چیست؟
اصطلاح "یادگیری ماشین" یکی از محبوب‌ترین و پرکاربردترین اصطلاحات امروز است. احتمال زیادی وجود دارد که حداقل یک بار این اصطلاح را شنیده باشید، اگر با فناوری آشنایی داشته باشید، فارغ از اینکه در چه حوزه‌ای کار می‌کنید. اما مکانیزم یادگیری ماشین برای اکثر افراد یک راز است. برای یک مبتدی در یادگیری ماشین، این موضوع گاهی اوقات می‌تواند گیج‌کننده باشد. بنابراین، مهم است که بفهمیم یادگیری ماشین واقعاً چیست و آن را قدم به قدم، از طریق مثال‌های عملی یاد بگیریم.
واژه «یادگیری ماشین» یکی از محبوب‌ترین و پرکاربردترین اصطلاحات امروز است. احتمال قابل توجهی وجود دارد که اگر کمی با فناوری آشنا باشید، حداقل یک بار این اصطلاح را شنیده باشید، بدون توجه به حوزه کاری شما. اما مکانیزم‌های یادگیری ماشین برای اکثر مردم ناگهان رازآلود است. برای یک مبتدی یادگیری ماشین، موضوع گاهی اوقات می‌تواند طاقت‌فرسا باشد. بنابراین مهم است که بفهمیم یادگیری ماشین دقیقاً چیست و آن را گام به گام با مثال‌های عملی یاد بگیریم.
---
## منحنی هیجان
![منحنی هیجان یادگیری ماشین](../../../../1-Introduction/1-intro-to-ML/images/hype.png)
![ml hype curve](../../../../translated_images/fa/hype.07183d711a17aafe.webp)
> 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) زیرمجموعه مهمی از هوش مصنوعی است. **یادگیری ماشین به کارگیری الگوریتم‌های تخصصی برای کشف اطلاعات معنا دار و یافتن الگوهای پنهان از داده‌های درک شده برای پشتیبانی از فرآیند تصمیم‌گیری منطقی می‌پردازد**.
---
## هوش مصنوعی، یادگیری ماشین، یادگیری عمیق
![هوش مصنوعی، یادگیری ماشین، یادگیری عمیق، علم داده](../../../../1-Introduction/1-intro-to-ML/images/ai-ml-ds.png)
![هوش مصنوعی، یادگیری ماشین، یادگیری عمیق، علوم داده](../../../../translated_images/fa/ai-ml-ds.537ea441b124ebf6.webp)
> نموداری که روابط بین هوش مصنوعی، یادگیری ماشین، یادگیری عمیق و علم داده را نشان می‌دهد. اینفوگرافیک توسط [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://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) ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان مادری خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما در قبال هرگونه سوء تفاهم یا برداشت نادرست ناشی از استفاده از این ترجمه مسئولیتی نداریم.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,106 +1,106 @@
# مقدمه‌ای بر خوشه‌بندی
خوشه‌بندی نوعی [یادگیری بدون نظارت](https://wikipedia.org/wiki/Unsupervised_learning) است که فرض می‌کند مجموعه دادهها بدون برچسب هستند یا ورودی‌های آن‌ها با خروجی‌های از پیش تعریف‌شده مطابقت ندارند. این روش از الگوریتم‌های مختلفی برای مرتب‌سازی داده‌های بدون برچسب استفاده می‌کند و گروه‌بندی‌هایی را بر اساس الگوهایی که در داده‌ها تشخیص می‌دهد ارائه می‌دهد.
خوشه‌بندی نوعی از [یادگیری بدون نظارت](https://wikipedia.org/wiki/Unsupervised_learning) است که فرض می‌کند مجموعه داده برچسب ندارد یا ورودی‌های آن با خروجی‌های از پیش تعریف شده مطابقت ندارند. این روش از الگوریتم‌های مختلفی برای مرتب‌سازی داده‌های بدون برچسب و ارائه گروه‌بندی‌ها بر اساس الگوهایی که در داده‌ها تشخیص می‌دهد، استفاده می‌کند.
[![No One Like You by PSquare](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](https://youtu.be/ty2advRiWJM "No One Like You by PSquare")
> 🎥 روی تصویر بالا کلیک کنید تا ویدیو را ببینید. در حالی که در حال مطالعه یادگیری ماشین با خوشه‌بندی هستید، از آهنگ‌های رقص نیجریه‌ای لذت ببرید - این آهنگ از PSquare در سال ۲۰۱۴ بسیار مورد توجه قرار گرفته است.
> 🎥 برای مشاهده ویدیو روی تصویر بالا کلیک کنید. در حالی که مشغول مطالعه یادگیری ماشین با خوشه‌بندی هستید، از برخی قطعات موسیقی دَنس هال نیجریه‌ای لذت ببرید این آهنگ با رتبه بالا در سال ۲۰۱۴ توسط PSquare است.
## [آزمون پیش از درس](https://ff-quizzes.netlify.app/en/ml/)
## [آزمون پیشدرس](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) برای اکتشاف داده بسیار مفید است. بیایید ببینیم آیا می‌تواند در کشف روندها و الگوها در نحوه مصرف موسیقی توسط مخاطبان نیجریه کمک کند.
✅ یک دقیقه وقت بگذارید و به کاربردهای خوشه‌بندی فکر کنید. در زندگی واقعی، خوشه‌بندی زمانی اتفاق می‌افتد که شما یک دسته لباس دارید و باید لباس‌های اعضای خانواده‌تان را مرتب کنید 🧦👕👖🩲. در علم داده، خوشه‌بندی زمانی اتفاق می‌افتد که سعی دارید ترجیحات کاربران را تحلیل کنید یا ویژگی‌های هر مجموعه داده بدون برچسب را تعیین کنید. خوشه‌بندی، به نوعی، به ایجاد نظم در آشفتگی کمک می‌کند، مثل مرتب کردن کشوی جوراب‌ها.
✅ یک دقیقه فکر کنید درباره استفاده‌های خوشه‌بندی. در زندگی واقعی، خوشه‌بندی هر زمانی رخ می‌دهد که شما کوهی از لباس‌ها دارید و باید لباس‌های اعضای خانواده خود را جدا کنید 🧦👕👖🩲. در علم داده، خوشه‌بندی زمانی رخ می‌دهد که بخواهید ترجیحات یک کاربر را تحلیل کنید یا ویژگی‌های هر مجموعه داده بدون برچسب را مشخص نمایید. خوشه‌بندی به نوعی به درک آشفتگی کمک می‌کند، مثل کشوی جوراب‌ها.
[![Introduction to ML](https://img.youtube.com/vi/esmzYhuFnds/0.jpg)](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 و موارد استفاده مناسب آن‌ها آورده شده است:
| نام روش | مورد استفاده |
| :-------------------------- | :------------------------------------------------------------------- |
| K-Means | استفاده عمومی، استقرایی |
| 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 و موارد کاربرد مناسب آن‌ها آمده است:
| نام روش | مورد استفاده |
| :--------------------------- | :------------------------------------------------------------------- |
| K-Means | کاربرد عمومی، استقرایی |
| Affinity propagation | خوشه‌های زیاد و نامتقارن، استقرایی |
| Mean-shift | خوشه‌های زیاد و نامتقارن، استقرایی |
| Spectral clustering | خوشه‌های کم و متقارن، استنتاجی |
| Ward hierarchical clustering | خوشه‌های زیاد و محدود شده، استنتاجی |
| Agglomerative clustering | خوشه‌های زیاد، محدود شده، فاصله‌های غیر اقلیدسی، استنتاجی |
| 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) در طول یک منحنی اندازه‌گیری می‌شوند. اگر داده‌های شما، وقتی تصویر شده، به نظر نمی‌رسد روی یک صفحه باشند، ممکن است نیاز به الگوریتم تخصصی برای مدیریت آن داشته باشید.
>
![Flat vs Nonflat Geometry Infographic](../../../../5-Clustering/1-Visualize/images/flat-nonflat.png)
> ![Flat vs Nonflat Geometry Infographic](../../../../translated_images/fa/flat-nonflat.d1c8c6e2a96110c1.webp)
> اینفوگرافیک توسط [Dasani Madipalli](https://twitter.com/dasani_decoded)
>
> 🎓 ['فاصله‌ها'](https://web.stanford.edu/class/cs345a/slides/12-clustering.pdf)
>
> خوشه‌ها با ماتریس فاصله خود تعریف می‌شوند، به عنوان مثال فاصله بین نقاط. این فاصله می‌تواند به چند روش اندازه‌گیری شود. خوشه‌های اقلیدسی با میانگین مقادیر نقاط تعریف می‌شوند و شامل یک 'مرکز' یا نقطه مرکزی هستند. فاصله‌ها بنابراین با فاصله تا آن مرکز اندازه‌گیری می‌شوند. فاصله‌های غیر اقلیدسی به 'کلسترویدها' اشاره دارند، نقطه‌ای که نزدیک‌ترین به سایر نقاط است. کلسترویدها به نوبه خود می‌توانند به روش‌های مختلف تعریف شوند.
> خوشه‌ها توسط ماتریس فاصله خود تعریف می‌شوند، به عنوان مثال فاصله بین نقاط. این فاصله می‌تواند به چندین روش اندازه‌گیری شود. خوشه‌های اقلیدسی با میانگین مقادیر نقاط تعریف شده و دارای 'مرکز' یا نقطه مرکزی هستند. فاصله‌ها بنابراین با فاصله به آن مرکز اندازه‌گیری می‌شوند. فاصله‌های غیر اقلیدسی به 'کلسترنوییدها' اشاره دارد، نقطه‌ای که به سایر نقاط نزدیک‌تر است. کلسترنوییدها به نوبه خود می‌توانند به روش‌های مختلفی تعریف شوند.
>
> 🎓 ['محدود'](https://wikipedia.org/wiki/Constrained_clustering)
>
> [خوشه‌بندی محدود](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 سلسله‌مراتبی است.
- **خوشه‌بندی سلسله‌مراتبی**. اگر یک شیء بر اساس نزدیکی به یک شیء نزدیک‌تر طبقه‌بندی شود، نه به شیء‌های دورتر، خوشه‌ها بر اساس فاصله اعضایشان به اشیاء دیگر تشکیل می‌شوند. خوشه‌بندی تجمعی اسکیکیت‌لرن سلسله‌مراتبی است.
![Hierarchical clustering Infographic](../../../../5-Clustering/1-Visualize/images/hierarchical.png)
![Hierarchical clustering Infographic](../../../../translated_images/fa/hierarchical.bf59403aa43c8c47.webp)
> اینفوگرافیک توسط [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) نسخه محبوبی از خوشه‌بندی مرکزگرا است. مرکز توسط نزدیک‌ترین میانگین تعیین می‌شود، بنابراین نام آن چنین است. فاصله مربعی از خوشه کمینه می‌شود.
![Centroid clustering Infographic](../../../../5-Clustering/1-Visualize/images/centroid.png)
![Centroid clustering Infographic](../../../../translated_images/fa/centroid.097fde836cf6c918.webp)
> اینفوگرافیک توسط [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 | Sparky | Mandy & The Jungle | Cruel Santino | alternative r&b | 2019 | 144000 | 48 | 0.666 | 0.851 | 0.42 | 0.534 | 0.11 | -6.699 | 0.0829 | 133.015 | 5 |
| 1 | shuga rush | EVERYTHING YOU HEARD IS TRUE | Odunsi (The Engine) | afropop | 2020 | 89488 | 30 | 0.71 | 0.0822 | 0.683 | 0.000169 | 0.101 | -5.64 | 0.36 | 129.993 | 3 |
| 2 | LITT! | LITT! | AYLØ | indie r&b | 2018 | 207758 | 40 | 0.836 | 0.272 | 0.564 | 0.000537 | 0.11 | -7.127 | 0.0424 | 130.005 | 4 |
| 3 | Confident / Feeling Cool | Enjoy Your Life | Lady Donli | nigerian pop | 2019 | 175135 | 14 | 0.894 | 0.798 | 0.611 | 0.000187 | 0.0964 | -4.961 | 0.113 | 111.087 | 4 |
| 4 | wanted you | rare. | Odunsi (The Engine) | afropop | 2018 | 152049 | 25 | 0.702 | 0.116 | 0.833 | 0.91 | 0.348 | -6.044 | 0.0447 | 105.115 | 4 |
| | نام | آلبوم | خواننده | ژانر اصلی خواننده | تاریخ انتشار | طول | محبوبیت | قابلیت رقص | آکوستیک | انرژی | غیرکلامی | زنده بودن | شلوغی | گفتارگونه بودن | سرعت | امضای زمانی |
| --- | ---------------------------| -----------------------------| -------------------| ------------------| ------------ | -------| ---------- | -----------| ------------| -------| ---------------- | --------- | --------| -------------- | -------| -------------- |
| 0 | Sparky | Mandy & The Jungle | Cruel Santino | alternative r&b | 2019 | 144000 | 48 | 0.666 | 0.851 | 0.42 | 0.534 | 0.11 | -6.699 | 0.0829 | 133.015| 5 |
| 1 | shuga rush | EVERYTHING YOU HEARD IS TRUE | Odunsi (The Engine)| afropop | 2020 | 89488 | 30 | 0.71 | 0.0822 | 0.683 | 0.000169 | 0.101 | -5.64 | 0.36 | 129.993| 3 |
| 2 | LITT! | LITT! | AYLØ | indie r&b | 2018 | 207758 | 40 | 0.836 | 0.272 | 0.564 | 0.000537 | 0.11 | -7.127 | 0.0424 | 130.005 | 4 |
| 3 | Confident / Feeling Cool | Enjoy Your Life | Lady Donli | nigerian pop | 2019 | 175135 | 14 | 0.894 | 0.798 | 0.611 | 0.000187 | 0.0964 | -4.961 | 0.113 | 111.087 | 4 |
| 4 | wanted you | rare. | Odunsi (The Engine) | afropop | 2018 | 152049 | 25 | 0.702 | 0.116 | 0.833 | 0.91 | 0.348 | -6.044 | 0.0447 | 105.115 | 4 |
1. اطلاعاتی درباره دیتافریم دریافت کنید، با فراخوانی `info()`:
1. اطلاعاتی درباره‌ی dataframe بگیرید، با فراخوانی `info()`:
```python
df.info()
@ -164,13 +164,13 @@
memory usage: 66.4+ KB
```
1. بررسی مجدد برای مقادیر خالی، با فراخوانی `isnull()` و اطمینان از اینکه مجموع برابر با 0 است:
1. دوباره برای مقادیر null چک کنید، با فراخوانی `isnull()` و اطمینان از این که مجموع برابر صفر است:
```python
df.isnull().sum()
```
همه چیز خوب به نظر می‌رسد:
خوب است:
```output
name 0
@ -209,11 +209,11 @@
| 75% | 2017 | 242098.5 | 31 | 0.8295 | 0.403 | 0.87575 | 0.000234 | 0.164 | -3.331 | 0.177 | 125.03925 | 4 |
| max | 2020 | 511738 | 73 | 0.966 | 0.954 | 0.995 | 0.91 | 0.811 | 0.582 | 0.514 | 206.007 | 5 |
> 🤔 اگر ما با خوشه‌بندی کار می‌کنیم، روشی بدون نظارت که نیازی به داده‌های برچسب‌گذاری شده ندارد، چرا این داده‌ها را با برچسب‌ها نشان می‌دهیم؟ در مرحله بررسی داده‌ها، این برچسب‌ها مفید هستند، اما برای عملکرد الگوریتم‌های خوشه‌بندی ضروری نیستند. شما می‌توانید به راحتی سرستون‌ها را حذف کنید و به داده‌ها با شماره ستونها اشاره کنید.
> 🤔 اگر ما با خوشه‌بندی کار می‌کنیم، روشی بدون ناظر که نیاز به داده‌های برچسب‌خورده ندارد، چرا این داده‌ها را با برچسب‌ها نشان می‌دهیم؟ در مرحله کاوش داده‌ها، آن‌ها مفید هستند، ولی برای عمل‌کرد الگوریتم‌های خوشه‌بندی ضروری نیستند. می‌توانید ستون‌های عنوان را حذف کنید و به داده‌ها با شماره ستون ارجاع دهید.
به مقادیر کلی دادهها نگاه کنید. توجه داشته باشید که محبوبیت می‌تواند '0' باشد، که نشان‌دهنده آهنگ‌هایی است که رتبه‌بندی ندارند. بیایید به زودی این موارد را حذف کنیم.
به مقادیر کلی داده نگاه کنید. توجه داشته باشید که popularity می‌تواند '0' باشد، که نشان‌دهنده آهنگ‌هایی است که رتبه‌ای ندارند. بیایید به زودی آن‌ها را حذف کنیم.
1. از یک نمودار میله‌ای برای یافتن محبوب‌ترین ژانرها استفاده کنید:
1. از یک بارپلات استفاده کنید تا محبوب‌ترین ژانرها را پیدا کنید:
```python
import seaborn as sns
@ -225,13 +225,13 @@
plt.title('Top genres',color = 'blue')
```
![most popular](../../../../5-Clustering/1-Visualize/images/popular.png)
![most popular](../../../../translated_images/fa/popular.9c48d84b3386705f.webp)
✅ اگر می‌خواهید مقادیر بیشتری ببینید، مقدار `[:5]` را به یک مقدار بزرگ‌تر تغییر دهید یا آن را حذف کنید تا همه را ببینید.
✅ اگر می‌خواهید مقادیر بیشتری از بالاترین‌ها را ببینید، مقدار `[:5]` را به عدد بزرگ‌تری تغییر دهید یا آن را حذف کنید تا همه را مشاهده کنید.
توجه کنید، زمانی که ژانر برتر به عنوان 'Missing' توصیف می‌شود، به این معناست که اسپاتیفای آن را دسته‌بندی نکرده است، بنابراین بیایید آن را حذف کنیم.
توجه کنید، زمانی که بالاترین ژانر با عنوان 'Missing' توصیف می‌شود، به این معناست که اسپاتیفای آن را دسته‌بندی نکرده است، پس بهتر است آن را حذف کنیم.
1. داده‌های گم‌شده را با فیلتر کردن حذف کنید
1. داده‌های مفقود را با فیلتر کردن حذف کنید
```python
df = df[df['artist_top_genre'] != 'Missing']
@ -242,11 +242,11 @@
plt.title('Top genres',color = 'blue')
```
اکنون ژانرها را دوباره بررسی کنید:
حالا دوباره ژانرها را بررسی کنید:
![most popular](../../../../5-Clustering/1-Visualize/images/all-genres.png)
![most popular](../../../../translated_images/fa/all-genres.1d56ef06cefbfcd6.webp)
1. سه ژانر برتر به طور قابل توجهی بر این دیتاست تسلط دارند. بیایید بر روی `afro dancehall`، `afropop` و `nigerian pop` تمرکز کنیم، همچنین دیتاست را فیلتر کنیم تا هر چیزی با مقدار محبوبیت 0 (به این معنا که در دیتاست با محبوبیت دسته‌بندی نشده و می‌تواند به عنوان نویز در نظر گرفته شود) حذف شود:
1. تا کنون، سه ژانر برتر این مجموعه داده را تسلط دارند. بیایید روی `afro dancehall`، `afropop`، و `nigerian pop` تمرکز کنیم، همچنین دیتاست را فیلتر کنیم تا مواردی با مقدار popularity برابر صفر را حذف کنیم (یعنی آن‌هایی که رتبه‌بندی در دیتاست ندارند و می‌توان آن‌ها را به عنوان نویز محسوب کرد):
```python
df = df[(df['artist_top_genre'] == 'afro dancehall') | (df['artist_top_genre'] == 'afropop') | (df['artist_top_genre'] == 'nigerian pop')]
@ -258,7 +258,7 @@
plt.title('Top genres',color = 'blue')
```
1. یک آزمایش سریع انجام دهید تا ببینید آیا داده‌ها به طور خاصی قوی همبستگی دارند:
1. یک تست سریع انجام دهید تا ببینید آیا داده‌ها به شکلی خاص و قوی با هم همبستگی دارند یا نه:
```python
corrmat = df.corr(numeric_only=True)
@ -266,21 +266,21 @@
sns.heatmap(corrmat, vmax=.8, square=True)
```
![correlations](../../../../5-Clustering/1-Visualize/images/correlation.png)
![correlations](../../../../translated_images/fa/correlation.a9356bb798f5eea5.webp)
تنها همبستگی قوی بین `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 (برآورد چگالی هسته‌ای) استفاده می‌کند که داده‌ها را با یک منحنی چگالی احتمال پیوسته نشان می‌دهد. این به ما امکان تفسیر داده‌ها هنگام کار با چند توزیع را می‌دهد.
به طور کلی، سه ژانر از نظر محبوبیت و قابلیت رقص به طور کلی هم‌راستا هستند. تعیین خوشه‌ها در این داده‌های به طور کلی هم‌راستا چالش‌برانگیز خواهد بود:
به طور کلی، سه ژانر به طور ناپیوسته در محبوبیت و قابلیت رقص همسو هستند. تعیین خوشه‌ها در این داده‌های به طور ناپیوسته همسو شده، چالشی خواهد بود:
![distribution](../../../../5-Clustering/1-Visualize/images/distribution.png)
![distribution](../../../../translated_images/fa/distribution.9be11df42356ca95.webp)
1. یک نمودار پراکندگی ایجاد کنید:
@ -308,31 +308,33 @@
.add_legend()
```
نمودار پراکندگی با همان محورها الگوی مشابهی از همگرایی را نشان می‌دهد
نمودار پراکندگی همان محورها یک الگوی همگرایی مشابه را نشان می‌دهد
![Facetgrid](../../../../5-Clustering/1-Visualize/images/facetgrid.png)
![Facetgrid](../../../../translated_images/fa/facetgrid.9b2e65ce707eba1f.webp)
به طور کلی، برای خوشه‌بندی، می‌توانید از نمودارهای پراکندگی برای نشان دادن خوشه‌های داده استفاده کنید، بنابراین تسلط بر این نوع تجسم بسیار مفید است. در درس بعدی، ما این داده‌های فیلتر شده را می‌گیریم و از خوشه‌بندی 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) ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان مادری خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما در قبال هرگونه سوء تفاهم یا برداشت نادرست ناشی از استفاده از این ترجمه مسئولیتی نداریم.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,7 +1,7 @@
{
"1-Introduction/1-intro-to-ML/README.md": {
"original_hash": "69389392fa6346e0dfa30f664b7b6fec",
"translation_date": "2025-09-06T08:53:11+00:00",
"original_hash": "3a6394c6f5ce3f8aee8211e92eaf9ef0",
"translation_date": "2026-05-26T22:26:11+00:00",
"source_file": "1-Introduction/1-intro-to-ML/README.md",
"language_code": "ur"
},
@ -240,8 +240,8 @@
"language_code": "ur"
},
"5-Clustering/1-Visualize/README.md": {
"original_hash": "730225ea274c9174fe688b21d421539d",
"translation_date": "2025-09-06T08:48:36+00:00",
"original_hash": "08b00d9fbffc667a7fe7fc19ac00dfbd",
"translation_date": "2026-05-26T22:25:54+00:00",
"source_file": "5-Clustering/1-Visualize/README.md",
"language_code": "ur"
},

@ -1,150 +1,157 @@
# مشین لرننگ کا تعارف
## [لیکچر سے پہلے کا کوئز](https://ff-quizzes.netlify.app/en/ml/)
## [پری لیکچر کوئز](https://ff-quizzes.netlify.app/en/ml/)
---
[![مشین لرننگ کے لیے ابتدائی تعارف](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "مشین لرننگ کے لیے ابتدائی تعارف")
[![نئے افراد کے لیے ایم ایل - مشین لرننگ کا تعارف](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "نئے افراد کے لیے ایم ایل - مشین لرننگ کا تعارف")
> 🎥 اوپر دی گئی تصویر پر کلک کریں تاکہ اس سبق پر مبنی ایک مختصر ویڈیو دیکھی جا سکے۔
> 🎥 اس سبق کو سمجھنے کے لیے اوپر تصویر پر کلک کریں ایک مختصر ویڈیو کے لیے۔
اس کورس میں خوش آمدید جو مشین لرننگ کے ابتدائی طلباء کے لیے ترتیب دیا گیا ہے! چاہے آپ اس موضوع میں بالکل نئے ہوں یا ایک تجربہ کار مشین لرننگ کے ماہر جو اپنی معلومات کو تازہ کرنا چاہتے ہیں، ہم آپ کے شامل ہونے پر خوش ہیں! ہم آپ کے مشین لرننگ کے مطالعے کے لیے ایک دوستانہ آغاز فراہم کرنا چاہتے ہیں اور آپ کے [فیڈبیک](https://github.com/microsoft/ML-For-Beginners/discussions) کو شامل کرنے کے لیے تیار ہیں۔
نئے افراد کے لیے کلاسیکی مشین لرننگ کے اس کورس میں خوش آمدید! چاہے آپ اس موضوع میں بالکل نئے ہوں، یا ایک تجربہ کار ایم ایل پریکٹیشنر ہوں جو کسی خاص شعبے میں اپنی معلومات تازہ کرنا چاہتے ہوں، ہم آپ کو خوش آمدید کہتے ہیں! ہم آپ کی ایم ایل مطالعہ کے لیے ایک دوستانہ آغاز بنانا چاہتے ہیں اور خوش ہوں گے کہ آپ کی [رائے](https://github.com/microsoft/ML-For-Beginners/discussions) کی تشخیص کریں، جواب دیں، اور شامل کریں۔
[![مشین لرننگ کا تعارف](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "مشین لرننگ کا تعارف")
[![ایم ایل کا تعارف](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](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 محسوس ہو سکتا ہے۔ لہٰذا، یہ سمجھنا ضروری ہے کہ مشین لرننگ حقیقت میں کیا ہے، اور اسے عملی مثالوں کے ذریعے قدم بہ قدم سیکھنا۔
---
## ہائپ کرَو
## ہائپ کرو
![مشین لرننگ ہائپ کرَو](../../../../1-Introduction/1-intro-to-ML/images/hype.png)
![ml hype curve](../../../../translated_images/ur/hype.07183d711a17aafe.webp)
> گوگل ٹرینڈز مشین لرننگ کی اصطلاح کے حالیہ 'ہائپ کرَو' کو دکھاتا ہے۔
> گوگل ٹرینڈز دکھاتا ہے حالیہ 'ہائپ کرو' اصطلاح 'مشین لرننگ' کی
---
## ایک پراسرار کائنات
ہم ایک ایسی کائنات میں رہتے ہیں جو دلچسپ رازوں سے بھری ہوئی ہے۔ عظیم سائنسدان جیسے اسٹیفن ہاکنگ، البرٹ آئن سٹائن، اور دیگر نے اپنی زندگیاں اس دنیا کے رازوں کو بے نقاب کرنے کے لیے وقف کر دی ہیں۔ یہ انسانی فطرت ہے کہ وہ سیکھے: ایک بچہ نئی چیزیں سیکھتا ہے اور جیسے جیسے وہ بڑا ہوتا ہے، اپنے ارد گرد کی دنیا کی ساخت کو سمجھتا ہے۔
ہم ایک ایسی کائنات میں رہتے ہیں جو دلچسپ رازوں سے بھری ہوئی ہے۔ عظیم سائنس دان جیسے اسٹیفن ہاکنگ، البرٹ آئنسٹائن، اور بہت سے دیگر نے اپنی زندگیوں کو اس دنیا کے رازوں کو جاننے کے لیے وقف کر رکھا ہے۔ یہ انسانی حالت ہے سیکھنے کی: ایک انسانی بچہ نئے حقائق سیکھتا ہے اور جیسے جیسے بالغ ہوتا ہے، اپنی دنیا کی ساخت کو سال بہ سال دریافت کرتا ہے۔
---
## بچے کا دماغ
ایک بچے کا دماغ اور اس کے حواس اپنے ارد گرد کے حقائق کو محسوس کرتے ہیں اور زندگی کے پوشیدہ نمونوں کو آہستہ آہستہ سیکھتے ہیں، جو بچے کو سیکھے گئے نمونوں کی شناخت کے لیے منطقی اصول بنانے میں مدد دیتے ہیں۔ انسانی دماغ کا سیکھنے کا عمل انسان کو اس دنیا کی سب سے پیچیدہ مخلوق بناتا ہے۔ پوشیدہ نمونوں کو دریافت کر کے مسلسل سیکھنا اور پھر ان نمونوں پر جدت کرنا ہمیں اپنی زندگی بھر بہتر سے بہتر بنانے کے قابل بناتا ہے۔ یہ سیکھنے کی صلاحیت اور ارتقاء کی قابلیت ایک تصور سے جڑی ہوئی ہے جسے [دماغ کی پلاسٹیسٹی](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، ڈیپ لرننگ
## AI، ML، گہری تعلیم
![AI، ML، ڈیپ لرننگ، ڈیٹا سائنس](../../../../1-Introduction/1-intro-to-ML/images/ai-ml-ds.png)
![AI, ML, deep learning, data science](../../../../translated_images/ur/ai-ml-ds.537ea441b124ebf6.webp)
> ایک خاکہ جو 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://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) کے ذریعے ترجمہ کی گئی ہے۔ جبکہ ہم درستگی کے لیے کوشاں ہیں، براہ کرم اس بات سے آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا عدم درستیاں ہو سکتی ہیں۔ اصل دستاویز اپنے مادری زبان میں مستند ماخذ سمجھی جائے گی۔ حساس معلومات کے لیے پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کی ذمہ داری ہم قبول نہیں کرتے۔
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,116 +1,116 @@
# کلسٹرنگ کا تعارف
کلسٹرنگ ایک قسم کی [غیر نگرانی شدہ سیکھنے](https://wikipedia.org/wiki/Unsupervised_learning) ہے جو فرض کرتی ہے کہ ڈیٹا سیٹ لیبل شدہ نہیں ہے یا اس کے ان پٹ پہلے سے طے شدہ آؤٹ پٹ کے ساتھ نہیں ملتے۔ یہ مختلف الگورتھم استعمال کرتا ہے تاکہ غیر لیبل شدہ ڈیٹا کو ترتیب دے اور ڈیٹا میں موجود نمونوں کے مطابق گروپنگ فراہم کرے۔
کلسٹرنگ ایک قسم کی [غیر نگران سیکھنے](https://wikipedia.org/wiki/Unsupervised_learning) ہے جو فرض کرتی ہے کہ ڈیٹاسیٹ لیبل نہیں شدہ ہے یا اس کے ان پٹ پہلے سے متعین نتائج کے ساتھ مطابقت نہیں رکھتے۔ یہ مختلف الگورتھمز کا استعمال کرکے لیبل نہ شدہ ڈیٹا میں نمونوں کے مطابق گروہ بندی فراہم کرتی ہے۔
[![PSquare کا "No One Like You"](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](https://youtu.be/ty2advRiWJM "PSquare کا 'No One Like You'")
[![No One Like You by PSquare](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](https://youtu.be/ty2advRiWJM "No One Like You by PSquare")
> 🎥 اوپر دی گئی تصویر پر کلک کریں ویڈیو دیکھنے کے لیے۔ جب آپ کلسٹرنگ کے ساتھ مشین لرننگ کا مطالعہ کر رہے ہوں، تو کچھ نائجیرین ڈانس ہال ٹریکس سے لطف اندوز ہوں - یہ PSquare کا 2014 کا ایک اعلیٰ درجہ کا گانا ہے۔
> 🎥 ویڈیو کے لیے اوپر تصویر پر کلک کریں۔ جب آپ کلسٹرنگ کے ساتھ مشین لرننگ کا مطالعہ کر رہے ہیں، تو کچھ نائجیرین ڈانس ہال ٹریکس سے لطف اندوز ہوں - یہ PSquare کا 2014 کا بہت مقبول گانا ہے۔
## [لیکچر سے پہلے کا کوئز](https://ff-quizzes.netlify.app/en/ml/)
## [پری لیکچر کوئز](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://img.youtube.com/vi/esmzYhuFnds/0.jpg)](https://youtu.be/esmzYhuFnds "کلسٹرنگ کا تعارف")
[![Introduction to ML](https://img.youtube.com/vi/esmzYhuFnds/0.jpg)](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 کے ذریعہ سپورٹ کیے جانے والے طریقوں اور ان کے مناسب استعمال کے کیسز کی ایک سادہ جدول ہے:
| طریقہ کا نام | استعمال کا معاملہ |
| :--------------------------- | :--------------------------------------------------------------------- |
| K-Means | عمومی مقصد، انڈکٹو |
| Affinity propagation | بہت سے، غیر مساوی کلسٹرز، انڈکٹو |
| Mean-shift | بہت سے، غیر مساوی کلسٹرز، انڈکٹو |
| Spectral clustering | چند، مساوی کلسٹرز، ٹرانسڈکٹو |
| Ward hierarchical clustering | بہت سے، محدود کلسٹرز، ٹرانسڈکٹو |
| Agglomerative clustering | بہت سے، محدود، غیر اقلیدسی فاصلے، ٹرانسڈکٹو |
| DBSCAN | غیر فلیٹ جیومیٹری، غیر مساوی کلسٹرز، ٹرانسڈکٹو |
| OPTICS | غیر فلیٹ جیومیٹری، غیر مساوی کلسٹرز متغیر کثافت کے ساتھ، ٹرانسڈکٹو |
| Gaussian mixtures | فلیٹ جیومیٹری، انڈکٹو |
| BIRCH | بڑے ڈیٹا سیٹ کے ساتھ آؤٹ لائرز، انڈکٹو |
| طریقہ کار کا نام | استعمال کا کیس |
| :------------------------- | :-------------------------------------------------------------------- |
| K-Means | عمومی مقصد، استقرائی |
| Affinity propagation | بہت سے، غیر مساوی کلسٹرز، استقرائی |
| Mean-shift | بہت سے، غیر مساوی کلسٹرز، استقرائی |
| Spectral clustering | چند، مساوی کلسٹرز، انتقالی |
| Ward hierarchical clustering | بہت سے، محدود کلسٹرز، انتقالی |
| Agglomerative clustering | بہت سے، محدود، غیر ایکیلیڈین فاصلہ، انتقالی |
| DBSCAN | غیر فلیٹ جیومیٹری، غیر مساوی کلسٹرز، انتقالی |
| OPTICS | غیر فلیٹ جیومیٹری، مختلف کثافت کے ساتھ غیر مساوی کلسٹرز، انتقالی |
| Gaussian mixtures | فلیٹ جیومیٹری، استقرائی |
| BIRCH | بڑے ڈیٹاسیٹ کے ساتھ آؤٹ لائیرز، استقرائی |
> 🎓 ہم کلسٹرز کیسے بناتے ہیں اس کا بہت کچھ تعلق ہے کہ ہم ڈیٹا پوائنٹس کو گروپس میں کیسے جمع کرتے ہیں۔ آئیے کچھ اصطلاحات کو سمجھتے ہیں:
> 🎓 ہم کلسٹرز کیسے بناتے ہیں اس کا بہت تعلق اس بات سے ہے کہ ہم ڈیٹا پوائنٹس کو گروہوں میں کیسے جمع کرتے ہیں۔ آئیے کچھ الفاظ کھولتے ہیں:
>
> 🎓 ['ٹرانسڈکٹو' بمقابلہ 'انڈکٹو'](https://wikipedia.org/wiki/Transduction_(machine_learning))
> 🎓 ['انتقالی' بمقابلہ 'استقرائی'](https://wikipedia.org/wiki/Transduction_(machine_learning))
>
> ٹرانسڈکٹو انفرنس مشاہدہ شدہ تربیتی کیسز سے حاصل کی جاتی ہے جو مخصوص ٹیسٹ کیسز سے مطابقت رکھتی ہیں۔ انڈکٹو انفرنس تربیتی کیسز سے حاصل کی جاتی ہے جو عمومی اصولوں سے مطابقت رکھتی ہیں اور پھر صرف ٹیسٹ کیسز پر لاگو ہوتی ہیں۔
> انتقالی استنتاج مشاہدہ شدہ تربیتی کیسز سے ماخوذ ہوتا ہے جو مخصوص ٹیسٹ کیسز سے مماثل ہوتے ہیں۔ استقرائی استنتاج تربیتی کیسز سے ماخوذ ہوتا ہے جو عمومی قواعد کو ظاہر کرتے ہیں جو بعد میں ٹیسٹ کیسز پر لاگو ہوتے ہیں۔
>
> مثال: تصور کریں کہ آپ کے پاس ایک ڈیٹا سیٹ ہے جو جزوی طور پر لیبل شدہ ہے۔ کچھ چیزیں 'ریکارڈز' ہیں، کچھ 'سی ڈیز' ہیں، اور کچھ خالی ہیں۔ آپ کا کام خالی جگہوں کے لیے لیبل فراہم کرنا ہے۔ اگر آپ انڈکٹو طریقہ اختیار کرتے ہیں، تو آپ ایک ماڈل تربیت دیں گے جو 'ریکارڈز' اور 'سی ڈیز' تلاش کرے، اور ان لیبلز کو آپ کے غیر لیبل شدہ ڈیٹا پر لاگو کرے۔ یہ طریقہ ان چیزوں کو درجہ بندی کرنے میں مشکل پیش کرے گا جو دراصل 'کیسٹ' ہیں۔ دوسری طرف، ٹرانسڈکٹو طریقہ اس نامعلوم ڈیٹا کو زیادہ مؤثر طریقے سے سنبھالتا ہے کیونکہ یہ اسی طرح کی اشیاء کو گروپ کرنے کے لیے کام کرتا ہے اور پھر ایک گروپ کو لیبل دیتا ہے۔ اس صورت میں، کلسٹرز 'گول موسیقی کی چیزیں' اور 'چوکور موسیقی کی چیزیں' کی عکاسی کر سکتے ہیں۔
> ایک مثال: تصور کریں کہ آپ کے پاس ایک ڈیٹاسیٹ جزوی طور پر لیبل شدہ ہے۔ کچھ چیزیں 'ریکارڈز' ہیں، کچھ 'سی ڈیز' ہیں، اور کچھ خالی ہیں۔ آپ کا کام خالی جگہوں کے لیے لیبل فراہم کرنا ہے۔ اگر آپ استقرائی طریقہ اپنائیں گے، تو آپ ایک ماڈل کو 'ریکارڈز' اور 'سی ڈیز' تلاش کرنے کی تربیت دیں گے، اور ان لیبلز کو اپنے غیر لیبل شدہ ڈیٹا پر لاگو کریں گے۔ یہ طریقہ 'کیسٹ' کی درجہ بندی میں مشکل پیش آئے گا۔ دوسری طرف، ایک انتقالی طریقہ اس غیر معلوم ڈیٹا کو زیادہ مؤثر طریقے سے سنبھالتا ہے کیونکہ یہ ایک دوسرے جیسے اشیاء کو گروہ بند کرتا ہے اور پھر گروہ کو لیبل دیتا ہے۔ اس صورت میں، کلسٹرز ممکنہ طور پر 'گول موسیقی کی اشیاء' اور 'چوکور موسیقی کی اشیاء' کی عکاسی کر سکتے ہیں۔
>
> 🎓 ['غیر فلیٹ' بمقابلہ 'فلیٹ' جیومیٹری](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) خم دار راستے پر ناپے جاتے ہیں۔ اگر آپ کا ڈیٹا ویژولائز کیا جائے اور وہ کسی طیارے پر موجود نہ لگے تو آپ کو اسے سنبھالنے کے لیے خصوصی الگورتھم استعمال کرنے کی ضرورت ہو سکتی ہے۔
>
![فلیٹ بمقابلہ غیر فلیٹ جیومیٹری انفوگرافک](../../../../5-Clustering/1-Visualize/images/flat-nonflat.png)
> انفوگرافک از [دسانی مڈیپالی](https://twitter.com/dasani_decoded)
![Flat vs Nonflat Geometry Infographic](../../../../translated_images/ur/flat-nonflat.d1c8c6e2a96110c1.webp)
> انفورگرافک از [داسانی مادپلی](https://twitter.com/dasani_decoded)
>
> 🎓 ['فاصلے'](https://web.stanford.edu/class/cs345a/slides/12-clustering.pdf)
> 🎓 ['فاصلہ'](https://web.stanford.edu/class/cs345a/slides/12-clustering.pdf)
>
> کلسٹرز ان کے فاصلے میٹرکس، یعنی پوائنٹس کے درمیان فاصلے، سے متعین کیے جاتے ہیں۔ یہ فاصلے چند طریقوں سے ماپے جا سکتے ہیں۔ اقلیدسی کلسٹرز پوائنٹ ویلیوز کے اوسط سے متعین کیے جاتے ہیں، اور ان میں ایک 'سنٹرائڈ' یا مرکز پوائنٹ ہوتا ہے۔ فاصلے اس سنٹرائڈ سے فاصلے کے ذریعے ماپے جاتے ہیں۔ غیر اقلیدسی فاصلے 'کلسٹروائڈز' سے مراد ہیں، جو دوسرے پوائنٹس کے قریب ترین پوائنٹ ہوتا ہے۔ کلسٹروائڈز کو مختلف طریقوں سے متعین کیا جا سکتا ہے۔
> کلسٹرز فاصلہ میٹرکس سے متعین ہوتے ہیں، جیسے کہ پوائنٹس کے درمیان فاصلے۔ یہ فاصلے چند طریقوں سے ناپے جا سکتے ہیں۔ یونی کلیدی کلسٹرز پوائنٹ کی اوسط کی بنیاد پر متعین ہوتے ہیں اور ایک 'سنٹروئڈ' یا مرکز نقطہ رکھتے ہیں۔ فاصلے سنٹروئڈ تک فاصلے سے ناپے جاتے ہیں۔ غیر یونی کلیدی فاصلے 'کلسٹروئیڈز' کو کہتے ہیں، جو دوسرے پوائنٹس کے قریب ترین پوائنٹ ہوتا ہے۔ کلسٹروئڈز بھی مختلف طریقوں سے متعین کیے جا سکتے ہیں۔
>
> 🎓 ['محدود'](https://wikipedia.org/wiki/Constrained_clustering)
>
> [محدود کلسٹرنگ](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 کلسٹرنگ ہائرارکل ہے۔
![درجہ بندی کلسٹرنگ انفوگرافک](../../../../5-Clustering/1-Visualize/images/hierarchical.png)
> انفوگرافک از [دسانی مڈیپالی](https://twitter.com/dasani_decoded)
![Hierarchical clustering Infographic](../../../../translated_images/ur/hierarchical.bf59403aa43c8c47.webp)
> انفورگرافک از [داسانی مادپلی](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) سنٹروئڈ کلسٹرنگ کا ایک مقبول ورژن ہے۔ مرکز قریبی اوسط کی بنیاد پر متعین ہوتا ہے، اسی لیے اس کا نام ہے۔ کلسٹر سے مربع فاصلہ کم سے کم ہوتا ہے۔
![سنٹرائڈ کلسٹرنگ انفوگرافک](../../../../5-Clustering/1-Visualize/images/centroid.png)
> انفوگرافک از [دسانی مڈیپالی](https://twitter.com/dasani_decoded)
![Centroid clustering Infographic](../../../../translated_images/ur/centroid.097fde836cf6c918.webp)
> انفورگرافک از [داسانی مادپلی](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 |
| --- | ------------------------ | ---------------------------- | ------------------- | ---------------- | ------------ | ------ | ---------- | ------------ | ------------ | ------ | ---------------- | -------- | -------- | ----------- | ------- | -------------- |
| 0 | Sparky | Mandy & The Jungle | Cruel Santino | alternative r&b | 2019 | 144000 | 48 | 0.666 | 0.851 | 0.42 | 0.534 | 0.11 | -6.699 | 0.0829 | 133.015 |
| 2 | LITT! | LITT! | AYLØ | indie r&b | 2018 | 207758 | 40 | 0.836 | 0.272 | 0.564 | 0.000537 | 0.11 | -7.127 | 0.0424 | 130.005 | 4 |
| 3 | Confident / Feeling Cool | Enjoy Your Life | Lady Donli | nigerian pop | 2019 | 175135 | 14 | 0.894 | 0.798 | 0.611 | 0.000187 | 0.0964 | -4.961 | 0.113 | 111.087 | 4 |
| 4 | wanted you | rare. | Odunsi (The Engine) | afropop | 2018 | 152049 | 25 | 0.702 | 0.116 | 0.833 | 0.91 | 0.348 | -6.044 | 0.0447 | 105.115 | 4 |
| 0 | Sparky | Mandy & The Jungle | Cruel Santino | alternative r&b | 2019 | 144000 | 48 | 0.666 | 0.851 | 0.42 | 0.534 | 0.11 | -6.699 | 0.0829 | 133.015 | 5 |
| 1 | shuga rush | EVERYTHING YOU HEARD IS TRUE | Odunsi (The Engine) | afropop | 2020 | 89488 | 30 | 0.71 | 0.0822 | 0.683 | 0.000169 | 0.101 | -5.64 | 0.36 | 129.993 | 3 |
| 2 | LITT! | LITT! | AYLØ | انڈی آر اینڈ بی | 2018 | 207758 | 40 | 0.836 | 0.272 | 0.564 | 0.000537 | 0.11 | -7.127 | 0.0424 | 130.005 | 4 |
| 3 | Confident / Feeling Cool | Enjoy Your Life | Lady Donli | نائجیریائی پاپ | 2019 | 175135 | 14 | 0.894 | 0.798 | 0.611 | 0.000187 | 0.0964 | -4.961 | 0.113 | 111.087 | 4 |
| 4 | wanted you | rare. | Odunsi (The Engine) | آفروپاپ | 2018 | 152049 | 25 | 0.702 | 0.116 | 0.833 | 0.91 | 0.348 | -6.044 | 0.0447 | 105.115 | 4 |
1. ڈیٹا فریم کے بارے میں معلومات حاصل کریں، `info()` کال کریں:
1. ڈیٹافریم کے بارے میں کچھ معلومات حاصل کریں، `info()` کال کرکے:
```python
df.info()
```
آؤٹ پٹ کچھ اس طرح نظر آتا ہے:
آؤٹ پٹ کچھ یوں دکھائی دیتا ہے:
```output
<class 'pandas.core.frame.DataFrame'>
@ -163,13 +164,13 @@
memory usage: 66.4+ KB
```
1. خالی قدروں کو دوبارہ چیک کریں، `isnull()` کال کرکے اور اس بات کی تصدیق کریں کہ ان کا مجموعہ 0 ہے:
1. خالی (null) ویلیوز ڈبل چیک کریں، `isnull()` کال کرکے اور اس کا سم 0 ہونے کی تصدیق کریں:
```python
df.isnull().sum()
```
سب ٹھیک لگ رہا ہے:
ٹھیک لگ رہا ہے:
```output
name 0
@ -191,7 +192,7 @@
dtype: int64
```
1. ڈیٹا کو بیان کریں:
1. ڈیٹا کی وضاحت کریں:
```python
df.describe()
@ -208,12 +209,11 @@
| 75% | 2017 | 242098.5 | 31 | 0.8295 | 0.403 | 0.87575 | 0.000234 | 0.164 | -3.331 | 0.177 | 125.03925 | 4 |
| max | 2020 | 511738 | 73 | 0.966 | 0.954 | 0.995 | 0.91 | 0.811 | 0.582 | 0.514 | 206.007 | 5 |
> 🤔 اگر ہم کلسٹرنگ پر کام کر رہے ہیں، ایک غیر نگرانی والا طریقہ جو لیبل شدہ ڈیٹا کی ضرورت نہیں ہوتی، تو ہم یہ ڈیٹا لیبلز کے ساتھ کیوں دکھا رہے ہیں؟ ڈیٹا کی جانچ کے مرحلے میں، یہ مددگار ہوتے ہیں، مگر کلسٹرنگ الگوردمز کے کام کرنے کے لئے ضروری نہیں ہیں۔ آپ آسانی سے کالم ہیڈرز ہٹا سکتے ہیں اور ڈیٹا کو کالم نمبر سے ریفر کر سکتے ہیں۔
> 🤔 اگر ہم کلسٹرنگ کے ساتھ کام کر رہے ہیں، جو ایک غیر نگرانی شدہ طریقہ ہے اور لیبل شدہ ڈیٹا کی ضرورت نہیں ہوتی، تو ہم یہ ڈیٹا لیبلز کے ساتھ کیوں دکھا رہے ہیں؟ ڈیٹا کی تلاش کے مرحلے میں یہ مددگار ثابت ہوتے ہیں، لیکن کلسٹرنگ الگورتھمز کے کام کرنے کے لیے یہ ضروری نہیں ہیں۔ آپ آسانی سے کالم ہیڈرز کو ہٹا سکتے ہیں اور ڈیٹا کو کالم نمبر کے ذریعے حوالہ دے سکتے ہیں۔
ڈیٹا کی عمومی قدروں کو دیکھیں۔ نوٹ کریں کہ popularity '0' ہو سکتی ہے، جو ایسے گانوں کو ظاہر کرتی ہے جن کی کوئی رینکنگ نہیں ہے۔ آئیے جلد ہی انہیں ہٹا دیتے ہیں۔
ڈیٹا کی عمومی قدروں کو دیکھیں۔ نوٹ کریں کہ مقبولیت '0' ہو سکتی ہے، جو ان گانوں کو ظاہر کرتی ہے جن کی کوئی درجہ بندی نہیں ہے۔ آئیے جلد ہی ان کو ہٹا دیں۔
1. سب سے زیادہ مقبول انواع جاننے کے لیے بار پلاٹ استعمال کریں:
1. سب سے زیادہ مقبول genres معلوم کرنے کے لئے بارپلاٹ استعمال کریں:
```python
import seaborn as sns
@ -225,13 +225,13 @@
plt.title('Top genres',color = 'blue')
```
![most popular](../../../../5-Clustering/1-Visualize/images/popular.png)
![most popular](../../../../translated_images/ur/popular.9c48d84b3386705f.webp)
✅ اگر آپ مزید ٹاپ قدریں دیکھنا چاہتے ہیں، تو ٹاپ `[:5]` کو کسی بڑی قدر میں تبدیل کریں، یا سب دیکھنے کے لیے اسے ہٹا دیں۔
✅ اگر آپ زیادہ ٹاپ ویلیوز دیکھنا چاہتے ہیں، تو ٹاپ `[:5]` کو بڑا کر دیں، یا اسے ہٹا کر سب دیکھیں۔
نوٹ کریں، جب ٹاپ صنف کو 'Missing' کے طور پر بیان کیا جاتا ہے، تو اس کا مطلب ہے کہ Spotify نے اسے درجہ بندی نہیں کیا، تو آئیے اسے ہٹا دیں۔
نوٹ کریں، جب سب سے اوپر والا genre 'Missing' بتایا گیا ہو، تو اس کا مطلب ہے کہ Spotify نے اسے classify نہیں کیا، لہٰذا اسے ہٹا دیں۔
1. گمشدہ ڈیٹا کو فلٹر کرکے ہٹا دیں
1. گمشدہ ڈیٹا سے چھٹکارا پائیں فلٹر کر کے
```python
df = df[df['artist_top_genre'] != 'Missing']
@ -242,11 +242,11 @@
plt.title('Top genres',color = 'blue')
```
اب انواع کو دوبارہ چیک کریں:
اب genres دوبارہ چیک کریں:
![most popular](../../../../5-Clustering/1-Visualize/images/all-genres.png)
![most popular](../../../../translated_images/ur/all-genres.1d56ef06cefbfcd6.webp)
1. واضح طور پر، ٹاپ تین انواع اس ڈیٹا سیٹ پر حاوی ہیں۔ آئیے `afro dancehall`، `afropop`، اور `nigerian pop` پر توجہ مرکوز کریں، اور اضافی طور پر ڈیٹا سیٹ کو فلٹر کریں تاکہ کسی بھی چیز کو ہٹا دیا جائے جس کی مقبولیت کی قدر 0 ہو (جس کا مطلب ہے کہ اسے ڈیٹا سیٹ میں مقبولیت کے ساتھ درجہ بندی نہیں کیا گیا اور ہمارے مقاصد کے لیے اسے شور سمجھا جا سکتا ہے):
1. اب تک، اوپر کے تین genres اس ڈیٹا سیٹ پر غالب ہیں۔ آئیے `afro dancehall`, `afropop`, اور `nigerian pop` پر توجہ دیں، اور اضافی طور پر ایسے ڈیٹا کو فلٹر کریں جس کی popularity ویلیو 0 ہو (یعنی اسے ڈیٹا سیٹ میں کوئی محبوبیت نہیں دی گئی اور ہمارے مقاصد کے لیے شور سمجھا جا سکتا ہے):
```python
df = df[(df['artist_top_genre'] == 'afro dancehall') | (df['artist_top_genre'] == 'afropop') | (df['artist_top_genre'] == 'nigerian pop')]
@ -258,7 +258,7 @@
plt.title('Top genres',color = 'blue')
```
1. ایک فوری ٹیسٹ کریں تاکہ یہ دیکھ سکیں کہ ڈیٹا کسی خاص طور پر مضبوط طریقے سے تعلق رکھتا ہے:
1. تیز جانچ کریں کہ آیا ڈیٹا کسی خاص طاقتور طریقے سے correlate کرتا ہے:
```python
corrmat = df.corr(numeric_only=True)
@ -266,21 +266,21 @@
sns.heatmap(corrmat, vmax=.8, square=True)
```
![correlations](../../../../5-Clustering/1-Visualize/images/correlation.png)
![correlations](../../../../translated_images/ur/correlation.a9356bb798f5eea5.webp)
واحد مضبوط تعلق `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 کے لحاظ سے غیر سخت طریقے سے ہم آہنگ ہیں۔ اس غیر سخت ہم آہنگ ڈیٹا میں کلسٹرز کا تعین ایک چیلنج ہوگا:
![distribution](../../../../5-Clustering/1-Visualize/images/distribution.png)
![distribution](../../../../translated_images/ur/distribution.9be11df42356ca95.webp)
1. ایک اسکیٹر پلاٹ بنائیں:
1. ایک scatter plot بنائیں:
```python
sns.FacetGrid(df, hue="artist_top_genre", height=5) \
@ -308,31 +308,33 @@
.add_legend()
```
انہی محوروں کا ایک اسکیٹر پلاٹ ایک جیسا ہم آہنگی کا نمونہ دکھاتا ہے
ایک scatterplot اسی محوروں کا مشابہت والا پیٹرن ظاہر کرتا ہے۔
![Facetgrid](../../../../5-Clustering/1-Visualize/images/facetgrid.png)
![Facetgrid](../../../../translated_images/ur/facetgrid.9b2e65ce707eba1f.webp)
عمومی طور پر، کلسٹرنگ کے لیے، آپ ڈیٹا کے کلسٹرز کو ظاہر کرنے کے لیے اسکیٹر پلاٹس استعمال کر سکتے ہیں، لہذا اس قسم کی بصری کاری میں مہارت حاصل کرنا بہت مفید ہے۔ اگلے سبق میں، ہم اس فلٹر شدہ ڈیٹا کو لیں گے اور 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) کے ذریعے ترجمہ کی گئی ہے۔ جبکہ ہم درستگی کے لیے کوشاں ہیں، براہ کرم اس بات سے آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا عدم درستیاں ہو سکتی ہیں۔ اصل دستاویز اپنے مادری زبان میں مستند ماخذ سمجھی جائے گی۔ حساس معلومات کے لیے پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کی ذمہ داری ہم قبول نہیں کرتے۔
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,7 +1,7 @@
{
"1-Introduction/1-intro-to-ML/README.md": {
"original_hash": "69389392fa6346e0dfa30f664b7b6fec",
"translation_date": "2025-09-05T09:05:11+00:00",
"original_hash": "3a6394c6f5ce3f8aee8211e92eaf9ef0",
"translation_date": "2026-05-26T22:27:27+00:00",
"source_file": "1-Introduction/1-intro-to-ML/README.md",
"language_code": "zh-CN"
},
@ -240,8 +240,8 @@
"language_code": "zh-CN"
},
"5-Clustering/1-Visualize/README.md": {
"original_hash": "730225ea274c9174fe688b21d421539d",
"translation_date": "2025-09-05T09:00:51+00:00",
"original_hash": "08b00d9fbffc667a7fe7fc19ac00dfbd",
"translation_date": "2026-05-26T22:27:04+00:00",
"source_file": "5-Clustering/1-Visualize/README.md",
"language_code": "zh-CN"
},

@ -4,76 +4,76 @@
---
[![初学者的机器学习 - 机器学习入门](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "初学者的机器学习 - 机器学习入门")
[![ML for beginners - Introduction to Machine Learning for Beginners](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "ML for beginners - Introduction to Machine Learning for Beginners")
> 🎥 点击上方图片观看本课相关的短视频
> 🎥 点击上方图片观看本课程的简短视频讲解
欢迎来到这门面向初学者的经典机器学习课程!无论你是完全新手,还是一位希望复习某些领域的经验丰富的机器学习从业者,我们都很高兴你能加入我们!我们希望为你的机器学习学习提供一个友好的起点,并欢迎你提供[反馈](https://github.com/microsoft/ML-For-Beginners/discussions),我们会评估、回应并融入你的建议
欢迎来到面向初学者的经典机器学习课程!无论你是完全不了解这个主题的新手,还是希望巩固某个领域知识的经验丰富的机器学习从业者,我们都很高兴你能加入!我们希望为你的机器学习学习创建一个友好的起点,并乐于评估、回应和采纳你的[反馈](https://github.com/microsoft/ML-For-Beginners/discussions)。
[![机器学习简介](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "机器学习简介")
[![Introduction to ML](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "Introduction to ML")
> 🎥 点击上方图片观看视频:麻省理工学院的 John Guttag 介绍机器学习
> 🎥 点击上方图片观看视频:MIT的John Guttag介绍机器学习
---
## 开始学习机器学习
## 机器学习入门
在开始学习本课程之前,你需要确保你的电脑已经设置好并可以本地运行笔记本。
在开始本课程内容之前,你需要将你的计算机配置好并准备好在本地运行笔记本。
- **通过以下视频配置你的电脑**。使用以下链接学习[如何安装 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) 找到了我们,你可能已经有一个账户了,但如果没有,请创建一个账户,然后 fork 本课程以供自己使用。(也可以给我们点个星星 😊)
- **探索 Scikit-learn**。熟悉 [Scikit-learn](https://scikit-learn.org/stable/user_guide.html),这是我们在课程中参考的一组机器学习库
- <strong>通过这些视频配置你的机器</strong>。使用以下链接学习如何在你的系统中[安装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**。本课程在构建Web应用时会多次用到JavaScript因此你需要安装[node](https://nodejs.org)和[npm](https://www.npmjs.com/),以及安装[Visual Studio Code](https://code.visualstudio.com/)以支持Python和JavaScript开发
- **创建GitHub账号**。既然你在这通过[GitHub](https://github.com)找到我们你可能已经有账号了。如果没有请创建一个账号然后fork本课程来供你自己使用。顺便给我们点个星也欢迎 😊)
- **了解Scikit-learn**。熟悉[Scikit-learn](https://scikit-learn.org/stable/user_guide.html),这是我们在课程中参考的一套机器学习库,许多学生都用它来学习基础知识
---
## 什么是机器学习?
“机器学习”是当今最流行和最常用的术语之一。如果你对技术有一定的了解,无论你从事哪个领域,都有很大可能至少听过一次这个术语。然而,机器学习的运作机制对大多数人来说仍然是一个谜。对于机器学习初学者来说,这个主题有时可能会让人感到不知所措。因此,了解机器学习的真正含义,并通过实际例子一步步学习它是非常重要的
“机器学习”是当今最流行、使用频率最高的术语之一。如果你对科技有一定了解,无论你从事哪个领域,都很可能至少听过这个词。然而大多数人对机器学习的机制其实了解甚少。对于机器学习初学者来说,这个主题有时会让人感觉难以应对。因此,理解什么是真正的机器学习,并通过实际示例逐步学习它,显得尤为重要
---
## 热曲线
## 热曲线
![机器学习热度曲线](../../../../1-Introduction/1-intro-to-ML/images/hype.png)
![ml hype curve](../../../../translated_images/zh-CN/hype.07183d711a17aafe.webp)
> Google Trends 显示了“机器学习”这一术语的近期热曲线
> Google Trends 显示了“机器学习”这一术语的近期热曲线
---
## 神秘的宇宙
## 一个神秘的宇宙
我们生活在一个充满迷人奥秘的宇宙中。像斯蒂芬·霍金、阿尔伯特·爱因斯坦等伟大的科学家们,毕生致力于寻找有意义的信息,以揭示我们周围世界的奥秘。这是人类学习的本质:一个孩子通过逐年成长,学习新事物并揭示其世界的结构
我们生活在一个充满迷人奥秘的宇宙中。伟大的科学家如Stephen Hawking、Albert Einstein和许多人奉献毕生精力寻找揭开我们周围世界奥秘的有意义信息。这正是人类学习的本质一个孩子随着成长年复一年地学习新事物揭示世界的结构最终成为成人
---
## 孩子的大脑
## 儿童的大脑
孩子的大脑和感官感知周围环境的事实,并逐渐学习生活中隐藏的模式,这些模式帮助孩子制定逻辑规则以识别已学到的模式。人类大脑的学习过程使人类成为这个世界上最复杂的生物。通过发现隐藏模式并不断创新,我们能够在一生中不断提升自己。这种学习能力和进化能力与一个叫做[脑可塑性](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关注于使用专门的算法从感知到的数据中发掘有意义的信息找到隐藏的模式从而支持理性决策过程。**
---
## AI、ML、深度学习
![AI、ML、深度学习、数据科学](../../../../1-Introduction/1-intro-to-ML/images/ai-ml-ds.png)
![AI, ML, deep learning, data science](../../../../translated_images/zh-CN/ai-ml-ds.537ea441b124ebf6.webp)
> 一张展示 AI、ML、深度学习和数据科学之间关系的图表。信息图由 [Jen Looper](https://twitter.com/jenlooper) 制作,灵感来源于[这张图](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining)
> 显示AI、ML、深度学习与数据科学之间关系的图示。信息图由[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进行所谓的“经典机器学习”教学这是一款许多学生学习基础知识时使用的优秀库。要理解更广泛的人工智能或深度学习概念扎实的机器学习基础知识必不可少因此我们在这里提供这一部分内容
---
## 在本课程你将学习:
## 在本课程你将学习:
- 机器学习核心概念
- 机器学习历史
- 机器学习核心概念
- 机器学习历史
- 机器学习与公平性
- 回归机器学习技术
- 分类机器学习技术
@ -90,61 +90,68 @@
- 神经网络
- 人工智能
为了提供更好的学习体验,我们将避免涉及神经网络的复杂性、“深度学习”(使用神经网络构建多层模型)以及人工智能,这些内容将在另一门课程中讨论。我们还将提供即将推出的数据科学课程,以专注于这一更广泛领域的相关内容。
为了提供更好的学习体验,我们将避免神经网络、“深度学习”(使用多层神经网络的模型构建)及人工智能的复杂性,这些将在另一个课程中讨论。我们还会提供即将推出的数据科学课程,专注于该领域的内容。
---
## 为什么学习机器学习?
## 为什么学习机器学习?
从系统角度看,机器学习被定义为创建能够从数据中学习隐藏模式以帮助做出智能决策的自动化系统。
从系统角度看,机器学习被定义为创建能够从数据中学习隐藏模式以辅助智能决策的自动化系统。
种动机在一定程度上受到人类大脑如何根据外界感知的数据学习某些事物的启发。
一动机大致受到人脑如何基于从外部世界感知的数据学习某些事物的启发。
✅ 思考一下,为什么企业会选择使用机器学习策略,而不是创建一个基于硬编码规则的引擎?
✅ 想一想,为什么企业会想使用机器学习策略,而不是创建硬编码的规则引擎。
---
## 为什么数据质量很重要
高质量数据提升模型表现。即使使用先进的机器学习算法,数据质量差或噪声大也会导致预测不准确。
---
## 机器学习的应用
机器学习的应用几乎无处不在,就像我们社会中流动的数据一样,这些数据由智能手机、连接设备和其他系统生成。考虑到最先进的机器学习算法的巨大潜力,研究人员一直在探索其解决多维度和多学科现实问题的能力,并取得了非常积极的成果。
机器学习的应用几乎无处不在,与我们社会中不断流动的数据一样普遍,这些数据由智能手机、联网设备及其他系统生成。考虑到最先进的机器学习算法的巨大潜力,研究人员一直在探索它们解决多维、多学科现实问题的能力,并取得了显著积极成果。
---
## 应用机器学习的例子
## 机器学习应用实例
**机器学习有许多用途**
<strong>你可以通过多种方式使用机器学习</strong>
- 根据患者的病史或报告预测疾病的可能性。
- 利用气数据预测天气事件。
- 理解文本情感。
- 检测虚假新闻以阻止宣传的传播。
- 预测患者病史或报告中疾病的可能性。
- 利用气数据预测天气事件。
- 理解文本情感。
- 识别假新闻以阻止宣传传播。
金融、经济、地球科学、太空探索、生物医学工程、认知科学,甚至人文学科都已经适应了机器学习,以解决其领域中繁重的数据处理问题。
金融、经济、地球科学、太空探索、生物医学工程、认知科学甚至人文学科领域都采用机器学习解决他们领域中庞大且繁重的数据处理问题。
---
## 结论
机器学习通过从现实世界或生成的数据中发现有意义的洞察来自动化模式发现的过程。它已在商业、健康和金融等领域证明了其高度价值。
机器学习通过从真实世界或生成数据中发现有意义的洞见,自动化了模式发现的过程。它已被证明在商业、健康及金融等应用领域极具价值。
在不久的将来,由于机器学习的广泛应用,了解机器学习的基础知识将成为任何领域人士的必备技能。
在不久的将来,鉴于其广泛应用,理解机器学习基础将成为任何领域人员的必备技能。
---
# 🚀 挑战
用纸或在线应用(如 [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)。
想了解如何在云中使用机器学习算法,请访问此[学习路径](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) 翻译完成。尽管我们力求准确,但请注意,自动翻译可能包含错误或不准确之处。原始语言版文件应视为权威来源。对于重要信息,建议使用专业人工翻译。我们对因使用本翻译而产生的任何误解或误释不承担责任。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,108 +1,108 @@
# 聚类
# 聚类介
聚类是一种[无监督学习](https://wikipedia.org/wiki/Unsupervised_learning)方法,假设数据集是未标记的,或者其输入未与预定义的输出匹配。它使用各种算法对未标记的数据进行分类,并根据数据中识别出的模式提供分组。
聚类是一种[无监督学习](https://wikipedia.org/wiki/Unsupervised_learning),假设数据集是无标签的,或者其输入未与预定义输出匹配。它使用各种算法对无标签数据进行排序,并根据数据中察觉到的模式提供分组。
[![PSquare的《No One Like You》](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](https://youtu.be/ty2advRiWJM "PSquare的《No One Like You》")
[![No One Like You by PSquare](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](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://img.youtube.com/vi/esmzYhuFnds/0.jpg)](https://youtu.be/esmzYhuFnds "聚类简介")
[![Introduction to ML](https://img.youtube.com/vi/esmzYhuFnds/0.jpg)](https://youtu.be/esmzYhuFnds "Introduction to Clustering")
> 🎥 点击上方图片观看视频:麻省理工学院的John Guttag介绍聚类
> 🎥 点击上方图片观看视频:MIT的John Guttag介绍聚类
在专业环境中,聚类可以用于确定市场细分,例如确定哪些年龄段购买哪些商品。另一个用途是异常检测,比如从信用卡交易数据集中检测欺诈行为。或者你可以用聚类来识别一批医学扫描中的肿瘤。
在专业环境中,聚类可以用于确定市场细分,例如确定不同年龄段购买的商品。另一个应用是异常检测,比如从信用卡交易数据集中检测欺诈。或者你可以用聚类来确定一批医学扫描中的肿瘤。
✅ 花一分钟思考你可能在银行、电子商务或商业环境中遇到过的聚类应用
✅ 花一分钟思考你在银行、电商或商业环境中如何遇到过聚类技术
> 🎓 有趣的是,聚类分析起源于20世纪30年代的人类学和心理学领域。你能想象它可能是如何被使用的吗?
> 🎓 有趣的是,聚类分析最早源于20世纪30年代的人类学和心理学领域。你能想象它当时是如何被使用的吗?
另外,你可以用它来对搜索结果进行分组——例如按购物链接、图片或评论分组。当你有一个大型数据集需要简化并进行更细致的分析时,聚类技术非常有用,因此它可以在构建其他模型之前帮助了解数据。
或者,你可以用聚类来对搜索结果进行分组,比如购物链接、图片或评论。当你拥有一个大型数据集并希望减少维度、进行更细致的分析时,聚类非常有用。这种技术可以用来在构建其他模型之前了解数据。
✅ 一旦你的数据被组织成簇你可以为其分配一个簇ID。这种技术在保护数据集隐私时非常有用你可以通过簇ID而不是更具识别性的详细数据来引用数据点。你能想到其他使用簇ID而不是簇内元素来标识数据的原因吗?
✅ 一旦你的数据被组织成簇clusters你就会分配簇ID这项技术在保护数据隐私时很有用你可以用簇ID而不是更具揭示性的可识别数据来引用数据点。你能想到其他使用簇ID而非簇中其他元素来标识的原因吗?
通过这个[学习模块](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支持的方法及其合适用例的简化表格:
| 方法名称 | 使用场景 |
| 方法名称 | 适用场景 |
| :--------------------------- | :--------------------------------------------------------------------- |
| K-Means | 通用目的,归纳式 |
| Affinity propagation | 多个、不均匀簇,归纳式 |
| Mean-shift | 多个、不均匀簇,归纳式 |
| Spectral clustering | 少量、均匀簇,推断式 |
| Ward hierarchical clustering | 多个、受约束簇,推断式 |
| Agglomerative clustering | 多个、受约束、非欧几里得距离,推断式 |
| DBSCAN | 非平面几何、不均匀簇,推断式 |
| OPTICS | 非平面几何、不均匀簇且密度可变,推断式 |
| Gaussian mixtures | 平面几何,归纳式 |
| BIRCH | 大型数据集且有异常值,归纳式 |
> 🎓 我们如何创建簇与我们如何将数据点分组到簇中有很大关系。让我们解读一些术语:
| K-Means | 通用,归纳式 |
| 亲和传播Affinity propagation | 多个、不均匀簇,归纳式 |
| Mean-shift | 多个、不均匀簇,归纳式 |
| 谱聚类Spectral clustering | 少数、均匀簇,传导式 |
| Ward层次聚类 | 多个、受约束簇,传导式 |
| 凝聚式聚类Agglomerative clustering | 多个、受约束、非欧几里得距离,传导式 |
| DBSCAN | 非平坦几何、不均匀簇,传导式 |
| OPTICS | 非平坦几何、不均匀且密度可变簇,传导式 |
| 高斯混合Gaussian mixtures | 平坦几何,归纳式 |
| BIRCH | 大型数据集带异常值,归纳式 |
> 🎓 聚类的创建方式与如何将数据点归集到组密切相关。让我们解析一些术语:
>
> 🎓 ['推断式' vs. '归纳式'](https://wikipedia.org/wiki/Transduction_(machine_learning))
> 🎓 ['传导式' vs. '归纳式'](https://wikipedia.org/wiki/Transduction_(machine_learning))
>
> 推断式推理基于观察到的训练案例映射到特定测试案例。归纳式推理基于训练案例映射到一般规则,然后应用于测试案例。
> 传导推断源于观察训练案例直接映射到特定测试案例。归纳推断源于训练案例对应的通用规则,再应用于测试案例。
>
> 举个例子假设你有一个部分标记的数据集。一些是“唱片”一些是“CD”还有一些是空白的。你的任务是为空白数据提供标签。如果你选择归纳式方法你会训练一个模型寻找“唱片”和“CD”并将这些标签应用于未标记数据。这种方法可能难以分类实际上是“磁带”的东西。而推断式方法则更有效地处理这些未知数据因为它会努力将相似的项目分组然后为整个组应用标签。在这种情况下簇可能反映“圆形音乐物品”和“方形音乐物品”。
> 举假设你的数据集只有部分标签有的标记为“唱片”有的标为“CD”有的为空白。你的任务是给空白项赋标签。若用归纳方法训练模型识别“唱片”和“CD”并把这些标签应用于无标签数据。此方法难以识别“磁带”等新类别。传导方法则通过聚类将相似项分组再将标签应用于组比如“圆形音乐物品”和“方形音乐物品”。
>
> 🎓 ['非平面' vs. '平面几何'](https://datascience.stackexchange.com/questions/52260/terminology-flat-geometry-in-the-context-of-clustering)
> 🎓 ['非平坦' vs. '平坦'几何](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)是沿曲线测量距离。若数据可视化为非平面空间,需用专门算法处理
>
![面与非平面几何信息图](../../../../5-Clustering/1-Visualize/images/flat-nonflat.png)
> 信息图由[Dasani Madipalli](https://twitter.com/dasani_decoded)制作
![坦与非平坦几何信息图](../../../../translated_images/zh-CN/flat-nonflat.d1c8c6e2a96110c1.webp)
> 信息图由[Dasani Madipalli](https://twitter.com/dasani_decoded)提供
>
> 🎓 ['距离'](https://web.stanford.edu/class/cs345a/slides/12-clustering.pdf)
>
> 簇由其距离矩阵定义,例如点之间的距离。这种距离可以通过几种方式测量。欧几里得簇由点值的平均值定义,并包含一个“质心”或中心点。因此距离是通过到质心的距离来测量的。非欧几里得距离指的是“簇心”,即最接近其他点的点。簇心可以通过多种方式定义
> 簇由其距离矩阵定义,如点间距离。距离可通过多种方式测量。欧氏簇基于点值平均含有“质心”或中心点距离即为点到质心的距离。非欧氏距离指“簇核”clustroid是距离其他点最近的点。簇核定义多样
>
> 🎓 ['受约束'](https://wikipedia.org/wiki/Constrained_clustering)
>
> [受约束聚类](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种聚类算法其使用取决于手头数据的性质。让我们讨论一些主要的算法:
聚类算法有100多种选用取决于数据特性。以下是一些主要算法:
- **层次聚类**。如果一个对象根据其与附近对象的接近程度而被分类而不是与更远的对象簇是基于其成员与其他对象的距离形成的。Scikit-learn的凝聚聚类是层次聚类。
- <strong>层次聚类</strong>。若对象通过与近邻对象的接近性分类而非远处对象簇则基于其成员间距离形成。Scikit-learn的凝聚式聚类即为层次聚类。
![层次聚类信息图](../../../../5-Clustering/1-Visualize/images/hierarchical.png)
> 信息图由[Dasani Madipalli](https://twitter.com/dasani_decoded)制作
![层次聚类信息图](../../../../translated_images/zh-CN/hierarchical.bf59403aa43c8c47.webp)
> 信息图由[Dasani Madipalli](https://twitter.com/dasani_decoded)提供
- **质心聚类**。这种流行的算法需要选择“k”即要形成的簇数量然后算法确定簇的中心点并围绕该点收集数据。[K均值聚类](https://wikipedia.org/wiki/K-means_clustering)是质心聚类的一种流行版本。中心点由最近的平均值确定,因此得名。簇的平方距离被最小化。
- <strong>质心聚类</strong>。此流行算法需指定“k”簇数算法随后确定每簇中心点收集周边数据。[K-means聚类](https://wikipedia.org/wiki/K-means_clustering)是质心聚类的常见形式。中心点通过最邻近均值确定,故名。簇的平方距离被最小化。
![质心聚类信息图](../../../../5-Clustering/1-Visualize/images/centroid.png)
> 信息图由[Dasani Madipalli](https://twitter.com/dasani_decoded)制作
![质心聚类信息图](../../../../translated_images/zh-CN/centroid.097fde836cf6c918.webp)
> 信息图由[Dasani Madipalli](https://twitter.com/dasani_decoded)提供
- **基于分布的聚类**。基于统计建模,分布式聚类的核心是确定数据点属于某个簇的概率,并据此分配。高斯混合方法属于这一类型
- <strong>基于分布的聚类</strong>。基于统计建模,通过确定数据点属于某簇的概率并进行分配。高斯混合方法属于此类
- **基于密度的聚类**。数据点根据其密度或围绕彼此的分组被分配到簇中。远离组的数据点被认为是异常值或噪声。DBSCAN、Mean-shift和OPTICS属于这一类型的聚类。
- <strong>基于密度的聚类</strong>。通过密度或点间集结区分簇。远离簇的点被视为异常或噪声。DBSCAN、Mean-shift和OPTICS属于此类聚类。
- **基于网格的聚类**。对于多维数据集,创建一个网格并将数据分配到网格的单元中,从而形成簇。
- <strong>基于网格的聚类</strong>。对多维数据集构建网格,将数据划分到网格单元中,从而形成簇。
## 练习 - 聚类你的数据
## 练习 - 对你的数据进行聚类
聚类作为一种技术在适当的可视化帮助下效果更好,因此让我们通过可视化我们的音乐数据开始。这项练习将帮助我们决定针对这些数据的性质最有效使用哪种聚类方法
聚类技术大受益于合适的可视化,让我们先可视化音乐数据开始。本练习帮助我们决定哪种聚类方法最适合此数据特质
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`包以实现良好的数据可视化。
@ -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)中追加歌曲数据。加载一个包含歌曲数据的数据框。通过导入库并输出数据准备探索这些数据
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()
```
检查数据的前几行
查看前几行数据
| | 名称 | 专辑 | 艺术家 | 艺术家主要风格 | 发行日期 | 时长 | 热度 | 舞蹈性 | 声学性 | 能量 | 器乐性 | 现场感 | 响度 | 语音性 | 节奏 | 拍号 |
| | name | album | artist | artist_top_genre | release_date | length | popularity | danceability | acousticness | energy | instrumentalness | liveness | loudness | speechiness | tempo | time_signature |
| --- | ------------------------ | ---------------------------- | ------------------- | ---------------- | ------------ | ------ | ---------- | ------------ | ------------ | ------ | ---------------- | -------- | -------- | ----------- | ------- | -------------- |
| 0 | Sparky | Mandy & The Jungle | Cruel Santino | alternative r&b | 2019 | 144000 | 48 | 0.666 | 0.851 | 0.42 | 0.534 | 0.11 | -6.699 | 0.0829 | 133.015 | 5 |
| 1 | shuga rush | EVERYTHING YOU HEARD IS TRUE | Odunsi (The Engine) | afropop | 2020 | 89488 | 30 | 0.71 | 0.0822 | 0.683 | 0.000169 | 0.101 | -5.64 | 0.36 | 129.993 | 3 |
| 2 | LITT! | LITT! | AYLØ | 独立R&B | 2018 | 207758 | 40 | 0.836 | 0.272 | 0.564 | 0.000537 | 0.11 | -7.127 | 0.0424 | 130.005 | 4 |
| 3 | Confident / Feeling Cool | Enjoy Your Life | Lady Donli | 尼日利亚流行 | 2019 | 175135 | 14 | 0.894 | 0.798 | 0.611 | 0.000187 | 0.0964 | -4.961 | 0.113 | 111.087 | 4 |
| 4 | wanted you | rare. | Odunsi (The Engine) | 非洲流行 | 2018 | 152049 | 25 | 0.702 | 0.116 | 0.833 | 0.91 | 0.348 | -6.044 | 0.0447 | 105.115 | 4 |
| 2 | LITT! | LITT! | AYLØ | indie r&b | 2018 | 207758 | 40 | 0.836 | 0.272 | 0.564 | 0.000537 | 0.11 | -7.127 | 0.0424 | 130.005 | 4 |
| 3 | Confident / Feeling Cool | Enjoy Your Life | Lady Donli | nigerian pop | 2019 | 175135 | 14 | 0.894 | 0.798 | 0.611 | 0.000187 | 0.0964 | -4.961 | 0.113 | 111.087 | 4 |
| 4 | wanted you | rare. | Odunsi (The Engine) | afropop | 2018 | 152049 | 25 | 0.702 | 0.116 | 0.833 | 0.91 | 0.348 | -6.044 | 0.0447 | 105.115 | 4 |
1. 获取数据框的一些信息,调用 `info()`
1. 获取关于数据框的一些信息,调用 `info()`
```python
df.info()
@ -164,13 +164,13 @@
memory usage: 66.4+ KB
```
1. 通过调用 `isnull()` 并验证总和为 0 来仔细检查是否有空值
1. 通过调用 `isnull()` 并验证和为0进行空值的双重检查
```python
df.isnull().sum()
```
看起来不错
一切正常
```output
name 0
@ -209,11 +209,11 @@
| 75% | 2017 | 242098.5 | 31 | 0.8295 | 0.403 | 0.87575 | 0.000234 | 0.164 | -3.331 | 0.177 | 125.03925 | 4 |
| max | 2020 | 511738 | 73 | 0.966 | 0.954 | 0.995 | 0.91 | 0.811 | 0.582 | 0.514 | 206.007 | 5 |
> 🤔 如果我们正在使用聚类算法,这是一种不需要标签数据的无监督方法,为什么我们要展示带标签的数据?在数据探索阶段,这些标签很有用,但对于聚类算法来说并不是必要的。你完全可以移除列标题,并通过列号来引用数据。
> 🤔 如果我们正在使用聚类,作为一种不需要标签数据的无监督方法,为什么我们要用带标签的数据来展示呢?在数据探索阶段,标签很有用,但对于聚类算法的运行并非必需。你完全可以移除列标题,仅用列号来引用数据。
观察数据的一般值。注意,流行度可以为“0”这表明歌曲没有排名。我们稍后会移除这些数据。
观察数据的一般值。注意,popularity 可能是0这说明歌曲没有排名。我们稍后会去除这些数据。
1. 使用柱状图找出最受欢迎的音乐类型
1. 使用条形图查找最受欢迎的流派
```python
import seaborn as sns
@ -225,13 +225,13 @@
plt.title('Top genres',color = 'blue')
```
![最受欢迎](../../../../5-Clustering/1-Visualize/images/popular.png)
![most popular](../../../../translated_images/zh-CN/popular.9c48d84b3386705f.webp)
✅ 如果你想看到更多的前几项,可以将 `[:5]` 改为更大的值,或者移除它以查看全部。
✅ 如果你想查看更多的顶级值,可以将顶部的 `[:5]` 改为更大的值,或者移除它来查看全部。
注意,当最受欢迎的音乐类型被描述为“Missing”时这意味着 Spotify 没有对其进行分类,因此我们需要移除它
注意,当顶级流派被描述为Missing表示 Spotify 没有对其进行分类,我们应该去除这些数据
1. 通过过滤除缺失数据
1. 通过过滤除缺失数据
```python
df = df[df['artist_top_genre'] != 'Missing']
@ -242,11 +242,11 @@
plt.title('Top genres',color = 'blue')
```
现在重新检查音乐类型
现在重新检查流派
![所有音乐类型](../../../../5-Clustering/1-Visualize/images/all-genres.png)
![most popular](../../../../translated_images/zh-CN/all-genres.1d56ef06cefbfcd6.webp)
1. 显然,前三种音乐类型在这个数据集中占据主导地位。让我们专注于 `afro dancehall`、`afropop` 和 `nigerian pop`,并进一步过滤数据,移除流行度为 0 的数据(这意味着它在数据集中没有被分类为流行度,可以被视为噪声):
1. 到目前为止,前三大流派主导着这个数据集。我们重点关注 `afro dancehall``afropop` 和 `nigerian pop`另外过滤掉流行度为0的记录表示该数据未被分类为有流行度可以视为噪声):
```python
df = df[(df['artist_top_genre'] == 'afro dancehall') | (df['artist_top_genre'] == 'afropop') | (df['artist_top_genre'] == 'nigerian pop')]
@ -258,7 +258,7 @@
plt.title('Top genres',color = 'blue')
```
1. 快速测试数据是否特别强的相关性:
1. 快速测试数据是否存在特别强的相关性:
```python
corrmat = df.corr(numeric_only=True)
@ -266,21 +266,21 @@
sns.heatmap(corrmat, vmax=.8, square=True)
```
![相关性](../../../../5-Clustering/1-Visualize/images/correlation.png)
![correlations](../../../../translated_images/zh-CN/correlation.a9356bb798f5eea5.webp)
唯一强相关`energy``loudness`,这并不令人惊讶,因为响亮的音乐通常很有活力。除此之外,相关性相对较弱。看看聚类算法如何处理这些数据会很有趣。
唯一显著的强相关是 `energy``loudness`,这并不令人惊讶,因为响亮的音乐通常很有能量。其他相关性相对较弱。观察聚类算法如何挖掘这些数据将会很有趣。
> 🎓 注意,相关性并不意味着因果关系!我们有相关性的证据,但没有因果关系的证据。一个[有趣的网站](https://tylervigen.com/spurious-correlations)提供了一些视觉效果来强调这一点。
> 🎓 请注意,相关性不代表因果关系!我们有相关性的证明,但没有因果关系的证明。这个[有趣的网站](https://tylervigen.com/spurious-correlations)中有一些图示强调了这一观点。
在这个数据集中,歌曲的流行度和舞蹈性是否有任何收敛?一个 FacetGrid 显示出无论音乐类型如何,都有一些同心圆排列。是否可能尼日利亚的音乐品味在某种程度上对这一类型的舞蹈性趋于一致
该数据集中是否存在在歌曲感知流行度和舞蹈性的某种趋同?一个 FacetGrid 显示,无论流派如何,都有同心圆的排列。难道尼日利亚人的口味对于这个流派的某个舞蹈性水平存在趋同
✅ 尝试不同的数据点(如 energy、loudness、speechiness以及更多或不同的音乐类型。你能发现什么查看 `df.describe()` 表格以了解数据点的一般分布。
✅ 尝试不同的数据点(energyloudnessspeechiness和更多或不同的音乐流派。你能发现什么看一下 `df.describe()` 表了解数据点的整体分布。
### 练习 - 数据分布
这三种音乐类型在舞蹈性和流行度的感知上是否显著不同?
这三个流派在舞蹈性的感知上是否因流行度不同而显著不同?
1. 检查我们前三种音乐类型在给定 x 和 y 轴上的流行度和舞蹈性数据分布
1. 检查我们前三大流派的流行度和舞蹈性的分布分别用给定的x轴和y轴表示
```python
sns.set_theme(style="ticks")
@ -292,15 +292,15 @@
)
```
你可以发现围绕一个一般收敛点的同心圆,显示数据点的分布。
你可以发现围绕一个整体汇聚点存在同心圆,显示出点的分布。
> 🎓 注意,这个例子使用了一个 KDE核密度估计它通过连续概率密度曲线来表示数据。这使我们能够在处理多个分布时解释数据。
> 🎓 此示例使用 KDE核密度估计图表使用连续概率密度曲线表示数据。这使我们能够解释多个分布的数据。
总体而言,这三种音乐类型在流行度和舞蹈性方面大致对齐。确定这些松散对齐数据中的聚类将是一个挑战:
总体来说,三个流派在流行度和舞蹈性方面的大致趋势是相似的。要确定这些松散对齐的数据的聚类将是一项挑战:
![分布](../../../../5-Clustering/1-Visualize/images/distribution.png)
![distribution](../../../../translated_images/zh-CN/distribution.9be11df42356ca95.webp)
1. 创建一个散点图:
1. 绘制散点图:
```python
sns.FacetGrid(df, hue="artist_top_genre", height=5) \
@ -308,31 +308,33 @@
.add_legend()
```
同一轴上的散点图显示了类似的收敛模式
使用相同坐标轴的散点图显示了相似的趋同模式
![Facetgrid](../../../../5-Clustering/1-Visualize/images/facetgrid.png)
![Facetgrid](../../../../translated_images/zh-CN/facetgrid.9b2e65ce707eba1f.webp)
通常,对于聚类,你可以使用散点图来显示数据的聚类,因此掌握这种可视化类型非常有用。在下一课中,我们将使用 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)
---
**免责声明**
本文档使用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) 翻译完成。尽管我们力求准确,但请注意,自动翻译可能包含错误或不准确之处。原始语言版文件应视为权威来源。对于重要信息,建议使用专业人工翻译。我们对因使用本翻译而产生的任何误解或误释不承担责任。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save