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

update-translations
localizeflow[bot] 6 days ago
parent 5f990de5b2
commit 5e53e585cd

@ -1,7 +1,7 @@
{
"1-Introduction/1-intro-to-ML/README.md": {
"original_hash": "69389392fa6346e0dfa30f664b7b6fec",
"translation_date": "2025-09-05T10:24:35+00:00",
"original_hash": "3a6394c6f5ce3f8aee8211e92eaf9ef0",
"translation_date": "2026-05-26T21:55:17+00:00",
"source_file": "1-Introduction/1-intro-to-ML/README.md",
"language_code": "hi"
},
@ -240,8 +240,8 @@
"language_code": "hi"
},
"5-Clustering/1-Visualize/README.md": {
"original_hash": "730225ea274c9174fe688b21d421539d",
"translation_date": "2025-09-05T10:19:12+00:00",
"original_hash": "08b00d9fbffc667a7fe7fc19ac00dfbd",
"translation_date": "2026-05-26T21:54:24+00:00",
"source_file": "5-Clustering/1-Visualize/README.md",
"language_code": "hi"
},

@ -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) का मूल्यांकन, उत्तर और समावेश करने के लिए तैयार हैं।
नवीनतमों के लिए इस क्लासिकल मशीन लर्निंग कोर्स में आपका स्वागत है! चाहे आप इस विषय में पूरी तरह नए हों, या किसी अनुभवी ML प्रैक्टिशनर हों जो किसी क्षेत्र को फिर से सीखना चाहते हैं, हमें खुशी है कि आप हमारे साथ जुड़े हैं! हम आपकी एमएल पढ़ाई के लिए एक अनुकूल प्रारंभिक स्थान बनाना चाहते हैं और आपकी [प्रतिक्रिया](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 का अन्वेषण करें।** हमारे पाठों में संदर्भित एक ML लाइब्रेरियों के सेट [Scikit-learn](https://scikit-learn.org/stable/user_guide.html) के साथ परिचित हों।
---
## मशीन लर्निंग क्या है?
'मशीन लर्निंग' शब्द आज के सबसे लोकप्रिय और अक्सर उपयोग किए जाने वाले शब्दों में से एक है। यह संभावना है कि आपने इस शब्द को कम से कम एक बार सुना होगा यदि आप किसी भी प्रकार की तकनीक से परिचित हैं, चाहे आप किसी भी क्षेत्र में काम करते हों। हालांकि, मशीन लर्निंग की प्रक्रिया अधिकांश लोगों के लिए एक रहस्य है। एक मशीन लर्निंग शुरुआती के लिए, यह विषय कभी-कभी भारी लग सकता है। इसलिए, यह समझना महत्वपूर्ण है कि मशीन लर्निंग वास्तव में क्या है, और इसे व्यावहारिक उदाहरणों के माध्यम से चरण-दर-चरण सीखना
'मशीन लर्निंग' शब्द आज की सबसे लोकप्रिय और बार-बार उपयोग की जाने वाली शब्दावली में से एक है। यदि आपको तकनीक की कोई न कोई जानकारी है, चाहे आप किसी भी क्षेत्र में काम करते हों, तो इस शब्द को कम से कम एक बार सुनने की अच्छी संभावना है। हालांकि, मशीन लर्निंग की तंत्रिका ज्यादातर लोगों के लिए रहस्य है। एक मशीन लर्निंग शुरुआतकर्ता के लिए, यह विषय कभी-कभी भारी लग सकता है। इसलिए, यह समझना आवश्यक है कि मशीन लर्निंग वास्तव में क्या है, और इसे व्यावहारिक उदाहरणों के माध्यम से धीरे-धीरे सीखना महत्वपूर्ण है
---
## प्रचार वक्र
## प्रचार घुमा
![मशीन लर्निंग प्रचार वक्र](../../../../1-Introduction/1-intro-to-ML/images/hype.png)
![एमएल प्रचार घुमाव](../../../../translated_images/hi/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) कृत्रिम बुद्धिमत्ता का एक महत्वपूर्ण उपखंड है। **ML विशिष्ट एल्गोरिदम का उपयोग करके प्रासंगिक जानकारी खोजने और तर्कसंगत निर्णय प्रक्रिया का समर्थन करने के लिए छिपे हुए पैटर्न खोजने पर केंद्रित है।**
---
## एआई, एमएल, डीप लर्निंग
## AI, ML, डीप लर्निंग
![एआई, एमएल, डीप लर्निंग, डेटा साइंस](../../../../1-Introduction/1-intro-to-ML/images/ai-ml-ds.png)
![AI, ML, डीप लर्निंग, डेटा साइंस](../../../../translated_images/hi/ai-ml-ds.537ea441b124ebf6.webp)
> एआई, एमएल, डीप लर्निंग और डेटा साइंस के बीच संबंधों को दिखाने वाला एक आरेख। [जेन लूपर](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 का उपयोग करते हुए 'क्लासिकल मशीन लर्निंग' कहते हैं, जो एक उत्कृष्ट लाइब्रेरी है जिसका उपयोग कई छात्र मूल बातें सीखने के लिए करते हैं। कृत्रिम बुद्धिमत्ता या गहरे शिक्षण की व्यापक अवधारणाओं को समझने के लिए, मशीन लर्निंग का मजबूत बुनियादी ज्ञान आवश्यक है, और इसलिए हम इसे यहां प्रदान करना चाहते हैं।
---
## इस कोर्स में आप सीखेंगे:
- मशीन लर्निंग की मुख्य अवधारणाएं
- मशीन लर्निंग के प्रमुख सिद्धांत
- एमएल का इतिहास
- एमएल और निष्पक्षता
- रिग्रेशन एमएल तकनीकें
- वर्गीकरण एमएल तकनीकें
- क्लस्टरिंग एमएल तकनीकें
- प्राकृतिक भाषा प्रसंस्करण एमएल तकनीकें
- टाइम सीरीज़ फोरकास्टिंग एमएल तकनीकें
- सुदृढीकरण सीखना
- एमएल और न्यायसंगतता
- प्रतिगमन ML तकनीकें
- वर्गीकरण ML तकनीकें
- क्लस्टरिंग ML तकनीकें
- प्राकृतिक भाषा संसाधन ML तकनीकें
- टाइम सीरीज पूर्वानुमान ML तकनीकें
- पुनर्बलन सीखना
- एमएल के वास्तविक दुनिया के अनुप्रयोग
---
## हम क्या कवर नहीं करेंगे
## हम क्या नहीं कवर करेंगे
- डीप लर्निंग
- न्यूरल नेटवर्क्स
- एआई
- न्यूरल नेटवर्क
- AI
बेहतर सीखने के अनुभव के लिए, हम न्यूरल नेटवर्क्स, 'डीप लर्निंग' - न्यूरल नेटवर्क्स का उपयोग करके कई-स्तरीय मॉडल-निर्माण - और एआई की जटिलताओं से बचेंगे, जिसे हम एक अलग पाठ्यक्रम में चर्चा करेंगे। हम डेटा साइंस पर ध्यान केंद्रित करने के लिए एक आगामी पाठ्यक्रम भी प्रदान करेंगे
बेहतर सीखने के अनुभव के लिए, हम न्यूरल नेटवर्क की जटिलताओं, 'डीप लर्निंग' - न्यूरल नेटवर्क का कई-परत वाला मॉडल-निर्माण, और AI से बचेंगे, जिन्हें हम दूसरे पाठ्यक्रम में चर्चा करेंगे। हम एक आगामी डेटा साइंस पाठ्यक्रम भी प्रदान करेंगे जो इस बड़े क्षेत्र के उस पहलू पर केंद्रित होगा
---
## मशीन लर्निंग क्यों पढ़ें?
## मशीन लर्निंग क्यों सीखें?
सिस्टम के दृष्टिकोण से, मशीन लर्निंग को स्वचालित सिस्टम बनाने के रूप में परिभाषि किया गया है जो डेटा से छिपे हुए पैटर्न सीख सकते हैं ताकि बुद्धिमान निर्णय लेने में मदद मिल सके।
मशीन लर्निंग को एक सिस्टम दृष्टिकोण से इस तरह परिभाषित किया गया है कि यह स्वचालित सिस्टम बनाता है जो डेटा से छिपे हुए पैटर्न सीख सकते हैं ताकि बुद्धिमान निर्णय लेने में सहायता मिल सके।
यह प्रेरणा ढीले तौर पर इस बात से प्रेरित है कि मानव मस्तिष्क बाहरी दुनिया से प्राप्त डेटा के आधार पर कुछ चीजें कैसे सीखता है।
यह प्रेरणा इस बात से ढीले से प्रेरित है कि मानव मस्तिष्क बाहरी दुनिया से प्राप्त डेटा के आधार पर कुछ चीजें कैसे सीखता है।
✅ एक मिनट के लिए सोचें कि कोई व्यवसाय मशीन लर्निंग रणनीतियों का उपयोग क्यों करना चाहेगा बनाम एक हार्ड-कोडेड नियम-आधारित इंजन बनाना।
✅ एक मिनट सोचें कि एक व्यवसाय मशीन लर्निंग रणनीतियों का उपयोग क्यों करना चाहेगा बजाय कड़ी कोड वाली नियम-आधारित इंजन बनाने के।
---
## डेटा गुणवत्ता क्यों महत्वपूर्ण है
उच्च गुणवत्ता वाला डेटा मॉडल प्रदर्शन में सुधार करता है। खराब या शोरयुक्त डेटा गलत भविष्यवाणियों का कारण बन सकता है, भले ही अत्याधुनिक मशीन लर्निंग एल्गोरिदम का उपयोग किया गया हो।
---
## मशीन लर्निंग के अनुप्रयोग
मशीन लर्निंग के अनुप्रयोग अब लगभग हर जगह हैं, और हमारे समाजों में बहने वाले डेटा जितने सर्वव्यापी हैं, जो हमारे स्मार्ट फोन, कनेक्टेड डिवाइस और अन्य सिस्टम द्वारा उत्पन्न होते हैं। अत्याधुनिक मशीन लर्निंग एल्गोरिदम की अपार क्षमता को देखते हुए, शोधकर्ता बहु-आयामी और बहु-विषयक वास्तविक जीवन की समस्याओं को सकारात्मक परिणामों के साथ हल करने की उनकी क्षमता का पता लगा रहे हैं।
मशीन लर्निंग के अनुप्रयोग अब लगभग हर जगह हैं, और उतने ही व्यापक हैं जितना कि हमारे स्मार्टफोन, कनेक्टेड उपकरणों और अन्य प्रणालियों द्वारा उत्पन्न डेटा जो हमारे समाजों में बह रहा है। अत्याधुनिक मशीन लर्निंग एल्गोरिदम की विशाल क्षमता को देखते हुए, शोधकर्ता उनके बहु-आयामी और बहु-विषयक वास्तविक जीवन समस्याओं को महान सकारात्मक परिणामों के साथ हल करने की क्षमता का अन्वेषण कर रहे हैं।
---
## लागू एमएल के उदाहरण
## लागू किए गए ML के उदाहरण
**आप मशीन लर्निंग का कई तरीकों से उपयोग कर सकते हैं**:
**आप मशीन लर्निंग का उपयोग कई तरीकों से कर सकते हैं**:
- किसी रोगी के मेडिकल इतिहास या रिपोर्ट से बीमारी की संभावना का अनुमान लगाने के लिए।
- मौसम डेटा का उपयोग करके मौसम की घटनाओं की भविष्यवाणी करने के लिए।
- किसी टेक्स्ट की भावना को समझने के लिए।
- फेक न्यूज़ का पता लगाने के लिए ताकि प्रोपेगैंडा के प्रसार को रोका जा सके
- रोगी के चिकित्सा इतिहास या रिपोर्ट से बीमारी की संभावना की भविष्यवाणी करने के लिए।
- मौसम डेटा का उपयोग करके मौसम की घटनाओं की भविष्यवाणी के लिए।
- किसी पाठ की भावना को समझने के लिए।
- प्रचार के प्रसार को रोकने के लिए फेक न्यूज़ का पता लगाने के लिए।
वित्त, अर्थशास्त्र, पृथ्वी विज्ञान, अंतरिक्ष अन्वेषण, बायोमेडिकल इंजीनियरिंग, संज्ञानात्मक विज्ञान, और यहां तक कि मानविकी के क्षेत्रों ने अपने डोमेन की कठिन, डेटा-प्रोसेसिंग भारी समस्याओं को हल करने के लिए मशीन लर्निंग को अपनाया है
वित्त, अर्थशास्त्र, पृथ्वी विज्ञान, अंतरिक्ष अन्वेषण, बायोमेडिकल इंजीनियरिंग, संज्ञान विज्ञान, और यहां तक कि मानविकी के क्षेत्र भी अपने क्षेत्र की कठिन, डेटा-प्रक्रिया वाली समस्याओं को हल करने के लिए मशीन लर्निंग को अपनाए हैं
---
## निष्कर्ष
मशीन लर्निंग वास्तविक दुनिया या उत्पन्न डेटा से सार्थक अंतर्दृष्टि खोजने के लिए पैटर्न-खोज प्रक्रिया को स्वचालित करता है। यह व्यवसाय, स्वास्थ्य, और वित्तीय अनुप्रयोगों सहित अन्य क्षेत्रों में अत्यधिक मूल्यवान साबित हुआ है।
मशीन लर्निंग वास्तविक दुनिया या उत्पन्न डेटा से सार्थक अंतर्दृष्टि प्राप्त करके पैटर्न-खोज प्रक्रिया को स्वचालित करता है। यह व्यवसाय, स्वास्थ्य, और वित्तीय अनुप्रयोगों सहित कई क्षेत्रों में अत्यंत मूल्यवान साबित हुआ है।
निकट भविष्य में, मशीन लर्निंग की बुनियादी बातों को समझना किसी भी क्षेत्र के लोगों के लिए आवश्यक होने जा रहा है क्योंकि इसका व्यापक रूप से अपनाया जा रहा है।
निकट भविष्य में, मशीन लर्निंग के मूल सिद्धांतों को समझना हर क्षेत्र के लोगों के लिए आवश्यक होगा क्योंकि इसका व्यापक उपयोग बढ़ रहा है।
---
# 🚀 चुनौती
कागज पर या [Excalidraw](https://excalidraw.com/) जैसे ऑनलाइन ऐप का उपयोग करके, एआई, एमएल, डीप लर्निंग और डेटा साइंस के बीच के अंतर को समझाने के लिए एक स्केच बनाएं। उन समस्याओं के कुछ विचार जोड़ें जिन्हें इन तकनीकों द्वारा हल किया जा सकता है।
कागज पर या [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://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 के John Guttag क्लस्टरिंग का परिचय देते हैं
पेशेवर सेटिंग में, क्लस्टरिंग का उपयोग बाजार विभाजन, यह निर्धारित करने के लिए किया जा सकता है कि कौन सी आयु वर्ग कौन सी वस्तुएं खरीदती हैं। एक अन्य उपयोग धोखाधड़ी का पता लगाने के लिए हो सकता है, जैसे क्रेडिट कार्ड लेनदेन के डेटा सेट में। या आप इसे मेडिकल स्कैन के बैच में ट्यूमर का पता लगाने के लिए उपयोग कर सकते हैं।
पेशेवर सेटिंग में, क्लस्टरिंग का उपयोग बाजार विभाजन जैसी चीज़ों को निर्धारित करने के लिए किया जा सकता है, उदाहरण के लिए कौन से आयु वर्ग कौन से वस्त्र खरीदते हैं। एक और उपयोग अनियमितता खोज (अनोमली डिटेक्शन) हो सकता है, जैसे क्रेडिट कार्ड लेन-देन के डेटासेट से धोखाधड़ी का पता लगाना। या आप क्लस्टरिंग का उपयोग चिकित्सा स्कैन की एक बैच में ट्यूमर निर्धारित करने के लिए कर सकते हैं।
✅ एक मिनट सोचें कि आपने 'वास्तविक दुनिया' में, बैंकिंग, ई-कॉमर्स, या व्यवसाय सेटिंग में क्लस्टरिंग का सामना कैसे किया होगा
✅ एक मिनट सोचें कि आप क्लस्टरिंग से 'वास्तविक जीवन' में कैसे पाए होंगे, बैंकिंग, ई-कॉमर्स, या व्यवसाय सेटिंग में।
> 🎓 दिलचस्प बात यह है कि क्लस्टर विश्लेषण की उत्पत्ति 1930 के दशक में मानवविज्ञान और मनोविज्ञान के क्षेत्रों में हुई थी। क्या आप कल्पना कर सकते हैं कि इसका उपयोग कैसे किया गया होगा?
> 🎓 रोचक बात यह है कि क्लस्टर विश्लेषण की शुरुआत 1930 के दशक में मानवशास्त्र और मनोविज्ञान के क्षेत्रों में हुई थी। क्या आप कल्पना कर सकते हैं कि इसे कैसे उपयोग किया जाएगा?
इसके अलावा, आप इसे खोज परिणामों को समूहित करने के लिए उपयोग कर सकते हैं - जैसे शॉपिंग लिंक, छवियां, या समीक्षाएं। क्लस्टरिंग तब उपयोगी होती है जब आपके पास एक बड़ा डेटा सेट होता है जिसे आप कम करना चाहते हैं और जिस पर आप अधिक गहन विश्लेषण करना चाहते हैं, इसलिए इस तकनीक का उपयोग अन्य मॉडलों के निर्माण से पहले डेटा के बारे में जानने के लिए किया जा सकता है
वैकल्पिक रूप से, आप इसे खोज परिणामों के समूह बनाने के लिए उपयोग कर सकते हैं - जैसे खरीदारी लिंक, छवियाँ, या समीक्षाएँ। क्लस्टरिंग तब उपयोगी होती है जब आपके पास एक बड़ा डेटासेट होता है जिसे आप कम करना चाहते हैं और जिस पर आप अधिक सूक्ष्म विश्लेषण करना चाहते हैं, ताकि इस तकनीक का उपयोग अन्य मॉडलों के निर्माण से पहले डेटा को समझने के लिए किया जा सके
✅ एक बार जब आपका डेटा क्लस्टर्स में व्यवस्थित हो जाता है, तो आप इसे एक क्लस्टर आईडी असाइन करते हैं, और यह तकनीक डेटा सेट की गोपनीयता बनाए रखने में उपयोगी हो सकती है; आप क्लस्टर के अन्य तत्वों के बजाय डेटा पॉइंट को उसकी क्लस्टर आईडी से संदर्भित कर सकते हैं। क्या आप अन्य कारण सोच सकते हैं कि आप क्लस्टर को पहचानने के लिए अन्य तत्वों के बजाय क्लस्टर आईडी का उपयोग क्यों करेंगे?
✅ एक बार जब आपका डेटा क्लस्टरों में व्यवस्थित हो जाता है, तो आप उसे एक क्लस्टर आईडी आवंटित करते हैं, और यह तकनीक किसी डेटासेट की गोपनीयता बनाए रखने में उपयोगी हो सकती है; आप किसी डेटा पॉइंट को उसके अधिक प्रकट पहचान वाले डेटा के बजाय इसके क्लस्टर आईडी द्वारा संदर्भित कर सकते हैं। क्या आप अन्य कारण सोच सकते हैं कि क्यों आप क्लस्टर को पहचानने के लिए क्लस्टर आईडी का उपयोग करेंगे बजाय क्लस्टर के अन्य तत्वों के?
क्लस्टरिंग तकनीकों की अपनी समझ को इस [लर्न मॉड्यूल](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott) में गहराई से बढ़ाएं।
क्लस्टरिंग तकनीकों की गहरी समझ के लिए इस [Learn module](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://datascience.stackexchange.com/questions/52260/terminology-flat-geometry-in-the-context-of-clustering)
> 🎓 ['गैर-समतल' बनाम 'समतल' ज्यामिति](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) एक वक्र के along मापी जाती है। यदि आपका डेटा, प्रदर्शित होते हुए, ऐसा लग रहा है कि वह समतल पर मौजूद नहीं है, तो आपको इसे संभालने के लिए एक विशेष एल्गोरिदम का उपयोग करना पड़ सकता है।
>
![फ्लैट बनाम गैर-फ्लैट ज्यामिति इन्फोग्राफिक](../../../../5-Clustering/1-Visualize/images/flat-nonflat.png)
> इन्फोग्राफिक [दसानी मदीपल्ली](https://twitter.com/dasani_decoded) द्वारा
![Flat vs Nonflat Geometry Infographic](../../../../translated_images/hi/flat-nonflat.d1c8c6e2a96110c1.webp)
> इन्फोग्राफिक: [दसानी मदिपल्ली](https://twitter.com/dasani_decoded)
>
> 🎓 ['दूरी'](https://web.stanford.edu/class/cs345a/slides/12-clustering.pdf)
>
> क्लस्टर्स को उनकी दूरी मैट्रिक्स द्वारा परिभाषित किया जाता है, जैसे बिंदुओं के बीच की दूरी। इस दूरी को कुछ तरीकों से मापा जा सकता है। यूक्लिडियन क्लस्टर्स को बिंदु मानों के औसत द्वारा परिभाषित किया जाता है, और इसमें एक 'सेंट्रॉइड' या केंद्र बिंदु होता है। दूरी को उस सेंट्रॉइड से दूरी के रूप में मापा जाता है। गैर-यूक्लिडियन दूरी 'क्लस्ट्रॉइड्स' को संदर्भित करती है, जो अन्य बिंदुओं के सबसे करीब बिंदु होता है। क्लस्ट्रॉइड्स को विभिन्न तरीकों से परिभाषित किया जा सकता है।
> क्लस्टर उनके दूरी मैट्रिक्स द्वारा परिभाषित होते हैं, यानी बिन्दुओं के बीच की दूरी से। इस दूरी को कुछ तरीकों से मापा जा सकता है। यूक्लिडियन क्लस्टर बिंदु मान का औसत द्वारा परिभाषित होते हैं, और इनमें एक 'सेंट्रोइड' या केंद्र बिंदु होता है। दूरी को उस सेंट्रोइड तक की दूरी से मापा जाता है। गैर-यूक्लिडियन दूरियां 'क्लस्ट्रॉइड्स' को संदर्भित करती है, जो अन्य बिंदुओं के सबसे निकटतम होते हैं। क्लस्ट्रॉइड्स को विभिन्न तरीकों से परिभाषित किया जा सकता है।
>
> 🎓 ['बाधित'](https://wikipedia.org/wiki/Constrained_clustering)
> 🎓 ['प्रतिबंधित'](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 का एग्लोमरेटिव क्लस्टरिंग हायरार्किकल है।
- **हाइरार्किकल क्लस्टरिंग**। अगर एक वस्तु को उसके निकटतम वस्तु की निकटता के आधार पर वर्गीकृत किया जाता है, जो दूर की वस्तु से नहीं है, तो क्लस्टर उनके सदस्यों की दूरी के आधार पर बनाए जाते हैं। Scikit-learn का एग्लोमेरटिव क्लस्टरिंग हाइरार्किकल है।
![हायरार्किकल क्लस्टरिंग इन्फोग्राफिक](../../../../5-Clustering/1-Visualize/images/hierarchical.png)
> इन्फोग्राफिक [दसानी मदीपल्ली](https://twitter.com/dasani_decoded) द्वारा
![Hierarchical clustering Infographic](../../../../translated_images/hi/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/hi/centroid.097fde836cf6c918.webp)
> इन्फोग्राफिक: [दसानी मदिपल्ली](https://twitter.com/dasani_decoded)
- **डिस्ट्रिब्यूशन-आधारित क्लस्टरिंग**। सांख्यिकीय मॉडलिंग पर आधारित, डिस्ट्रिब्यूशन-आधारित क्लस्टरिंग इस बात पर केंद्रित है कि डेटा बिंदु के किसी क्लस्टर से संबंधित होने की संभावना क्या है, और इसे तदनुसार असाइन करता है। गॉसियन मिश्रण विधियां इस प्रकार की हैं।
- **वितरण-आधारित क्लस्टरिंग**। सांख्यिकीय मॉडलिंग पर आधारित, वितरण-आधारित क्लस्टरिंग उस संभावना को निर्धारित करने पर केंद्रित है कि एक डेटा बिंदु किस क्लस्टर से संबंधित है, और उसे उसी अनुसार आवंटित करता है। गौसियन मिश्रण विधियाँ इस प्रकार की क्लस्टरिंग में आती हैं।
- **डेंसिटी-आधारित क्लस्टरिंग**। डेटा बिंदुओं को उनके घनत्व, या उनके एक-दूसरे के चारों ओर समूहित होने के आधार पर क्लस्टर्स में असाइन किया जाता है। समूह से दूर डेटा बिंदुओं को आउटलेयर या शोर माना जाता है। DBSCAN, मीन-शिफ्ट और 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,23 +120,23 @@
df.head()
```
डेटा की पहली कुछ पंक्तियों की जांच करें:
डेटा की पहली कुछ पंक्तियाँ देखें:
| | नाम | एल्बम | कलाकार | कलाकार का शीर्ष शैली | रिलीज़ तिथि | लंबाई | लोकप्रियता | नृत्य क्षमता | ध्वनिकता | ऊर्जा | वाद्य यंत्रता | जीवंतता | ध्वनि तीव्रता | भाषण क्षमता | टेम्पो | समय हस्ताक्षर |
| --- | ------------------------ | ---------------------------- | ------------------- | -------------------- | ------------ | ------ | ---------- | ------------ | -------- | ------ | -------------- | -------- | ------------ | ----------- | ------- | -------------- |
| 0 | Sparky | Mandy & The Jungle | Cruel Santino | वैकल्पिक आर&बी | 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) | अफ्रोपॉप | 2020 | 89488 | 30 | 0.71 | 0.0822 | 0.683 | 0
| 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 |
| | नाम | एल्बम | कलाकार | कलाकार_शीर्ष_शैली | रिलीज़_तारीख | लंबाई | लोकप्रियता | नृत्ययोग्यता | ध्वनिकता | ऊर्जा | वाद्य | जीवंतता | ध्वनि स्तर | भाषणता | टेम्पो | समय_संकेतांक |
| --- | --------------------------- | ----------------------------- | ------------------- | ----------------- | ------------ | ------- | ----------- | ------------ | ------------ | -------- | --------- | --------- | --------- | -------- | --------------- |
| 0 | Sparky | Mandy & The Jungle | Cruel Santino | वैकल्पिक 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) | अफ्रोपॉप | 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. डेटा फ्रेम के बारे में कुछ जानकारी प्राप्त करें, `info()` कॉल करके:
```python
df.info()
```
आउटपुट इस प्रकार दिखेगा:
आउटपुट इस प्रकार दिखता है:
```output
<class 'pandas.core.frame.DataFrame'>
@ -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' हो सकती है, जो उन गानों को दिखाती है जिनका कोई रैंकिंग नहीं है। चलिए इसे जल्द ही हटा देते हैं।
डेटा के सामान्य मानों को देखें। ध्यान दें कि लोकप्रियता '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/hi/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/hi/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/hi/correlation.a9356bb798f5eea5.webp)
केवल मजबूत सहसंबंध `energy` और `loudness` के बीच है, जो बहुत आश्चर्यजनक नहीं है, क्योंकि तेज संगीत आमतौर पर काफी ऊर्जावान होता है। अन्यथा, सहसंबंध अपेक्षाकृत कमजोर हैं। यह देखना दिलचस्प होगा कि क्लस्टरिंग एल्गोरिदम इस डेटा से क्या बना सकता है।
केवल मजबूत सहसंबंध `energy` और `loudness` के बीच है, जो हैरानी की बात नहीं है, क्योंकि तेज संगीत आमतौर पर काफी ऊर्जा से भरा होता है। अन्यथा, सहसंबंध अपेक्षाकृत कमजोर हैं। यह देखना रोचक होगा कि क्लस्टरिंग एल्गोरिदम इस डेटा से क्या निष्कर्ष निकालता है।
> 🎓 ध्यान दें कि सहसंबंध का मतलब कारण नहीं होता! हमारे पास सहसंबंध का प्रमाण है लेकिन कारण का कोई प्रमाण नहीं है। एक [मजेदार वेबसाइट](https://tylervigen.com/spurious-correlations) कुछ विज़ुअल्स दिखाती है जो इस बिंदु को उजागर करती हैं
> 🎓 ध्यान दें कि सहसंबंध कारणवाद का प्रमाण नहीं है! हमारे पास सहसंबंध का प्रमाण है लेकिन कारणवाद का नहीं। एक [मनोरंजक वेबसाइट](https://tylervigen.com/spurious-correlations) कुछ दृश्य प्रस्तुत करती है जो इस बात पर जोर देती है
क्या इस डेटा सेट में गाने की लोकप्रियता और नृत्य क्षमता के आसपास कोई अभिसरण है? एक FacetGrid दिखाता है कि कुछ केंद्रित वृत्त हैं जो शैली की परवाह किए बिना लाइन अप करते हैं। क्या यह हो सकता है कि नाइजीरियन स्वाद इस शैली के लिए एक निश्चित स्तर की नृत्य क्षमता पर अभिसरण करता है?
क्या इस डेटासेट में गीत की स्वीकृत लोकप्रियता और नृत्य क्षमता के इर्द-गिर्द कोई संगम है? एक FacetGrid दिखाता है कि एक genre की परवाह किए बिना केंद्रीय वृत्त बन गए हैं। क्या हो सकता है कि नाइजीरियाई स्वाद इस शैली के लिए एक निश्चित स्तर की नृत्य क्षमता पर संगम करते हों?
✅ विभिन्न डेटा पॉइंट्स (energy, loudness, speechiness) और अधिक या अलग-अलग संगीत शैलियों को आज़माएं। आप क्या खोज सकते हैं? `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 (Kernel Density Estimate) ग्राफ का उपयोग किया गया है जो डेटा को एक निरंतर संभाव्यता घनत्व वक्र के रूप में प्रतिनिधित्व करता है। यह हमें कई वितरणों के साथ काम करते समय डेटा की व्याख्या करने की अनुमति देता है।
सामान्य तौर पर, तीन शैलियां लोकप्रियता और नृत्य क्षमता के मामले में ढीले ढंग से संरेखित होती हैं। इस ढीले ढंग से संरेखित डेटा में क्लस्टर निर्धारित करना एक चुनौती होगी:
आम तौर पर, तीनों शैलियां अपनी लोकप्रियता और नृत्य क्षमता के संदर्भ में ढीले तौर पर संरेखित होती हैं। इस ढीले संरेखित डेटा में क्लस्टर निर्धारित करना एक चुनौती होगी:
![वितरण](../../../../5-Clustering/1-Visualize/images/distribution.png)
![distribution](../../../../translated_images/hi/distribution.9be11df42356ca95.webp)
1. एक स्कैटर प्लॉट बनाएं:
@ -308,31 +308,33 @@
.add_legend()
```
समान अक्षों का एक स्कैटरप्लॉट अभिसरण का एक समान पैटर्न दिखाता है
समान अक्षों का स्कैटरप्लॉट एक समान संगम पैटर्न दिखाता है
![Facetgrid](../../../../5-Clustering/1-Visualize/images/facetgrid.png)
![Facetgrid](../../../../translated_images/hi/facetgrid.9b2e65ce707eba1f.webp)
क्लस्टरिंग के लिए, आप डेटा के क्लस्टर दिखाने के लिए स्कैटरप्लॉट का उपयोग कर सकते हैं, इसलिए इस प्रकार की विज़ुअलाइज़ेशन में महारत हासिल करना बहुत उपयोगी है। अगले पाठ में, हम इस फ़िल्टर किए गए डेटा को लेंगे और k-means क्लस्टरिंग का उपयोग करके इस डेटा में समूहों की खोज करेंगे जो दिलचस्प तरीकों से ओवरलैप करते हैं।
आमतौर पर, क्लस्टरिंग के लिए, आप डेटा के क्लस्टर दिखाने के लिए स्कैटरप्लॉट्स का उपयोग कर सकते हैं, इसलिए इस प्रकार के विज़ुअलाइज़ेशन में निपुण होना बहुत उपयोगी है। अगली कक्षा में, हम इस फ़िल्टर किए गए डेटा का उपयोग k-means क्लस्टरिंग करके इन डेटा समूहों की खोज करेंगे जो दिलचस्प तरीके से ओवरलैप लगते हैं।
---
## 🚀चुनौती
अगले पाठ की तैयारी में, उन विभिन्न क्लस्टरिंग एल्गोरिदम के बारे में एक चार्ट बनाएं जिन्हें आप उत्पादन वातावरण में खोज सकते हैं और उपयोग कर सकते हैं। क्लस्टरिंग किस प्रकार की समस्याओं को हल करने की कोशिश कर रही है?
अगली कक्षा की तैयारी के लिए, उन विभिन्न क्लस्टरिंग एल्गोरिदम के बारे में एक चार्ट बनाएं जिन्हें आप उत्पादन वातावरण में खोज सकते हैं और उपयोग कर सकते हैं। क्लस्टरिंग किस प्रकार की समस्याओं को सुलझाने की कोशिश कर रही है?
## [ाठ के बाद क्विज़](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)
[क्लस्टरिंग के लिए अन्य विज़ुअलाइज़ेशन शोधें](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-06T09:34:38+00:00",
"original_hash": "3a6394c6f5ce3f8aee8211e92eaf9ef0",
"translation_date": "2026-05-26T21:51:23+00:00",
"source_file": "1-Introduction/1-intro-to-ML/README.md",
"language_code": "ja"
},
@ -240,8 +240,8 @@
"language_code": "ja"
},
"5-Clustering/1-Visualize/README.md": {
"original_hash": "730225ea274c9174fe688b21d421539d",
"translation_date": "2025-09-06T09:30:23+00:00",
"original_hash": "08b00d9fbffc667a7fe7fc19ac00dfbd",
"translation_date": "2026-05-26T21:50:50+00:00",
"source_file": "5-Clustering/1-Visualize/README.md",
"language_code": "ja"
},

@ -1,143 +1,148 @@
# 機械学習入門
# 機械学習入門
## [講義前のクイズ](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 "初心者向け機械学習 - 機械学習の入門")
[![初心者向けML - 初心者のための機械学習入門](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "初心者向けML - 初心者のための機械学習入門")
> 🎥 上の画像をクリックすると、このレッスンの短い動画を見ることができます
> 🎥 上の画像をクリックして、このレッスンを解説する短いビデオをご覧ください
初心者向けの古典的な機械学習コースへようこそ!このトピックが初めての方も、機械学習の経験者で特定の分野を復習したい方も、歓迎します!このコースは、機械学習の学習を始めるための親しみやすい出発点を提供することを目指しています。ぜひ、[フィードバック](https://github.com/microsoft/ML-For-Beginners/discussions)をお寄せください。評価し、対応し、そして反映させていきます。
初心者のための古典的機械学習のコースへようこそこのトピックが初めての方も、経験豊富なML実務者で特定の分野を復習したい方も、参加していただけて嬉しいです私たちはあなたのML学習のためのフレンドリーな出発点を作りたいと考えており、あなたの[フィードバック](https://github.com/microsoft/ML-For-Beginners/discussions)を評価、応答し、取り入れていきたいと思っています。
[![機械学習の紹介](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "機械学習の紹介")
[![ML入門](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "ML入門")
> 🎥 上の画像をクリックすると、MITのJohn Guttagによる機械学習の紹介動画を見ることができます。
> 🎥 上の画像をクリックして、MITのジョン・ガッタグによる機械学習の紹介ビデオをご覧ください
---
## 機械学習の始め方
このカリキュラムを始める前に、ノートブックをローカルで実行できるようにコンピュータを設定しておく必要があります。
このカリキュラムを始める前に、ノートブックをローカルで実行できるようにコンピュータのセットアップが必要です。
- **これらの動画でマシンを設定する**。以下のリンクを使用して、[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)というMLライブラリに慣れ親しんでください。
- <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を学ぶ**。このコースでウェブアプリ構築時に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を調べる**。このレッスンで参照するMLライブラリ群[Scikit-learn](https://scikit-learn.org/stable/user_guide.html)に慣れておいてください。
---
## 機械学習とは?
「機械学習」という言葉は、今日最も人気があり頻繁に使用される用語の一つです。技術に少しでも触れたことがあるなら、どの分野で働いていてもこの言葉を一度は聞いたことがある可能性が高いです。しかし、機械学習の仕組みは多くの人にとって謎のままです。機械学習初心者にとって、このテーマは時に圧倒的に感じられることがあります。そのため、機械学習が実際に何であるかを理解し、実践的な例を通じて段階的に学ぶことが重要です。
「機械学習」という言葉は今最も人気があり、頻繁に使われる用語の1つです。技術に少しでも馴染みがあるなら、この言葉を少なくとも一度は耳にしたことがある可能性が非常に高いです。しかし、機械学習の仕組みは多くの人にとって謎です。初心者にとっては時に圧倒的に感じることもあります。だからこそ、機械学習とは何かを理解し、実践的な例を通じて少しずつ学ぶことが重要です。
---
## 流行の曲線
## 流行の
![ml hype curve](../../../../1-Introduction/1-intro-to-ML/images/hype.png)
![ml hype curve](../../../../translated_images/ja/hype.07183d711a17aafe.webp)
> Googleトレンドが示す「機械学習」という言葉の最近の流行曲線
> 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は、特定のアルゴリズムを使用して認識されたデータから有意義な情報を見つけ出し、隠れたパターンを発見して合理的な意思決定プロセスを裏付けることに関心を持っています**。
用語は混同されがちですが、機械学習(ML)は人工知能の重要なサブセットです。**MLは専門的なアルゴリズムを使い、認識したデータから意味のある情報を発見し、隠れたパターンを見つけて合理的な意思決定プロセスを裏付けることに関係しています。**
---
## AI、ML、ディープラーニング
## AI、ML、深層学習
![AI, ML, deep learning, data science](../../../../1-Introduction/1-intro-to-ML/images/ai-ml-ds.png)
![AI, ML, deep learning, data science](../../../../translated_images/ja/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という、多くの学生が基本を学ぶために使う優れたライブラリを使い、「古典的機械学習」と呼ばれるものをカバーします。人工知能や深層学習のより広範な概念を理解するには、機械学習の強固な基礎知識が不可欠であり、ここで提供したいと思います。
---
## このコースで学ぶこと
## このコースで学べること:
- 機械学習の基本概念
- 機械学習の歴史
- 機械学習と公平性
- 回帰の機械学習技術
- 分類の機械学習技術
- クラスタリングの機械学習技術
- 自然言語処理の機械学習技術
- 時系列予測の機械学習技術
- 機械学習のコア概念
- MLの歴史
- MLと公平性
- 回帰ML技術
- 分類ML技術
- クラスタリングML技術
- 自然言語処理ML技術
- 時系列予測ML技術
- 強化学習
- 機械学習の実世界での応用
- MLの実世界アプリケーション
---
## このコースで扱わないこと
## 扱わない内容
- ディープラーニング
- 深層学習
- ニューラルネットワーク
- AI
より良い学習体験を提供するために、ニューラルネットワークや「ディープラーニング」ニューラルネットワークを使用した多層モデル構築の複雑さ、そしてAIについては別のカリキュラムで扱います。また、データサイエンスに焦点を当てたカリキュラムも提供予定です。
より良い学習体験のために、ニューラルネットワーク、多層モデル構築の「深層学習」、AIの複雑さを避けます。これらは別のカリキュラムで扱います。また、データサイエンスに特化した次のカリキュラムも提供予定です。
---
## なぜ機械学習を学ぶのか?
システムの観点から見ると、機械学習はデータから隠れたパターンを学び、知的な意思決定を支援する自動化システムの構築と定義されます。
機械学習はシステムの観点で、データから隠れたパターンを学習し、知的な意思決定を支援する自動化システムの構築と定義されます。
この動機は、人間の脳が外界から認識したデータに基づいて特定のことを学ぶ方法に緩やかに触発されています。
この動機付けは、人間の脳が外部世界から認識したデータに基づき特定のことを学習する方法にゆるやかにインスパイアされています。
✅ ビジネスがハードコードされたルールベースのエンジンを作成する代わりに、機械学習戦略を使用しようとする理由を少し考えてみてください。
✅ 企業がハードコードされたルールベースのエンジンを作る代わりに、なぜ機械学習戦略を使いたいと思うのか、一瞬考えてみてください。
---
## なぜデータ品質が重要か
高品質なデータはモデルの性能を向上させます。質の低いノイズの多いデータは、先進的な機械学習アルゴリズムを使っても誤った予測をもたらす可能性があります。
---
## 機械学習の応用
機械学習の応用は現在ほぼ至る所にあり、スマートフォン、接続されたデバイス、その他のシステムによって生成されるデータが社会に流れているのと同じくらい普遍的です。最先端の機械学習アルゴリズムの膨大な可能性を考慮すると、研究者たちは多次元および多分野の実生活の問題を解決する能力を探求しており、非常に良い結果を得ています。
機械学習の応用は、現在ほぼあらゆるところに存在し、携帯電話、接続されたデバイス、その他のシステムによって社会中で生成されるデータと同じくらい普及しています。最先端の機械学習アルゴリズムの巨大な可能性を考慮し、研究者たちは多次元かつ多分野にわたる現実世界の問題を大きな成果で解決する能力を探っています。
---
## 機械学習の応用
## 実用MLの
**機械学習は多くの方法で使用できます**
<strong>機械学習は多くの方法で使えます</strong>
- 患者の病歴や報告書から病気の可能性を予測する
- 天気データを活用して気象イベントを予測する
- テキストの感情を理解する。
- 偽ニュースを検出してプロパガンダの拡散を防ぐ
- 患者の医療履歴や報告から病気の可能性を予測するため
- 天候データを利用して気象イベントを予測するため
- テキストの感情を理解するため
- フェイクニュースを検出してプロパガンダの拡散を止めるため
金融、経済、地球科学、宇宙探査、生体工学、認知科学、さらには人文学の分野でも、機械学習はその分野の困難なデータ処理問題を解決するために適応されています。
金融、経済学、地球科学、宇宙探査、生物医学工学、認知科学、さらには人文科学の分野でも、機械学習を活用し、その分野の困難でデータ処理が多い問題を解決しています。
---
## 結論
機械学習は、実世界や生成されたデータから有意義な洞察を見つけ出すことでパターン発見プロセスを自動化します。ビジネス、健康、金融などの分野で非常に価値があることが証明されています。
機械学習は現実世界または生成されたデータから意味のある洞察を見つけ出すことでパターン発見プロセスを自動化します。ビジネス、健康、金融の応用などで非常に価値が証明されています。
近い将来、機械学習の基本を理解することは、どの分野の人々にとっても必須となるでしょう。それは広く採用されているためです
近い将来、広範な普及のため、どの分野の人にとっても機械学習の基本理解は必須となるでしょう
---
# 🚀 チャレンジ
[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/)
---
# 復習自己学習
# 復習自己学習
クラウドで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)を参照してください
MLの基本について学べる[ラーニングパス](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott)もあります
---
# 課題
@ -146,5 +151,7 @@
---
**免責事項**:
この文書は、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)はデータ探索に非常に有用です。ナイジェリアの聴衆が音楽を消費する傾向やパターンの発見に役立つか見てみましょう。
✅ クラスタリングの用途について少し考えてみてください。日常生活では、洗濯物の山を家族の服に仕分けする際にクラスタリングが行われます 🧦👕👖🩲。データサイエンスでは、ユーザーの好みを分析したり、ラベル付けされていないデータセットの特性を特定したりする際にクラスタリングが行われます。クラスタリングは、混沌を整理する助けとなる方法であり、例えば靴下の引き出しのようなものです。
✅ クラスタリングの用途について1分考えてみましょう。実生活では、洗濯物の山があって家族の服を分ける必要があるときにクラスタリングが起きます 🧦👕👖🩲。データ科学では、ユーザーの好みを分析したり、ラベルのないデータセットの特徴を判別したりするときにクラスタリングが使われます。クラスタリングはある意味で混沌を理解する助けとなり、靴下の引き出しの整理のようなものです。
[![機械学習の紹介](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のJohn Guttagがクラスタリングを紹介します。
> 🎥 上記の画像をクリックすると動画が再生されますMITのジョン・ガタッグがクラスタリングを紹介します
プロフェッショナルな環境では、クラスタリングは市場セグメンテーションを決定するために使用されることがあります。例えば、どの年齢層がどの商品を購入するかを特定する場合です。また、不正を検出するために、クレジットカード取引のデータセットから異常を検出するために使用されることもあります。あるいは、医療スキャンのバッチから腫瘍を特定するためにクラスタリングを使用することもできます。
専門的な環境では、市場セグメンテーションの決定、例えばどの年齢層がどの製品を購入するかを明らかにするためにクラスタリングを使うことができます。もう一つの用途は異常検知で、クレジットカード取引のデータセットから不正を検出する場合などです。あるいは医療画像の一括スキャンの中で腫瘍を特定するためにクラスタリングを使うこともあります。
✅ 銀行業務、eコマース、またはビジネス環境で「自然界で」クラスタリングに遭遇したことがあるかどうか少し考えてみてください
✅ 銀行業界、電子商取引、ビジネスの現場でクラスタリングがどのように使われているかについて、1分考えてみましょう
> 🎓 興味深いことに、クラスタリング分析は1930年代に人類学や心理学の分野で始まりました。それがどのように使用されていたか想像できますか?
> 🎓 興味深いことに、クラスタ分析は1930年代に人類学や心理学の分野から始まりました。どのように使われていたか想像できますか?
また、検索結果をグループ化するために使用することもできます。例えば、ショッピングリンク、画像、レビューなどです。クラスタリングは、大規模なデータセットを縮小し、より詳細な分析を行いたい場合に役立ちます。この技術は、他のモデルを構築する前にデータについて学ぶために使用されます。
また、検索結果をショッピングリンク、画像、レビューなどでグループ化するために使うこともできます。クラスタリングは大規模なデータセットを縮約し、より詳細な分析を行いたい場合に便利なため、他のモデルを構築する前にデータについて学ぶための技術として使われます。
✅ データがクラスタに整理されたらクラスタIDを割り当てます。この技術はデータセットのプライバシーを保護する際に役立ちます。より明確な識別可能なデータではなく、クラスタIDでデータポイントを参照することができます。他にクラスタIDを使用してデータを識別する理由を考えられますか
✅ データがクラスタに整理されたらクラスタIDを割り当てます。この技術はデータセットのプライバシー保護に役立つことがあります。個別特定しやすいデータではなくクラスタIDで参照できるからです。クラスタIDを使って他のクラスタの要素ではなく識別する理由を考えてみてください。
クラスタリング技術についての理解を深めるには、この[学習モジュール](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott)を参照してください。
クラスタリング技術の理解を深めるには、この [Learn モジュール](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 | 大規模データセットに外れ値あり、帰納的 |
> 🎓 クラスタの作成方法は、データポイントをどうまとめるかに大きく関係しています。用語を解説しましょう:
>
> 🎓 ['推論的' vs. '帰納的'](https://wikipedia.org/wiki/Transduction_(machine_learning))
> 🎓 ['演繹的'vs. '帰納的'](https://wikipedia.org/wiki/Transduction_(machine_learning))
>
> 推論的推論は、特定のテストケースにマッピングされる観察されたトレーニングケースから導き出されます。帰納的推論は、一般的なルールにマッピングされるトレーニングケースから導き出され、その後テストケースに適用されます。
> 演繹推論は、特定のテストケースに対応する観測された訓練ケースから導出されます。帰納推論は、訓練ケースから一般化された規則を導き、それをテストケースに適用します。
>
> 例:データセットが部分的にラベル付けされていると仮定します。一部は「レコード」、一部は「CD」、一部は空白です。空白にラベルを付けるのがあなたの仕事です。帰納的アプローチを選択した場合、「レコード」と「CD」を探すモデルをトレーニングし、ラベル付けされていないデータにそのラベルを適用します。このアプローチは実際に「カセット」であるものを分類するのに苦労します。一方、推論的アプローチは、似たアイテムをグループ化し、その後グループにラベルを適用することで、この未知のデータをより効果的に処理します。この場合、クラスタは「丸い音楽的なもの」と「四角い音楽的なもの」を反映するかもしれません
> 例:部分的にラベル付きのデータセットがあります。一部は 'records'、一部は 'cds'、そして一部は空白です。空白のラベルを付けるのが仕事です。帰納的手法なら、'records' と 'cds'のラベルの付いたモデルを訓練し、それを未ラベルデータに適用しますが、実際は 'cassettes' であるものを分類するのが難しいです。一方、演繹的手法は不明のデータをより効果的に扱い、似たアイテムをまとめてグループにラベルを付けます。この場合、例えば「丸い楽器」と「四角い楽器」のようなクラスタが形成されます
>
> 🎓 ['非平坦' 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)
>
> 数学的な用語から派生した非平坦 vs. 平坦な幾何学は、クラスタ内のポイント間の距離を「平坦」([ユークリッド](https://wikipedia.org/wiki/Euclidean_geometry))または「非平坦」(非ユークリッド)な幾何学的方法で測定することを指します。
> 数学用語に由来し、非平坦と平坦の幾何学は、点間の距離を平坦な([ユークリッド](https://wikipedia.org/wiki/Euclidean_geometry))か非平坦な(非ユークリッド)幾何学的手法で測る区別です。
>
> '平坦'はユークリッド幾何学その一部は「平面」幾何学として教えられるを指し、非平坦は非ユークリッド幾何学を指します。機械学習と幾何学が何の関係があるのでしょうか数学に根ざした2つの分野として、クラスタ内のポイント間の距離を測定する共通の方法が必要であり、それはデータの性質に応じて「平坦」または「非平坦」な方法で行うことができます。[ユークリッド距離](https://wikipedia.org/wiki/Euclidean_distance)は2点間の線分の長さとして測定されます。[非ユークリッド距離](https://wikipedia.org/wiki/Non-Euclidean_geometry)は曲線に沿って測定されます。データが視覚化され、平面上に存在しないように見える場合、専門的なアルゴリズムを使用する必要があるかもしれません
> ここでの『平坦』はユークリッド幾何学(「平面」幾何学として教えられる部分もある)を指し、『非平坦』は非ユークリッド幾何学を指します。機械学習で幾何学が関係するのは、数学を基盤とする両分野で、クラスタ内の点間距離を共通の方法で測る必要があるためです。距離は『平坦』または『非平坦』で可能です。 [ユークリッド距離](https://wikipedia.org/wiki/Euclidean_distance)は2点間の直線距離、[非ユークリッド距離](https://wikipedia.org/wiki/Non-Euclidean_geometry)は曲線に沿った距離となります。データが平面上にないように見える場合は、特殊なアルゴリズムを使用する必要があります
>
![平坦 vs 非平坦な幾何学インフォグラフィック](../../../../5-Clustering/1-Visualize/images/flat-nonflat.png)
> インフォグラフィック作成[Dasani Madipalli](https://twitter.com/dasani_decoded)
![平坦と非平坦の幾何学インフォグラフィック](../../../../translated_images/ja/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://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/ja/hierarchical.bf59403aa43c8c47.webp)
> インフォグラフィック作成: [Dasani Madipalli](https://twitter.com/dasani_decoded)
- **セントロイドクラスタリング**。この人気のあるアルゴリズムでは、クラスタを形成する数「k」を選択した後、アルゴリズムがクラスタの中心点を決定し、そのポイントの周りにデータを集めます。[K-meansクラスタリング](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/ja/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`パッケージをインポートします。
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,23 +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 | 5 |
| | 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Ø | 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 |
| 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 |
1. データフレームの情報を取得するために、`info()`を呼び出します:
1. `info()` を呼び出してデータフレームの情報を取得します。
```python
df.info()
```
出力は以下のようになります:
結果は以下のようになります:
```output
<class 'pandas.core.frame.DataFrame'>
@ -164,13 +164,13 @@
memory usage: 66.4+ KB
```
1. `isnull()`を呼び出して、欠損値がないことを確認し、合計が0であることを検証します:
1. `isnull()` を使って null 値を二重チェックし、合計が0であることを確認します。
```python
df.isnull().sum()
```
問題なし:
問題ありません:
```output
name 0
@ -192,7 +192,7 @@
dtype: int64
```
1. データを記述します:
1. データを記述します
```python
df.describe()
@ -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」である場合、ランキングがない曲を示しています。これをすぐに削除しましょう。
データの一般的な値を見てみましょう。人気度が '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/ja/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')
```
次にジャンルを再確認します:
ジャンルを再確認します:
![most popular](../../../../5-Clustering/1-Visualize/images/all-genres.png)
![most popular](../../../../translated_images/ja/all-genres.1d56ef06cefbfcd6.webp)
1. このデータセットでは、上位3つのジャンルが圧倒的に多いです。`afro dancehall`、`afropop`、`nigerian pop`に集中し、さらに人気度が0のデータを削除してフィルタリングしますこれはデータセットで人気度が分類されていないことを意味し、目的に対してイズと見なされます:
1. 断然、トップ3のジャンルがこのデータセットの大部分を占めています。`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)
```
![correlations](../../../../5-Clustering/1-Visualize/images/correlation.png)
![correlations](../../../../translated_images/ja/correlation.a9356bb798f5eea5.webp)
`energy`と`loudness`の間に強い相関があることがわかりますが、これは驚くべきことではありません。音量が大きい音楽は通常非常にエネルギッシュです。それ以外の相関は比較的弱いです。このデータでクラスタリングアルゴリズムが何を見つけるか興味深いですね
唯一強い相関は `energy``loudness` の間にあり、音量が大きい音楽は通常エネルギッシュであることを考えれば驚くにはあたりません。それ以外の相関は比較的弱いです。このデータにクラスタリングアルゴリズムを適用するとどのような結果になるか興味深いでしょう
> 🎓 相関は因果関係を意味しないことに注意してください!相関の証拠はありますが、因果関係の証拠はありません。[面白いウェブサイト](https://tylervigen.com/spurious-correlations)では、この点を強調するビジュアルがいくつかあります。
> 🎓 相関は因果関係を示すものではありません!相関の証拠はありますが因果の証拠はありません。 [面白いウェブサイト](https://tylervigen.com/spurious-correlations) にはその点を強調するビジュアルがあります。
このデータセットでは、曲の人気度とダンス性に関して収束が見られるでしょうかFacetGridを使用すると、ジャンルに関係なく同心円が並ぶことがわかります。このジャンルにおいて、ナイジェリアの嗜好が特定のダンス性レベルに収束している可能性はあるでしょうか
このデータセットで楽曲の人気度とダンス適性の間に収束はありますかFacetGrid ではジャンルに関係なく同心円が並んでいる様子が見られます。ナイジェリアの趣味はこのジャンルのダンス適性で一定のレベルに収束しているのかもしれません。
✅ 異なるデータポイントenergy、loudness、speechiness他の音楽ジャンルを試してみてください。何が発見できるでしょうか?`df.describe()`テーブルを見てデータポイントの一般的な分布を確認してください。
✅ 異なるデータポイントenergy、loudness、speechiness異なる音楽ジャンルも試してみてください。何が発見できるでしょうか?一般的なデータの広がりを見るには `df.describe()` テーブルを参照してください。
### 演習 - データ分布
これらの3つのジャンルは、人気度に基づいてダンス性の認識において有意に異なるでしょうか?
これら3つのジャンルは、人気度に基づくダンス適性の認識において有意差がありますか?
1. 上位3つのジャンルの人気度とダンス性のデータ分布を、指定されたx軸とy軸に沿って調べます。
1. 人気度とダンス適性について、3大ジャンルのデータ分布を x軸と y軸に沿って調べてみます。
```python
sns.set_theme(style="ticks")
@ -292,15 +292,15 @@
)
```
一般的な収束点の周りに同心円が見られ、ポイントの分布を示しています。
一般的な収束点のまわりに同心円が見られ、ポイントの分布が示されます。
> 🎓 この例では、複数の分布を扱う際にデータを解釈するための連続的な確率密度曲線を使用するKDEカーネル密度推定グラフを使用しています。
> 🎓 この例は KDEカーネル密度推定グラフを用いており、連続確率密度曲線でデータを表現しています。複数分布を扱うときに役立ちます。
一般的に、これら3つのジャンルは人気度とダンス性に関して緩やかに一致しています。この緩やかに一致したデータでクラスタを決定するのは難しいでしょう:
全体的に、これら3ジャンルは人気度とダンス適性でゆるやかに一致しています。このゆるい一致データでクラスタを判断するのは難題です。
![distribution](../../../../5-Clustering/1-Visualize/images/distribution.png)
![distribution](../../../../translated_images/ja/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/ja/facetgrid.9b2e65ce707eba1f.webp)
一般的に、クラスタリングではデータのクラスタを示すために散布図を使用できます。このタイプの視覚化を習得することは非常に有用です。次のレッスンでは、このフィルタリングされたデータを使用して、k-meansクラスタリングを適用し、興味深い方法で重なるグループを発見します。
一般的に、クラスタリングのために散布図を用いてデータのクラスタを示すことができます。この種の可視化を習得することは非常に有用です。次のレッスンでは、このフィルターされたデータを使い、k-means クラスタリングで興味深い重なりを持つグループを発見します。
---
## 🚀チャレンジ
次のレッスンに向けて、実際の環境で使用する可能性のあるさまざまなクラスタリングアルゴリズムについてのチャートを作成してください。クラスタリングが解決しようとしている問題の種類は何でしょうか?
次のレッスンに向けて、さまざまなクラスタリングアルゴリズムについてのチャートを作成してください。これらのクラスタリングはどのような問題の解決を目指しているでしょうか?
## [講義後クイズ](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)
[クラスタリングの他の可視化方法について調査する](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-05T10:49:01+00:00",
"original_hash": "3a6394c6f5ce3f8aee8211e92eaf9ef0",
"translation_date": "2026-05-26T21:52:51+00:00",
"source_file": "1-Introduction/1-intro-to-ML/README.md",
"language_code": "ko"
},
@ -240,8 +240,8 @@
"language_code": "ko"
},
"5-Clustering/1-Visualize/README.md": {
"original_hash": "730225ea274c9174fe688b21d421539d",
"translation_date": "2025-09-05T10:44:24+00:00",
"original_hash": "08b00d9fbffc667a7fe7fc19ac00dfbd",
"translation_date": "2026-05-26T21:52:24+00:00",
"source_file": "5-Clustering/1-Visualize/README.md",
"language_code": "ko"
},

@ -1,150 +1,157 @@
# 머신 러닝 소개
# 머신러닝 소개
## [강의 전 퀴즈](https://ff-quizzes.netlify.app/en/ml/)
---
[![초보자를 위한 머신 러닝 소개](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "초보자를 위한 머신 러닝 소개")
[![초보자를 위한 머신러닝 소개 - ML for beginners](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "초보자를 위한 머신러닝 소개 - ML for beginners")
> 🎥 위 이미지를 클릭하면 이 강의를 다루는 짧은 영상을 볼 수 있습니다.
> 🎥 위 이미지를 클릭하면 이 수업을 다루는 짧은 영상을 볼 수 있습니다.
초보자를 위한 고전적인 머신 러닝 과정에 오신 것을 환영합니다! 이 주제에 완전히 처음이든, 아니면 특정 영역을 복습하려는 경험 많은 ML 실무자든, 여러분을 환영합니다! 우리는 여러분의 ML 학습을 시작할 수 있는 친근한 출발점을 제공하고자 하며, 여러분의 [피드백](https://github.com/microsoft/ML-For-Beginners/discussions)을 평가하고, 응답하며, 반영할 준비가 되어 있습니다.
초보자를 위한 고전적 머신러닝 강의에 오신 것을 환영합니다! 이 주제가 처음이든 경험 많은 ML 실무자든 이 분야를 복습하고 싶든, 저희와 함께 하게 되어 기쁩니다! 여러분의 ML 학습 출발점을 친근하게 만들고 싶으며, 여러분의 [피드백](https://github.com/microsoft/ML-For-Beginners/discussions)을 평가하고 답변하며 반영하고자 합니다.
[![ML 소개](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "ML 소개")
> 🎥 위 이미지를 클릭하면 MIT의 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)에 대한 기본적인 이해가 필요합니다. 이 과정에서 Python을 사용합니다.
- **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)에 익숙해지세요. 이 과정에서 참조하는 ML 라이브러리입니다.
- **영상들로 기기 설정하기**. 다음 링크에서 [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 익히기**. 이 수업에서 참조하는 ML 라이브러리 모음인 [Scikit-learn](https://scikit-learn.org/stable/user_guide.html)을 익숙하게 사용해 보세요.
---
## 머신 러닝이란?
## 머신러닝이란?
'머신 러닝'이라는 용어는 오늘날 가장 인기 있고 자주 사용되는 용어 중 하나입니다. 기술에 대해 어느 정도 친숙하다면, 여러분이 어떤 분야에서 일하든 이 용어를 적어도 한 번은 들어봤을 가능성이 높습니다. 그러나 머신 러닝의 작동 방식은 대부분의 사람들에게는 미스터리입니다. 머신 러닝 초보자에게는 이 주제가 때로는 압도적으로 느껴질 수 있습니다. 따라서 머신 러닝이 실제로 무엇인지 이해하고, 실용적인 예제를 통해 단계적으로 배우는 것이 중요합니다.
'머신러닝'이라는 용어는 오늘날 가장 인기 있고 빈번히 사용되는 단어 중 하나입니다. 기술에 어느 정도 익숙하다면 어떤 분야에서든 적어도 한 번 이 용어를 들어봤을 가능성이 큽니다. 하지만 머신러닝의 매커니즘은 대부분의 사람에게 미스터리로 남아 있습니다. 초보자에게는 때로 이 주제가 벅찰 수 있습니다. 그러므로 머신러닝이 실제로 무엇인지 이해하고, 실용적인 예제를 통해 단계별로 배우는 것이 중요합니다.
---
## 유행 곡선
## 과대광고 곡선
![ml hype curve](../../../../1-Introduction/1-intro-to-ML/images/hype.png)
![ml hype curve](../../../../translated_images/ko/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)은 인공지능의 중요한 하위 분야입니다. **ML은 인지한 데이터에서 의미 있는 정보를 찾아내고 숨겨진 패턴을 발견하여 합리적 의사결정 과정을 뒷받침하는 데 특화된 알고리즘을 사용하는 것입니다**.
---
## AI, ML, 딥 러닝
## AI, ML, 딥러닝
![AI, ML, deep learning, data science](../../../../1-Introduction/1-intro-to-ML/images/ai-ml-ds.png)
![AI, ML, deep learning, data science](../../../../translated_images/ko/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://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining)을 기반으로 제작
---
## 다룰 개념
이 커리큘럼에서는 초보자가 반드시 알아야 할 머신 러닝의 핵심 개념만 다룰 것입니다. 우리는 주로 학생들이 기본을 배우는 데 사용하는 훌륭한 라이브러리인 Scikit-learn을 사용하여 '고전적인 머신 러닝'을 다룹니다. 인공지능이나 딥 러닝의 더 넓은 개념을 이해하려면 머신 러닝에 대한 강력한 기초 지식이 필수적이며, 이를 여기서 제공하고자 합니다.
이 커리큘럼에서는 초보자가 반드시 알아야 할 머신러닝 핵심 개념만 다룹니다. 주로 많은 학생이 기본 배우기에 적합한 뛰어난 라이브러리인 Scikit-learn을 사용한 '고전 머신러닝'을 다룹니다. 인공지능이나 딥러닝의 폭넓은 개념을 이해하려면 머신러닝의 탄탄한 기초 지식이 필수이므로, 여기에 제공합니다.
---
## 이 과정에서 배우게 될 내용:
## 이 강의에서 배우는 내용:
- 머신 러닝 핵심 개념
- 머신러닝 핵심 개념
- ML의 역사
- ML과 공정성
- 회귀 ML 기법
- 분류 ML 기법
- 군집 ML 기법
- 군집 ML 기법
- 자연어 처리 ML 기법
- 시계열 예측 ML 기법
- 강화 학습
- ML의 실제 응용 사례
- ML의 실세계 응용
---
## 다루지 않을 내용
- 딥 러닝
- 딥러닝
- 신경망
- AI
더 나은 학습 경험을 위해, 신경망을 사용하는 다층 모델링인 '딥 러닝'과 AI의 복잡성을 피할 것입니다. 이러한 주제는 다른 커리큘럼에서 다룰 예정입니다. 또한 데이터 과학에 초점을 맞춘 커리큘럼도 곧 제공할 예정입니다.
더 나은 학습 경험을 위해 신경망, '딥러닝'(신경망을 여러 겹 쌓는 모델 구축), AI의 복잡성은 이 커리큘럼에서 다루지 않습니다. 이 분야에서 데이터 과학에 초점을 맞춘 향후 데이터 과학 커리큘럼도 제공할 예정입니다.
---
## 왜 머신 러닝을 공부해야 할까?
## 왜 머신러닝을 공부해야 하는가?
시스템 관점에서 머신 러닝은 데이터를 통해 숨겨진 패턴을 학습하여 지능적인 결정을 내리는 데 도움을 주는 자동화 시스템을 만드는 것으로 정의됩니다.
시스템 관점에서 머신러닝은 데이터에서 숨겨진 패턴을 학습하여 지능적 의사결정을 돕는 자동화 시스템을 만드는 것이라 정의합니다.
이 동기는 인간의 뇌가 외부 세계에서 인식한 데이터를 기반으로 특정한 것을 학습하는 방식에서 느슨하게 영감을 받았습니다.
이 동기는 인간 두뇌가 외부 세계에서 인지한 데이터를 기반으로 특정 것들을 학습하는 방식을 느슨하게 영감받았습니다.
✅ 비즈니스가 하드코딩된 규칙 기반 엔진 대신 머신 러닝 전략을 사용하려는 이유를 잠시 생각해 보세요.
비즈니스가 하드코딩된 규칙 기반 엔진 대신 머신러닝 전략을 사용하려 할지 잠시 생각해 보세요.
---
## 머신 러닝의 응용
## 데이터 품질이 중요한 이유
머신 러닝의 응용은 이제 거의 모든 곳에 있으며, 스마트폰, 연결된 장치, 기타 시스템에서 생성되는 데이터만큼이나 널리 퍼져 있습니다. 최첨단 머신 러닝 알고리즘의 엄청난 잠재력을 고려할 때, 연구자들은 다차원적이고 다학문적인 실제 문제를 해결하기 위해 그 능력을 탐구하고 있으며, 긍정적인 결과를 얻고 있습니다.
고품질 데이터는 모델 성능을 향상시킵니다. 불량하거나 노이즈가 많은 데이터는 첨단 머신러닝 알고리즘을 사용해도 부정확한 예측을 초래할 수 있습니다.
---
## 적용된 ML의 예
## 머신러닝의 응용
**머신 러닝은 다양한 방식으로 사용할 수 있습니다**:
머신러닝 응용은 이제 거의 모든 곳에 있으며, 스마트폰, 연결된 기기, 기타 시스템에서 생성되는 데이터만큼이나 편재합니다. 최신 머신러닝 알고리즘의 방대한 가능성을 감안해, 연구자들은 다차원적이고 다학문적 실제 문제들을 긍정적 결과와 함께 해결할 수 있는 능력을 탐구하고 있습니다.
- 환자의 병력이나 보고서를 바탕으로 질병 가능성을 예측합니다.
- 날씨 데이터를 활용하여 기상 현상을 예측합니다.
- 텍스트의 감정을 이해합니다.
- 가짜 뉴스를 감지하여 선전의 확산을 막습니다.
---
## 실제 ML 사례
**머신러닝은 다양한 방식으로 활용할 수 있습니다**:
- 환자의 병력이나 검사 결과를 바탕으로 질병 가능성을 예측
- 날씨 데이터를 활용해 기상 이벤트 예측
- 텍스트의 감성 분석
- 가짜 뉴스 탐지 및 선전 확산 방지
금융, 경제학, 지구과학, 우주 탐사, 생물의학 공학, 인지 과학, 심지어 인문학 분야에서도 머신 러닝을 채택하여 해당 분야의 어려운 데이터 처리 문제를 해결하고 있습니다.
금융, 경제, 지구과학, 우주 탐사, 생물의공학, 인지과학, 인문학까지도 머신러닝을 도입해 방대한 데이터 처리 문제를 해결하고 있습니다.
---
## 결론
머신 러닝은 실제 데이터 또는 생성된 데이터에서 의미 있는 통찰력을 발견하여 패턴 발견 과정을 자동화합니다. 비즈니스, 건강, 금융 응용 분야 등에서 매우 가치가 있음을 입증했습니다.
머신러닝은 실제 세계 또는 생성된 데이터에서 의미 있는 통찰을 찾아 패턴 발견 과정을 자동화합니다. 이는 비즈니스, 건강, 금융 분야 등에서 매우 가치 있음을 입증했습니다.
지않아 머신 러닝의 기본을 이해하는 것이 모든 분야의 사람들에게 필수적인 요소가 될 것입니다. 이는 머신 러닝의 광범위한 채택 때문입니다.
신러닝 기초 이해는 앞으로 모든 분야 사람에게 필수 사항이 될 것입니다, 그만큼 광범위하게 채택되고 있습니다.
---
# 🚀 도전 과제
[Excalidraw](https://excalidraw.com/)와 같은 온라인 앱이나 종이를 사용하여 AI, ML, 딥 러닝, 데이터 과학의 차이에 대한 여러분의 이해를 스케치하세요. 각 기술이 해결하기에 적합한 문제에 대한 아이디어를 추가하세요.
종이나 [Excalidraw](https://excalidraw.com/) 같은 온라인 앱을 이용해 AI, ML, 딥러닝, 데이터 과학의 차이점을 본인의 이해대로 그려보세요. 각 기술이 잘 해결하는 문제에 대한 아이디어도 추가하세요.
# [강의 후 퀴즈](https://ff-quizzes.netlify.app/en/ml/)
---
# 복습 및 자기 학습
# 복습 및 자기 주도 학습
클라우드에서 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)를 따라가세요.
ML의 기본에 대한 [학습 경로](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott)를 확인하세요.
ML 기초를 학습하려면 [학습 경로](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,115 @@
# 클러스터링 소개
클러스터링은 데이터셋이 라벨이 없거나 입력값이 미리 정의된 출력값과 매칭되지 않는다고 가정하는 [비지도 학습](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년에 발표한 높은 평가를 받은 곡입니다.
> 🎥 위 이미지를 클릭하면 동영상을 볼 수 있습니다. 클러스터링으로 머신러닝을 공부하면서 나이지리아 댄스홀 트랙을 즐겨보세요 - 이 곡은 2014년 PSquare의 매우 인기 있는 노래입니다.
## [강의 전 퀴즈](https://ff-quizzes.netlify.app/en/ml/)
### 소개
[클러스터링](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124)은 데이터 탐색에 매우 유용합니다. 나이지리아 청중들이 음악을 소비하는 방식에서 트렌드와 패턴을 발견할 수 있는지 살펴봅시다.
[클러스터링](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124)은 데이터 탐색에 매우 유용합니다. 나이지리아 관객이 음악을 소비하는 방식을 통해 트렌드와 패턴을 발견할 수 있는지 살펴보겠습니다.
✅ 클러스터링의 활용 사례에 대해 잠시 생각해 보세요. 현실에서 클러스터링은 빨래 더미를 가족 구성원의 옷으로 분류해야 할 때마다 발생합니다 🧦👕👖🩲. 데이터 과학에서는 사용자의 선호도를 분석하거나 라벨이 없는 데이터셋의 특성을 결정하려고 할 때 클러스터링이 발생합니다. 클러스터링은 일종의 혼란 속에서 질서를 찾는 데 도움을 줍니다. 마치 양말 서랍을 정리하는 것처럼요.
✅ 클러스터링의 용도에 대해 1분 정도 생각해 보세요. 실제 생활에서는 빨래 더미를 가족 구성원의 옷으로 분류해야 할 때 클러스터링이 발생합니다 🧦👕👖🩲. 데이터 과학에서는 사용자의 선호도를 분석하거나 라벨이 없는 데이터 세트의 특성을 파악할 때 클러스터링이 사용됩니다. 클러스터링은 소음이 많은 양말 서랍처럼 혼란을 이해하는 데 도움을 줍니다.
[![ML 소개](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의 John Guttag 클러스터링을 소개합니다.
> 🎥 위 이미지를 클릭하면 영상을 볼 수 있습니다: MIT의 John Guttag 클러스터링을 소개합니다.
전문적인 환경에서 클러스터링은 시장 세분화, 예를 들어 어떤 연령대가 어떤 상품을 구매하는지 결정하는 데 사용될 수 있습니다. 또 다른 활용 사례로는 신용카드 거래 데이터셋에서 사기를 감지하는 이상 탐지가 있을 수 있습니다. 또는 의료 스캔 데이터에서 종양을 식별하는 데 클러스터링을 사용할 수도 있습니다.
전문적인 환경에서 클러스터링은 시장 세분화, 예를 들면 어떤 연령대가 어떤 아이템을 구매하는지 결정하는 데 사용할 수 있습니다. 또 다른 용도는 이상 탐지로, 신용카드 거래 데이터에서 사기를 탐지하는 경우가 있습니다. 또는 의료 스캔 배치에서 종양을 판단하는 데 클러스터링을 사용할 수 있습니다.
✅ 은행, 전자상거래, 또는 비즈니스 환경에서 클러스터링을 '자연스럽게' 접한 경험이 있는지 생각해 보세요.
✅ 은행, 전자상거래 또는 비즈니스 환경에서 클러스터링을 '현실에서' 접한 적이 있는지 1분 정도 생각해 보세요.
> 🎓 흥미롭게도, 클러스터 분석은 1930년대 인류학과 심리학 분야에서 시작되었습니다. 당시에는 어떻게 사용되었을지 상상해 보세요.
> 🎓 흥미롭게도 클러스터 분석은 1930년대 인류학과 심리학 분야에서 시작되었습니다. 어떻게 사용되었을지 상상해 보세요.
한 클러스터링은 검색 결과를 그룹화하는 데 사용할 수 있습니다. 예를 들어 쇼핑 링크, 이미지, 리뷰 등을 그룹화하는 방식입니다. 클러스터링은 대규모 데이터셋을 줄이고 더 세부적인 분석을 수행하려는 경우에 유용하며, 다른 모델을 구축하기 전에 데이터를 학습하는 데 사용할 수 있습니다.
는 검색 결과를 쇼핑 링크, 이미지, 리뷰별로 그룹화하는 데 사용할 수도 있습니다. 클러스터링은 큰 데이터 세트를 줄이고 더 세밀한 분석을 수행하기 원하는 경우에 유용하므로, 다른 모델을 구축하기 전에 데이터에 대해 배우는 데 사용할 수 있습니다.
✅ 데이터가 클러스터로 정리되면 클러스터 ID를 할당할 수 있습니다. 이 기술은 데이터셋의 프라이버시를 보호하는 데 유용할 수 있습니다. 클러스터의 다른 식별 가능한 데이터 대신 클러스터 ID로 데이터 포인트를 참조할 수 있습니다. 클러스터 ID를 다른 요소 대신 사용하는 이유를 생각해 보세요.
클러스터링 기술에 대한 이해를 심화하려면 이 [학습 모듈](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott)을 확인하세요.
✅ 데이터가 클러스터로 정리되면 클러스터 ID를 할당하며, 이 방법은 데이터 세트의 프라이버시를 유지하는 데 유용할 수 있습니다. 데이터 포인트를 더 노출되는 식별 가능한 데이터 대신 클러스터 ID로 참조할 수 있습니다. 클러스터의 다른 요소 대신 클러스터 ID로 식별하는 다른 이유가 있을까요?
이 [학습 모듈](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 | 큰 데이터 세트 및 이상치, 귀납적 |
> 🎓 클러스터를 만드는 방법은 데이터를 어떻게 그룹으로 모으느냐와 밀접한 관련이 있습니다. 몇 가지 용어를 살펴봅시다:
>
> 🎓 ['전이적' 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)
>
> 수학 용어에서 파생된 비평면 vs. 평면 기하학은 클러스터 내 점들 간의 거리를 측정하는 방법을 나타냅니다. 이는 '평면'([유클리드](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)는 곡선을 따라 측정합니다. 시각화된 데이터가 평면 위에 존재하지 않는 것처럼 보이면 이를 처리할 특별한 알고리즘이 필요할 수 있습니다.
>
![평면 vs 비평면 기하학 인포그래픽](../../../../5-Clustering/1-Visualize/images/flat-nonflat.png)
![평면 대 비평면 형상 인포그래픽](../../../../translated_images/ko/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)은 이 비지도 방식에 반지도 학습을 도입합니다. 점들 간 관계가 '연결 금지(cannot link)' 또는 '반드시 연결(must-link)'로 지정되어 데이터 세트에 규칙이 적용됩니다.
>
>예: 알고리즘이 라벨이 없거나 부분적으로 라벨이 지정된 데이터 배치에서 자유롭게 작동하도록 설정되면 생성된 클러스터의 품질이 낮을 수 있습니다. 위의 예에서 클러스터는 '둥근 음악 물건', '네모난 음악 물건', '삼각형 물건', '쿠키'를 그룹화할 수 있습니다. 일부 제약 조건, 즉 따라야 할 규칙("항목은 플라스틱으로 만들어져야 한다", "항목은 음악을 재생할 수 있어야 한다")이 주어지면 알고리즘이 더 나은 선택을 할 수 있도록 도와줍니다.
> : 알고리즘이 라벨이 없거나 부분적으로 라벨링된 데이터에 적용될 때 생성된 클러스터 품질이 낮을 수 있습니다. 앞 예시에서 클러스터가 '둥근 음악 물건', '네모난 음악 물건', '삼각형 물건', '쿠키'로 나뉠 수 있습니다. "이 항목은 플라스틱 재질이어야 한다", "음악을 낼 수 있어야 한다" 등의 제약이 주어진다면 알고리즘이 더 나은 선택을 하도록 '제약'할 수 있습니다.
>
> 🎓 '밀도'
>
> '노이즈'가 많은 데이터는 '밀도가 높다'고 간주됩니다. 각 클러스터 내 점들 간의 거리는 더 밀도가 높거나 낮은 것으로 나타날 수 있으며, 따라서 이러한 데이터는 적절한 클러스터링 방법으로 분석해야 합니다. [이 기사](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-평균 클러스터링과 HDBSCAN을 각각 적용했을 때 차이를 보여줍니다.
## 클러스터링 알고리즘
100개 이상의 클러스터링 알고리즘이 있으며, 사용 여부는 데이터의 특성에 따라 달라집니다. 주요 알고리즘 몇 가지를 살펴봅시다:
100개가 넘는 클러스터링 알고리즘이 있으며, 사용은 데이터 특성에 따라 달라집니다. 주요 알고리즘 몇 가지를 살펴보겠습니다:
- **계층적 클러스터링**. 객체가 멀리 떨어진 객체보다 가까운 객체와의 근접성에 따라 분류되는 경우, 클러스터는 다른 객체와의 거리로 형성됩니다. Scikit-learn의 병합 클러스터링은 계층적입니다.
- **계층적 클러스터링**. 객체가 먼 객체가 아니라 근처 객체와의 근접도에 따라 분류되며, 구성원과 다른 객체 간 거리 기준으로 클러스터가 형성됩니다. Scikit-learn의 응집형 클러스터링이 계층적입니다.
![계층적 클러스터링 인포그래픽](../../../../5-Clustering/1-Visualize/images/hierarchical.png)
![계층적 클러스터링 인포그래픽](../../../../translated_images/ko/hierarchical.bf59403aa43c8c47.webp)
> 인포그래픽 제공: [Dasani Madipalli](https://twitter.com/dasani_decoded)
- **중심점 클러스터링**. 이 인기 있는 알고리즘은 'k', 즉 형성할 클러스터 수를 선택한 후, 알고리즘이 클러스터의 중심점을 결정하고 해당 점 주위에 데이터를 모읍니다. [K-평균 클러스터링](https://wikipedia.org/wiki/K-means_clustering)은 중심점 클러스터링의 인기 있는 버전입니다. 중심은 가장 가까운 평균에 의해 결정되며, 따라서 이름이 붙여졌습니다. 클러스터에서의 제곱 거리가 최소화됩니다.
- **센트로이드 클러스터링**. 인기 있는 이 알고리즘은 클러스터 수 'k'를 선택한 후 클러스터 중심점을 결정하며 주변 데이터를 모읍니다. [K-평균 클러스터링](https://wikipedia.org/wiki/K-means_clustering)은 인기 있는 센트로이드 클러스터링의 한 버전입니다. 중심점은 가장 가까운 평균으로 결정되어 명칭이 붙었습니다. 클러스터로부터의 제곱 거리 합을 최소화합니다.
![중심점 클러스터링 인포그래픽](../../../../5-Clustering/1-Visualize/images/centroid.png)
![센트로이드 클러스터링 인포그래픽](../../../../translated_images/ko/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) 파일을 엽니다.
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,23 +119,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 | 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 |
| 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 |
1. 데이터프레임에 대한 정보를 얻으려면 `info()`를 호출하세요:
1. 데이터프레임에 대한 정보를 얻기 위해 `info()`를 호출하세요:
```python
df.info()
```
출력 다음과 같습니다:
출력결과는 다음과 같습니다:
```output
<class 'pandas.core.frame.DataFrame'>
@ -164,13 +163,13 @@
memory usage: 66.4+ KB
```
1. `isnull()`을 호출하고 합계가 0인지 확인하여 null 값을 다시 확인하세요:
1. `isnull()`을 호출하고 합계가 0인지 확인하여 널 값이 있는지 다시 확인하세요:
```python
df.isnull().sum()
```
잘 작동합니다:
이상 없습니다:
```output
name 0
@ -192,7 +191,7 @@
dtype: int64
```
1. 데이터를 설명하세요:
1. 데이터를 설명합니다:
```python
df.describe()
@ -209,11 +208,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'일 수 있다는 점에 주목하세요. 이는 순위가 없는 곡을 나타냅니다. 곧 이를 제거해 보겠습니다.
데이터의 일반적인 값을 살펴보세요. 인기(popularity)가 '0'인 경우가 있는데, 이는 순위가 없는 노래임을 뜻합니다. 곧 이 값을 제거할 것입니다.
1. 바 플롯을 사용하여 가장 인기 있는 장르를 찾아보세요:
1. 가장 인기 있는 장르를 알아내기 위해 막대 그래프를 사용하세요:
```python
import seaborn as sns
@ -225,11 +224,11 @@
plt.title('Top genres',color = 'blue')
```
![most popular](../../../../5-Clustering/1-Visualize/images/popular.png)
![most popular](../../../../translated_images/ko/popular.9c48d84b3386705f.webp)
✅ 더 많은 상위 값을 보고 싶다면, 상위 `[:5]`를 더 큰 값으로 변경하거나 제거하여 모두 확인하세요.
✅ 더 많은 상위 값을 보고 싶으면 상위 `[:5]`를 더 큰 값으로 변경하거나 제거하여 모두 볼 수 있습니다.
참고로, 상위 장르가 'Missing'으로 표시되면 Spotify에서 이를 분류하지 않았다는 의미입니다. 이를 제거해 보겠습니다.
참고로, 상위 장르가 'Missing'으로 표시된다면 Spotify가 분류하지 않은 경우이므로, 이 항목은 제거합시다.
1. 누락된 데이터를 필터링하여 제거하세요:
@ -244,9 +243,9 @@
이제 장르를 다시 확인하세요:
![most popular](../../../../5-Clustering/1-Visualize/images/all-genres.png)
![most popular](../../../../translated_images/ko/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 +257,7 @@
plt.title('Top genres',color = 'blue')
```
1. 데이터가 특별히 강하게 상관관계가 있는지 빠르게 테스트하세요:
1. 데이터가 특별히 강한 상관관계를 보이는지 빠르게 테스트하세요:
```python
corrmat = df.corr(numeric_only=True)
@ -266,21 +265,21 @@
sns.heatmap(corrmat, vmax=.8, square=True)
```
![correlations](../../../../5-Clustering/1-Visualize/images/correlation.png)
![correlations](../../../../translated_images/ko/correlation.a9356bb798f5eea5.webp)
`energy``loudness` 사이에만 강한 상관관계가 있습니다. 이는 시끄러운 음악이 일반적으로 매우 에너지가 넘친다는 점에서 놀랍지 않습니다. 그 외에는 상관관계가 비교적 약합니다. 이 데이터에서 클러스터링 알고리즘이 무엇을 발견할 수 있을지 흥미로울 것입니다.
`energy``loudness` 사이에만 강한 상관관계가 있습니다. 이는 시끄러운 음악이 보통 에너지가 넘친다는 것을 고려하면 놀랍지 않습니다. 그 외 상관관계는 상대적으로 약합니다. 이 데이터를 군집화 알고리즘이 어떻게 해석할지 흥미롭습니다.
> 🎓 상관관계가 인과관계를 의미하지 않는다는 점을 기억하세요! 우리는 상관관계의 증거는 있지만 인과관계의 증거는 없습니다. [재미있는 웹사이트](https://tylervigen.com/spurious-correlations)는 이 점을 강조하는 시각 자료를 제공합니다.
> 🎓 상관관계가 인과관계를 의미하지는 않는다는 점에 유의하세요! 상관관계는 증명되었지만 인과관계는 증명되지 않았습니다. [재미있는 웹사이트](https://tylervigen.com/spurious-correlations)는 이 점을 강조하는 시각 자료를 제공합니다.
이 데이터셋에서 곡의 인기도와 춤추기 쉬움(danceability)에 대한 인식이 수렴하는 경향이 있나요? FacetGrid를 보면 장르에 상관없이 동심원이 나타나는 것을 확인할 수 있습니다. 나이지리아의 취향이 이 장르에서 특정 수준의 춤추기 쉬움에 수렴하는 것일까요?
이 데이터셋에서 노래의 인지도(popularity)와 댄서빌리티(danceability)가 어떤 수렴을 보일까요? FacetGrid는 장르에 상관없이 동심원형이 정렬된 모습을 보여줍니다. 나이지리아 취향이 이 장르에서 특정 댄서빌리티 수준에 수렴할 수도 있을까요?
✅ 다 데이터 포인트(energy, loudness, speechiness)와 더 많은 또는 다른 음악 장르를 시도해 보세요. 무엇을 발견할 수 있나요? `df.describe()` 테이블을 살펴보고 데이터 포인트의 일반적인 분포를 확인하세요.
✅ 다양한 데이터 포인트(energy, loudness, speechiness)와 더 많은 또는 다른 음악 장르를 시도해 보세요. 어떤 점을 발견할 수 있나요? `df.describe()` 표를 참고하여 데이터 포인트의 전반적인 분포를 확인하세요.
### 연습 - 데이터 분포
이 세 장르가 인기도에 따른 춤추기 쉬움의 인식에서 유의미하게 다른가요?
이 세 장르는 인지도에 기반하여 댄서빌리티 인식에서 통계적으로 유의한 차이가 있나요?
1. 상위 세 장르의 데이터 분포를 주어진 x축과 y축에 따라 인기도와 춤추기 쉬움에 대해 조사하세요.
1. 상위 세 장르별 인지도와 댄서빌리티 데이터 분포를 지정된 x, y 축에 따라 조사하세요.
```python
sns.set_theme(style="ticks")
@ -292,15 +291,15 @@
)
```
동심원이 일반적인 수렴점을 중심으로 나타나는 것을 발견할 수 있습니다. 이는 데이터 포인트의 분포를 보여줍니다.
일반적인 수렴 지점 주위에 동심원을 발견할 수 있습니다. 이는 점들의 분포를 보여줍니다.
> 🎓 이 예제는 연속적인 확률 밀도 곡선을 사용하여 데이터를 나타내는 KDE(커널 밀도 추정) 그래프를 사용합니다. 이는 여러 분포를 다룰 때 데이터를 해석할 수 있게 해줍니다.
> 🎓 이 예제는 커널 밀도 추정(Kernel Density Estimate, KDE) 그래프를 사용합니다. 이는 연속 확률 밀도 곡선을 통해 데이터를 나타내며 여러 분포 다룰 때 데이터를 해석하는 데 도움 됩니다.
일반적으로 세 장르는 인기도와 춤추기 쉬움 측면에서 느슨하게 정렬됩니다. 이 느슨하게 정렬된 데이터에서 클러스터를 결정하는 것은 도전 과제가 될 것입니다:
전반적으로 세 장르는 인지도와 댄서빌리티 면에서 느슨하게 정렬되어 있습니다. 이 느슨하게 정렬된 데이터에서 군집을 결정하는 것은 도전 과제가 될 것입니다:
![distribution](../../../../5-Clustering/1-Visualize/images/distribution.png)
![distribution](../../../../translated_images/ko/distribution.9be11df42356ca95.webp)
1. 산점도를 생성하세요:
1. 산점도를 만드세요:
```python
sns.FacetGrid(df, hue="artist_top_genre", height=5) \
@ -308,31 +307,33 @@
.add_legend()
```
동일한 축의 산점도는 유사한 수렴 패턴을 보여줍니다.
동일 축을 가진 산점도는 비슷한 수렴 양상을 보여줍니다.
![Facetgrid](../../../../5-Clustering/1-Visualize/images/facetgrid.png)
![Facetgrid](../../../../translated_images/ko/facetgrid.9b2e65ce707eba1f.webp)
일반적으로 클러스터링을 위해 산점도를 사용하여 데이터 클러스터를 보여줄 수 있으므로, 이러한 시각화 유형을 숙달하는 것이 매우 유용합니다. 다음 강의에서는 이 필터링된 데이터를 사용하여 k-means 클러스터링을 통해 흥미로운 방식으로 겹치는 그룹을 발견해 보겠습니다.
일반적으로, 군집화를 위해 산점도를 사용하여 데이터 군집을 시각화할 수 있으니, 이러한 유형의 시각화 숙달이 매우 유용합니다. 다음 강의에서는 이 필터링된 데이터를 사용해 k-평균 군집화를 적용하고, 흥미로운 방식으로 겹치는 데이터 그룹을 발견할 것입니다.
---
## 🚀도전 과제
다음 강의를 준비하며, 프로덕션 환경에서 발견하고 사용할 수 있는 다양한 클러스터링 알고리즘에 대한 차트를 만들어 보세요. 클러스터링이 해결하려는 문제는 무엇인가요?
다음 강의를 준비하며, 생산 환경에서 사용할 수 있는 다양한 군집화 알고리즘에 대해 차트를 만들어 보세요. 군집화가 해결하려는 문제 유형은 무엇인가요?
## [강의 후 퀴즈](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