# ಕ್ಲಸ್ಟರಿಂಗ್ ಗೆ ಪರಿಚಯ ಕ್ಲಸ್ಟರಿಂಗ್ ಎಂದರೆ ಒಂದು ರೀತಿಯ [ಅನಿಯಂತ್ರಿತ ಅಧ್ಯಯನ](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") > 🎥 ಮೇಲಿನ ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ ವೀಡಿಯೊ ನೋಡಿರಿ. ನೀವು ಕ್ಲಸ್ಟರಿಂಗ್ೊಂದಿಗೆ ಯಂತ್ರ ಅಧ್ಯಯನವನ್ನು ಅಧ್ಯಯನ ಮಾಡುವಾಗ, ನೈಜೀರಿಯನ್ ಡ್ಯಾನ್ಸ್ ಹಾಲ್ ಹಾಡುಗಳನ್ನು ಆನಂದಿಸಿ - ಇದು 2014ರ PSquare ಅವರ ಅತ್ಯುತ್ತಮ ಹಾಡಾಗಿದೆ. ## [ಪೂರ್ವ ಉಪನ್ಯಾಸ ಕ್ವಿಜ್](https://ff-quizzes.netlify.app/en/ml/) ### ಪರಿಚಯ [ಕ್ಲಸ್ಟರಿಂಗ್](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) ಡೇಟಾ ಅನ್ವೇಷಣೆಗೆ ಬಹಳ ಉಪಯುಕ್ತವಾಗಿದೆ. ನೈಜೀರಿಯನ್ ಪ್ರೇಕ್ಷಕರು ಸಂಗೀತವನ್ನು ಹೇಗೆ ಉಪಯೋಗಿಸುತ್ತಾರೆ ಎಂಬುದರಲ್ಲ,trend ಮತ್ತು patternಗಳ ಪತ್ತೆಗೆ ಇದು ಸಹಾಯಕವಾಗುತ್ತದೆಯೇ ನೋಡೋಣ. ✅ ಕ್ಲಸ್ಟರಿಂಗ್ ಬಳಕೆಯನ್ನು ಪರಿಗಣಿಸಲು ನಿಮಿಷಕಾಲ ಕಾಲಕಾಲಿಕವಾಗಿರಿ. ನಿಜಜೀವನದಲ್ಲಿ, ಕ್ಲಸ್ಟರಿಂಗ್ ಎಂದರೆ ನೀವು ಧೋಬಿಹುಟ್ಟಿಗೆ ಹೊಂದಿರುವ ಬಟ್ಟೆಗಳನು ವಿಭಜಿಸುವಂತಹುದು 🧦👕👖🩲. ಡೇಟಾ ವಿಜ್ಞಾನದಲ್ಲಿ, ಕ್ಲಸ್ಟರಿಂಗ್ ಬಳಕೆದಾರನ ಆದ್ಯತೆಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುವಾಗ ಅಥವಾ ಯಾವುದೇ ಲೇಬಲ್ ಮಾಡದ ಡೇಟಾಸೆಟ್ ಲಕ್ಷಣಗಳನ್ನು ನಿರ್ಧರಿಸುವಾಗ ಸಂಭವಿಸುತ್ತದೆ. ಕ್ಲಸ್ಟರಿಂಗ್ ಒಂದು ರೀತಿಯಲ್ಲಿ ಗದ್ದಲವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ, ಬಟ್ಟೆಗಳ ಬಾಕ್ಸಿನಂತೆ. [![ML ಪರಿಚಯ](https://img.youtube.com/vi/esmzYhuFnds/0.jpg)](https://youtu.be/esmzYhuFnds "ಕ್ಲಸ್ಟರಿಂಗ್ ಗೆ ಪರಿಚಯ") > 🎥 ಮೇಲಿನ ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ ವೀಡಿಯೊ ನೋಡಿರಿ: MIT ನ ಜಾನ್ ಗಟ್ಯಾಗ್ ಕ್ಲಸ್ಟರಿಂಗ್ ಪರಿಚಯಿಸುತ್ತಾರೆ. ವೃತ್ತಿಪರ ಪರಿಸರದಲ್ಲಿ, ಕ್ಲಸ್ಟರಿಂಗ್ ಅನ್ನು ಮಾರುಕಟ್ಟೆ ವಿಭಾಗವನ್ನಿರಿಸು, ಯಾವ ವಯಸ್ಸಿನ ಗುಂಪುಗಳು ಯಾವ ವಸ್ತುಗಳನ್ನು ಖರೀದಿಸುತ್ತಾರೋ ಎಂದರೆ ನಿರ್ಧರಿಸಲು ಬಳಸಬಹುದು. ಇನ್ನೊಂದು ಬಳಕೆ ಅನೋಮಲಿ ಪತ್ತೆ, ಉದಾಹರಣೆಗೆ ಕ್ರೆಡಿಟ್ ಕಾರ್ಡ್ ವ್ಯವಹಾರಗಳ ಡೇಟಾದಿಂದ ಮೋಸವನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಬಳಸಬಹುದು. ಅಥವಾ ವೈದ್ಯಕೀಯ ಸ್ಕ್ಯಾನ್ಗಳ ಬ್ಯಾಚ್‌ನಲ್ಲಿ ಟ್ಯೂಮರ್ ಗಳು ಎನ್ನುವುದು ಕಂಡುಹಿಡಿಯಬಹುದು. ✅ ನೀವು ಬ್ಯಾಂಕಿಂಗ್, ಇ-ಕಾಮರ್ಸ್ ಅಥವಾ ವ್ಯವಹಾರದಲ್ಲಿ ಕ್ಲಸ್ಟರಿಂಗ್ ಅನ್ನು "ವೈಲ್ಡ್" ನಲ್ಲಿ ಹೇಗೆ ಭೇಟಿಯಾಗಿರಬಹುದು ಎಂಬುದನ್ನು ನಿಮಿಷಕಾಲ ಯೋಚಿಸಿ. > 🎓 ಕುತೂಹಲಕರವಾಗಿದೆಯೇ, ಕ್ಲಸ್ಟರ್ ವಿಶ್ಲೇಷಣೆ ಮಾನವಶಾಸ್ತ್ರ ಮತ್ತು ಮನೋವಿಜ್ಞಾನ ಕ್ಷೇತ್ರಗಳಿಂದ 1930 ರಲ್ಲಿ ಹುಟ್ಟಿ ಬಂದಿದೆ. ನೀವು ಅದನ್ನು ಹೇಗೆ ಬಳಸಲಾಗಿದೆ ಎಂದು ಊಹಿಸಲು ಸಾಧ್ಯವಿದೆಯೇ? ಅಥವಾ, ನೀವು ಸೆರ್ಚ್ ಫಲಿತಾಂಶಗಳನ್ನು ಗುಂಪುಮಾಡಲು ಬಳಸಬಹುದು - ಉದಾಹರಣೆಗೆ ಶಾಪಿಂಗ್ ಲಿಂಕ್‌ಗಳು, ಚಿತ್ರಗಳು ಅಥವಾ ವಿಮರ್ಶೆಗಳಿಗೆ. ಕ್ಲಸ್ಟರಿಂಗ್ ದೊಡ್ಡ ಡೇಟಾಸೆಟ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಮತ್ತು ಅದರಲ್ಲಿ ಹೆಚ್ಚು ತಳಮಳವಾದ ವಿಶ್ಲೇಷಣೆ ಮಾಡಲು ಉಪಯುಕ್ತವಾಗುತ್ತದೆ, त्यामुळे ಈ ತಂತ್ರವನ್ನು ಉಪಯೋಗಿಸಿ ಇನ್ನಷ್ಟು ಮಾದರಿಗಳನ್ನು ರಚಿಸುವ ಮೊದಲು ಡೇಟಾವನ್ನು ತಿಳಿದುಕೊಳ್ಳಬಹುದು. ✅ ನೀವು ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಗುಂಪುಗಳಲ್ಲಿ ಆಯೋಜಿಸಿದ ನಂತರ ಅದಕ್ಕೆ ಕ್ಲಸ್ಟರ್ ಐಡಿ ನೀಡುತ್ತೀರಿ ಮತ್ತು ಡೇಟಾಸೆಟ್ ಗೌಪ್ಯತೆಯನ್ನು ಕಾಯ್ದುಕೊಳ್ಳಲು ಈ ತಂತ್ರ ಉಪಯುಕ್ತವಾಗಬಹುದು; ನೀವು ಒಂದು ಡೇಟಾ ಪಾಯಿಂಟ್ನ ಬದಲು ಅದರ ಕ್ಲಸ್ಟರ್ ಐಡಿ ಮೂಲಕ ಉಲ್ಲೇಖಿಸಬಹುದು. ನೀವು ಮತ್ತೇ ಕಾರಣಗಳನ್ನು ಯೋಚಿಸಬಹುದೆ, ಯಾಕೆ ನೀವು ಕ್ಲಸ್ಟರ್ ಐಡಿಗೆ ಬದಲು ಕ್ಲಸ್ಟರ್‌ನ ಇತರ ಅಂಶಗಳ ಮೂಲಕ ಅದನ್ನು ಗುರುತಿಸುವುದಿಲ್ಲ? ಈ [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 ಬೆಂಬಲಿಸುವ ವಿಧಾನಗಳ ಸರಳಪಡಿಸಿದ ಪಟ್ಟಿ ಮತ್ತು ಅವುಗಳಿಗೆ ಸೂಕ್ತವಾದ ಬಳಕೆ ಪ್ರಕರಣಗಳು: | ವಿಧಾನ ಹೆಸರು | ಬಳಕೆ ಪ್ರಕರಣ | | :------------------------- | :------------------------------------------------------------------------- | | K-Means | ಸಾಮಾನ್ಯ ಉದ್ದೇಶ, ಇಂಡಕ್ಷನಿವ | | ಅಫಿನಿಟಿ ಪ್ರೊಪಾಗೇಶನ್ | ಅನೇಕ, ಅಸಮಾನ ಕ್ಲಸ್ಟರ್ಗಳು, ಇಂಡಕ್ಷನಿವ | | ಮೀನ್-ಶಿಫ್ಟ್ | ಅನೇಕ, ಅಸಮಾನ ಕ್ಲಸ್ಟರ್ಗಳು, ಇಂಡಕ್ಷನಿವ | | ಸ್ಪೆಕ್ಟ್ರಲ್ ಕ್ಲಸ್ಟರಿಂಗ್ | ಕೆಲವು, ಸಮಾನ ಕ್ಲಸ್ಟರ್ಗಳು, ಟ್ರಾನ್ಸ್‌ಡಕ್ಟಿವ್ | | ವಾರ್ಡ್ ಹೈಯರಾರ್ಕಿಕಲ್ ಕ್ಲಸ್ಟರಿಂಗ್ | ಅನೇಕ, ನಿಯಂತ್ರಿತ ಕ್ಲಸ್ಟರ್ಗಳು, ಟ್ರಾನ್ಸ್‌ಡಕ್ಟಿವ್ | | ಅಗ್ಗ್ಲೊಮೆರೇಟಿವ್ ಕ್ಲಸ್ಟರಿಂಗ್ | ಅನೇಕ, ನಿಯಂತ್ರಿತ, ನಾನ್-ಯೂಕ್ಲಿಡಿಯನ್ ದೂರಗಳು, ಟ್ರಾನ್ಸ್‌ಡಕ್ಟಿವ್ | | DBSCAN | ನಾನ್-ಫ್ಲಾಟ್ ಜಿಯೋಮೆಟ್ರಿ, ಅಸಮಾನ ಕ್ಲಸ್ಟರ್ಗಳು, ಟ್ರಾನ್ಸ್‌ಡಕ್ಟಿವ್ | | OPTICS | ನಾನ್-ಫ್ಲಾಟ್ ಜಿಯೋಮೆಟ್ರಿ, ಅಸಮಾನ ಮತ್ತು ಬೌತರ ಅಂಪಣದ ಕ್ಲಸ್ಟರ್ಗಳು, ಟ್ರಾನ್ಸ್‌ಡಕ್ಟಿವ್ | | ಗಾಸಿಯನ್ ಮಿಕ್ಚರ್ಸ್ | ಫ್ಲಾಟ್ ಜಿಯೋಮೆಟ್ರಿ, ಇಂಡಕ್ಷನಿವ | | BIRCH | ದೊಡ್ಡ ಡೇಟಾಸೆಟ್ ಮತ್ತು ಔಟ್‌ಲಿಯರ್ಸ್, ಇಂಡಕ್ಷನಿವ | > 🎓 ನಾವು ಕ್ಲಸ್ಟರ್ಗಳನ್ನು ರಚಿಸುವ ವಿಧಾನವು ಡೇಟಾ ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಗುಂಪುಗಳಾಗಿ ಸಂಗ್ರಹಿಸುವ ರೀತಿಯೊಂದಿಗೆ ಬಲವಾಗಿ ಸಂಬಂಧಿಸಿದೆ. ಕೆಲವು ಶಬ್ದಾವಳಿಯನ್ನು ತೆರೆಯೋಣ: > > 🎓 ['ಟ್ರಾನ್ಸ್‌ಡಕ್ಟಿವ್' ಮತ್ತು 'ಇಂಡಕ್ಷನಿವ್'](https://wikipedia.org/wiki/Transduction_(machine_learning)) > > ಟ್ರಾನ್ಸ್‌ಡಕ್ಟಿವ್ ಅನುಮಾನವು ನಿರೀಕ್ಷಿತ ತರಬೇತಿ ಪ್ರಕರಣಗಳಿಂದ ಸಂಧಿಷ್ಟ ಪರೀಕ್ಷಾ ಪ್ರಕರಣಗಳಿಗೆ ನಕ್ಷೆ ಮಾಡುತ್ತದೆ. ಎಂಡ್‌ಥಿಕೆಯನ್ನು ಇಂದಕ್ಷನಿವ್ ಅನುಮಾನವನ್ನು ಹೊಂದಿಸುತ್ತದೆ ಮತ್ತು ಈ ತರಬೇತಿ ಪ್ರಕರಣಗಳು ಸಾಮಾನ್ಯ ನಿಯಮಗಳಿಗೆ ನಕ್ಷೆ ಮಾಡುತ್ತವೆ, ಇದು ನಂತರ ಪರೀಕ್ಷಾ ಪ್ರಕರಣಗಳಿಗೆ ಅನ್ವಯಿಸುವುದು. > > ಒಂದು ಉದಾಹರಣೆ: ನೀವು ಯಾವಾಗಲೋ ಭಾಗಶಃ ಲೇಬಲಿಸಲಾದ ಡೇಟಾಸೆಟ್ ಹೊಂದಿದ್ದೀರೋ ಎಂದು ಊಹಿಸಿ. ಕೆಲವು ಐಟಂಗಳು 'ರೆಕಾರ್ಡ್‌ಗಳು', ಕೆಲವು 'CDಗಳು' ಮತ್ತು ಕೆಲವು ಖಾಲಿ. ನಿಮ್ಮ ಕೆಲಸ ಖಾಲಿ ಇರುವವುಗಳಿಗೆ ಲೇಬಲ್ ನೀಡುವುದು. ನೀವು ಇಂದಕ್ಷನಿವ್ ವಿಧಾನವನ್ನು ಆರಿಸಿಕೊಂಡರೆ, ಆಗ ನೀವು 'ರೆಕಾರ್ಡ್‌ಗಳು' ಮತ್ತು 'CDಗಳು'ಗಾಗಿ ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡಿ ಲೇಬಲಗಳನ್ನು ಲೇಬಲ್ ಮಾಡದ ಡೇಟಾದ ಮೇಲೆ ಅನ್ವಯಿಸಲು ಪ್ರಯತ್ನಮಾಡುತ್ತೀರಿ. ಈ ವಿಧಾನ 'ಕ್ಯಾಸೆಟ್‌ಗಳು' ಇರುವ ಅಂಶಗಳನ್ನು ಸರಿಯಾಗಿ ವರ್ಗೀಕರಿಸಲು ಕಷ್ಟಪಡುತ್ತದೆ. ಇತರಬಾಗಿಲು, ಟನ್‌ಡಕ್ಟಿವ್ ವಿಧಾನವು ಅಸ್ಪಷ್ಟ ಡೇಟಾವನ್ನು ಸಮಾನ ಅಂಶಗಳನ್ನು ಗುಂಪು ಮಾಡುತ್ತದೆ ಮತ್ತು ನಂತರ ಗುಂಪಿಗೆ ಲೇಬಲ್ ಅನ್ವಯಿಸುತ್ತದೆ. ಈ ಘಟನೆಯಲ್ಲಿ, ಗುಂಪುಗಳು 'ಒತ್ತುಗಾಲಿನ ಸಂಗೀತ ವಸ್ತುಗಳು' ಮತ್ತು 'ಚೌಕಾಕಾರದ ಸಂಗೀತ ವಸ್ತುಗಳು' ಎಂದು ಪ್ರತಿಬಿಂಬಿಸುತ್ತವೆ. > > 🎓 ['ನಾನ್-ಫ್ಲಾಟ್' ಮತ್ತು 'ಫ್ಲಾಟ್' ಜಿಯೋಮೆಟ್ರಿ](https://datascience.stackexchange.com/questions/52260/terminology-flat-geometry-in-the-context-of-clustering) > > ಗಣಿತೀಯ ಪದಬಳಕೆಯಿಂದ, ನಾನ್-ಫ್ಲಾಟ್ ಮತ್ತು ಫ್ಲಾಟ್ ಜಿಯೋಮೆಟ್ರಿ ಅಂದರೆ ಪಾಯಿಂಟ್‌ಗಳ ನಡುವಿನ ದೂರವನ್ನು 'ಫ್ಲಾಟ್' ([ಯೂಕ್ಲಿಡಿಯನ್](https://wikipedia.org/wiki/Euclidean_geometry)) ಅಥವಾ 'ನಾನ್-ಫ್ಲಾಟ್' (ನಾನ್ ಯೂಕ್ಲಿಡಿಯನ್) ಜಿಯೋಮೆಟ್ರಿಕ್ ವಿಧಾನದ ಮೂಲಕ ಅಳೆಯುವುದು. > > 'ಫ್ಲಾಟ್' ಎಂಬುದರಿಂದ ಇಲ್ಲಿ ಯೂಕ್ಲಿಡಿಯನ್ ಜಿಯೋಮೆಟ್ರಿ ಮೀಕಕ್ಕೊಂಡಿದೆ (ಇದರ ಕೆಲವು ಭಾಗಗಳು 'ಪ್ಲೇನ್' ಜಿಯೋಮೆಟ್ರಿಯಾಗಿ ಕಲಿಕೆಯಾಗುತ್ತವೆ) ಮತ್ತು ನಾನ್-ಫ್ಲಾಟ್ ಎಂದರೆ ನಾನ್ ಯೂಕ್ಲಿಡಿಯನ್ ಜಿಯೋಮೆಟ್ರಿ. ಯಂತ್ರ ಅಧ್ಯಯನಕ್ಕೆ ಜಿಯೋಮೆಟ್ರಿ ಏಕೆ ಮುಖ್ಯ? ಎರಡೂ ಕ್ಷೇತ್ರಗಳು ಗಣಿತದಿಂದ ಹುಟ್ಟಿವೆ, ಆದ್ದರಿಂದ ಗುಂಪುಗಳ ಅಂತರಗಳನ್ನು ಅಳೆಯುವ ಒಂದು ಸಾಮಾನ್ಯ ವಿಧಾನ ಇರಬೇಕು, ಅದು ಡೇಟಾ ಸ್ವಭಾವದ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುವ 'ಫ್ಲಾಟ್' ಅಥವಾ 'ನಾನ್-ಫ್ಲಾಟ್' ವಿಧಗಳಾಗಿರಬಹುದು. [ಯೂಕ್ಲಿಡಿಯನ್ ಅಂತರಗಳು](https://wikipedia.org/wiki/Euclidean_distance) ಎರಡು ಪಾಯಿಂಟ್‌ಗಳ ನಡುವಿನ ರೇಖಾ ಭಾಗದ ಉದ್ದವಾಗಿ ಅಳೆಯಲ್ಪಡುತ್ತವೆ. [ನಾನ್-ಯೂಕ್ಲಿಡಿಯನ್ ಅಂತರಗಳು](https://wikipedia.org/wiki/Non-Euclidean_geometry) ಒಂದು ವಕ್ರರೇಖೆಯ ಮೇಲೆ ಅಳೆಯಲ್ಪಡುವುದು. ನಿಮ್ಮ ಡೇಟಾ, ದೃಶ್ಯರೂಪವಾಗಿ, ಸಮತಲ ಮೇಲ್ಮೈನಲ್ಲಿ ಇರದಂತಿದ್ದರೆ ವಿಶೇಷ ಆಲ್ಗೊರಿದಮ್ ಬಳಕೆ ಮಾಡಬೇಕು. > ![ಫ್ಲಾಟ್ ವಿರುದ್ಧ ನಾನ್‌ಫ್ಲಾಟ್ ಜಿಯೋಮೆಟ್ರಿ ಇನ್ಫೋಗ್ರಾಫಿಕ್](../../../../translated_images/kn/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://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) ಇದು 'ಅರ್ಧ-ಮೇಲ್ವಿಚಾರಿತ' ಅಧ್ಯಯನವನ್ನು ಈ ಅನಿಯಂತ್ರಿತ ವಿಧಾನಕ್ಕೆ ಪರಿಚಯಿಸುತ್ತದೆ. ಪಾಯಿಂಟ್‌ಗಳ ನಡುವಿನ ಸಂಬಂಧಗಳನ್ನು 'ಕನೆಕ್ಟ್ ಆಗಲ್ಲ' ಅಥವಾ 'ಮಸ್ಟ್-ಲಿಂಕ್' ಎಂದು ಗುರುತಿಸಿ ಡೇಟಾಸೆಟ್‌ಗೆ ಕೆಲವು ನಿಯಮಗಳನ್ನು ಜಾರಿಗೊಳಿಸಲಾಗುತ್ತದೆ. > > ಒಂದು ಉದಾಹರಣೆ : ಒಂದು ಆಲ್ಗೊರಿದಂ ಕಡಲಲ್ಲಿ ಮುಕ್ತವಾಗಿ ಬಿಟ್ಟರೆ, ಅದು ಉಳೆತರಿಕೆ ಗುಂಪುಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ, ಮತ್ತು ಗುಂಪುಗಳು ಕಡಿಮೆ ಗುಣಮಟ್ಟದವಾಗಬಹುದು. ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ ಗುಂಪುಗಳು 'ಒತ್ತುಗಾಲಿನ ಸಂಗೀತ ವಸ್ತುಗಳು', 'ಚೌಕಾಕಾರದ ಸಂಗೀತ ವಸ್ತುಗಳು', 'ತ್ರಿಕೋನಾಕಾರದ ವಸ್ತುಗಳು' ಮತ್ತು 'ಬಿಸ್ಕಟ್ಟಿ' ಗಳಾಗಿ ವಿಭಾಗಗೊಳ್ಳಬಹುದು. ಕೆಲವು ನಿಯಮಗಳು ("ಐಟಂ ಪ್ಲಾಸ್ಟಿಕ್‌ನಿಂದ ಮಾಡಬೇಕು", "ಐಟಂ ಸಂಗೀತವನ್ನು ಉತ್ಪಾದಿಸಬಲ್ಲದು") ಇದ್ದರೆ ಆಲ್ಗೊರಿದಂ ಉತ್ತಮ ಆಯ್ಕೆಗಳನ್ನು ಮಾಡುತ್ತದೆ. > > 🎓 ‘ಗಟ್ಟಿತನ’ > > ‘ಶಬ್ದಯುತ’ (ನೋಯ್ಸಿ) ಡೇಟಾವನ್ನು ‘dense’ ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. ಅದರಲ್ಲಿ ಪ್ರತಿಯೊಂದು ಕ್ಲಸ್ಟರ್‌ನ ಪಾಯಿಂಟ್‌ಗಳ ನಡುವಿನ ದೂರ ಸೂಕ್ತವಾಗಿ ಹೆಚ್ಚಾಗಿರಬಹುದು ಅಥವಾ ಕಡಿಮೆಯಾಗಿರಬಹುದು, ಮತ್ತು ಈಡಾ ಶ್ರೇಣಿಗೆ ಅನುಗುಣವಾದ ಕ್ಲಸ್ಟರಿಂಗ್ ವಿಧಾನವನ್ನು ಬಳಸಬೇಕು. [ಈ ಲೇಖನ](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) noisy ಡೇಟಾಸೆಟ್ ಜೊತೆಗೆ ಅಸಮಾನ ಘನತೆಯ ಕ್ಲಸ್ಟರ್‌ಗಳನ್ನು ಕವರ್ ಮಾಡುವಲ್ಲಿ K-Means ಕ್ಲಸ್ಟರಿಂಗ್ ಮತ್ತು HDBSCAN ಆಲ್ಗೋರಿದಂಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ತೋರಿಸುತ್ತದೆ. ## ಕ್ಲಸ್ಟರಿಂಗ್ ಆಲ್ಗೊರಿದಂಗಳು ನೂರ್ನೋಡಿದೆ ಕಾಲ್ ಕ್ಲಸ್ಟರಿಂಗ್ ಆಲ್ಗೊರಿದಮ್ಗಳು ಇವುಗಳು ಮತ್ತು ಅವುಗಳ ಬಳಕೆ ಡೇಟಾದ ಸ್ವಭಾವದಿಂದ ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ. ಕೆಲವು ಪ್ರಮುಖ ಆಲ್ಗೊರಿದಂಗಳ ಬಗ್ಗೆ ಚರ್ಚೆ ಮಾಡೋಣ: - **ಹೈಯರಾರ್ಕಿಕಲ್ ಕ್ಲಸ್ಟರಿಂಗ್**. ಒಂದು ವಸ್ತು ಹತ್ತಿರದ ವಸ್ತುವಿನ ಹತ್ತಿರದ ಆಧಾರದ ಮೇಲೆ ವರ್ಗೀಕೃತವಾಗಿದ್ದರೆ, ಅಲ್ಲದ ವಸ್ತುಗಳ ಹತ್ತಿರನೆಯ ಬಿಸಿ ಪಾಯಿಂಟ್ ಮೇಲೆ ಕ್ಲಸ್ಟರ್ಗಳು ರಚನೆಗೊಳ್ಳುತ್ತವೆ. Scikit-learn ನ ಅಗ್ಗ್ಲೊಮೆರೇಟಿವ್ ಕ್ಲಸ್ಟರಿಂಗ್ ಹೈಯರಾರ್ಕಿಕಲ್ ಕ್ಲಸ್ಟರಿಂಗ್ ಆಗಿದೆ. ![ಹೈಯರಾರ್ಕಿಕಲ್ ಕ್ಲಸ್ಟರಿಂಗ್ ಇನ್ಫೋಗ್ರಾಫಿಕ್](../../../../translated_images/kn/hierarchical.bf59403aa43c8c47.webp) > ಇನ್ಫೋಗ್ರಾಫಿಕ್: [ದಾಸಾನಿ ಮಡಿಪಳ್ಳಿ](https://twitter.com/dasani_decoded) - **ಸೆಂಟ್ರಾಯ್ಡ್ ಕ್ಲಸ್ಟರಿಂಗ್**. ಈ ಜನಪ್ರಿಯ ಆಲ್ಗೊರಿದಂ 'k' ಅಥವಾ ಗುಂಪುಗಳ ಸಂಖ್ಯೆಯನ್ನು ಆಯ್ಕೆಮಾಡುವುದನ್ನು ಅವಶ್ಯಕವಾಗಿಸುತ್ತದೆ, ನಂತರ ಆಲ್ಗೊರಿದಂ ಒಂದು ಗುಂಪಿನ ಕೇಂದ್ರ ಬಿಂದು ನಿರ್ಧರಿಸಿ ಅದರ ಸುತ್ತಲಿನ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ. [ಕೆ-ಮೀನ್ ಕ್ಲಸ್ಟರಿಂಗ್](https://wikipedia.org/wiki/K-means_clustering) ಸೆಂಟ್ರಾಯ್ಡ್ ಕ್ಲಸ್ಟರಿಂಗ್‌ನ ಜನಪ್ರಿಯ ರೂಪವಾಗಿದೆ. ಕೇಂದ್ರವನ್ನು ಸುತ್ತಲಿನ ಅಂದಾಜು ಸರಾಸರಿ ಮೂಲಕ ನಿರ್ಧರಿಸುತ್ತಾರೆ ಮತ್ತು ಆದ್ದರಿಂದ ಹೆಸರು. ಕ್ಲಸ್ಟರ್‌ನಿಂದ ಸ್ಕ್ವಾಯರ್ಡ್ ದೂರ ಕಡಿಮೆ ಮಾಡಲಾಗುತ್ತದೆ. ![ಸೆಂಟ್ರಾಯ್ಡ್ ಕ್ಲಸ್ಟರಿಂಗ್ ಇನ್ಫೋಗ್ರಾಫಿಕ್](../../../../translated_images/kn/centroid.097fde836cf6c918.webp) > ಇನ್ಫೋಗ್ರಾಫಿಕ್: [ದಾಸಾನಿ ಮಡಿಪಳ್ಳಿ](https://twitter.com/dasani_decoded) - **ವಿತರಣಾ ಆಧಾರಿತ ಕ್ಲಸ್ಟರಿಂಗ್**. ಸ್ಥಿತಿ ಮಾದರಿಪಡಿಸುವಿಕೆಯಲ್ಲಿ ಆಧಾರಿತವಾಗಿದ್ದು, ಒಂದು ಡೇಟಾ ಪಾಯಿಂಟ್ ಕ್ಲಸ್ಟರ್‌ಗೆ ಸೇರಿದವ ಎಂದು ಸಾಮಾನ್ಯತೆ ನಿರ್ಣಯಿಸಿ ಅದನ್ನು ನೀಡುವುದು. ಗಾಸಿಯನ್ ಮಿಶ್ರಣ ವಿಧಾನಗಳು ಈ ರೀತಿಗೆ ಸೇರಿವೆ. - **ಘನತ್ವ ಆಧಾರಿತ ಕ್ಲಸ್ಟರಿಂಗ್**. ಡೇಟಾ ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಅವುಗಳ ಘನತ್ವ ಆಧಾರಿಸಿ ಗುಂಪು ಮಾಡುತ್ತಾರೆ ಅಥವಾ ಅವು ಪರಸ್ಪರ ಸುತ್ತಲೂ ಮೇಲಾಗುವ ದೃಷ್ಟಿಯಲ್ಲಿ. ಗುಂಪಿನಿಂದ ದೂರವಿರುವ ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಔಟ್‌ಲಿಯರ್ ಅಥವಾ ಶಬ್ದ ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. DBSCAN, ಮೀನ್-ಶಿಫ್ಟ್ ಮತ್ತು OPTICS ಈ ವರ್ಗಕ್ಕೆ ಸೇರಿವೆ. - **ಗ್ರಿಡ್ ಆಧಾರಿತ ಕ್ಲಸ್ಟರಿಂಗ್**. ಬಹುಆಯಾಮದ ಡೇಟಾಸೆಟ್‌ಗಾಗಿ, ಒಂದು ಗ್ರಿಡ್ ಸೃಷ್ಟಿಸಿ ಆ ಡೇಟಾವನ್ನು ಗ್ರಿಡ್ ಕೋಷ್ಠಗಳಲ್ಲಿ ಹಂಚಿ ಗುಂಪುಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ. ## ಅಭ್ಯಾಸ - ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಕ್ಲಸ್ಟರ್ ಮಾಡಿ ಕ್ಲಸ್ಟರಿಂಗ್ ತಂತ್ರವನ್ನು ಸುಧಾರಿತವಾಗಿ ಸಾದಿಸಲು ಸೂಕ್ತ ದೃಶ್ಯೀಕರಣ ಅತ್ಯಂತ ಮುಖ್ಯ, ಆದ್ದರಿಂದ ನಾವು ನಮ್ಮ ಸಂಗೀತ ಡೇಟಾವನ್ನು ದೃಶ್ಯಗೊಳಿಸುವುದರಿಂದ ಪ್ರಾರಂಭಿಸೋಣ. ಈ ಅಭ್ಯಾಸವು ಯಾವ ಕ್ಲಸ್ಟರಿಂಗ್ ವಿಧಾನವನ್ನು ನಾವು ಈ ಡೇಟಾದ ಸ್ವಭಾವಕ್ಕಾಗಿ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಬಳಸಬಹುದು ಎಂದು ನಿರ್ಧರಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. 1. ಈ ಫೋಲ್ಡರಿನಲ್ಲಿ ಇರುವ [_notebook.ipynb_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/1-Visualize/notebook.ipynb) ಫೈಲನ್ನು ತೆರೆಯಿರಿ. 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) ಫೈಲಿನಿಂದ ಹಾಡುಗಳ ಡೇಟಾವನ್ನು ಸೇರಿಸಿ. ಹಾಡುಗಳ ಬಗ್ಗೆ ಕೆಲವು ಡೇಟಾ ಇರುವ ಡೇಟಾಫ್ರೇಮ್ ಲೋಡ್ ಮಾಡಿ. ಪಾಠ ಪುಟವನ್ನು ಆಮದುಮಾಡಿ ಡೇಟಾವನ್ನು ತಿಳಿದುಕೊಳ್ಳಲು ಸಿದ್ಧವಾಗಿರಿ: ```python import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv("../data/nigerian-songs.csv") 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 | ನೈಜೀರಿಯನ್ ಪಾಪ್ | 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()` ಅನ್ನು ಕರೆ ಮಾಡಿ: ```python df.info() ``` ಫಲಿತಾಂಶ ಹೀಗಿದೆ: ```output RangeIndex: 530 entries, 0 to 529 Data columns (total 16 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 name 530 non-null object 1 album 530 non-null object 2 artist 530 non-null object 3 artist_top_genre 530 non-null object 4 release_date 530 non-null int64 5 length 530 non-null int64 6 popularity 530 non-null int64 7 danceability 530 non-null float64 8 acousticness 530 non-null float64 9 energy 530 non-null float64 10 instrumentalness 530 non-null float64 11 liveness 530 non-null float64 12 loudness 530 non-null float64 13 speechiness 530 non-null float64 14 tempo 530 non-null float64 15 time_signature 530 non-null int64 dtypes: float64(8), int64(4), object(4) memory usage: 66.4+ KB ``` 1. null ಮೌಲ್ಯಗಳಿಗಾಗಿ ಡಬಲ್-ಚೆಕ್ ಮಾಡಿ, `isnull()` ಕರೆ ಮಾಡಿ ಸರಿಸುಮಾರು 0 ಎಂದು ಖಚಿತಪಡಿಸಿ: ```python df.isnull().sum() ``` ಚೆನ್ನಾಗಿ ಕಾಣುತ್ತಿದೆ: ```output name 0 album 0 artist 0 artist_top_genre 0 release_date 0 length 0 popularity 0 danceability 0 acousticness 0 energy 0 instrumentalness 0 liveness 0 loudness 0 speechiness 0 tempo 0 time_signature 0 dtype: int64 ``` 1. ಡೇಟಾವನ್ನು ವರ್ಣಿಸಿ: ```python df.describe() ``` | | ಬಿಡುಗಡೆ_ತಾರೀಕು | ಅವಧಿ | ಜನಪ್ರಿಯತೆ | ನೃತ್ಯೋಚಿತತೆ | ಅಕೌಸ್ಟಿಕ್‌ನೆಸ್ | ಶಕ್ತಿ | ವಾದ್ಯತೆ | ಜೀವಂತಿಕೆ | ಶಬ್ದ ಪ್ರಮಾಣ | ಭಾಷಣತೆ | ತಪಶ್ಚಲತೆ | ಸಮಯ_ಸಿಗ್ನೇಚರ್ | | ----- | ------------ | ----------- | ---------- | ------------ | ------------ | -------- | ---------------- | -------- | --------- | ----------- | ---------- | -------------- | | ಎಣಿಕೆ | 530 | 530 | 530 | 530 | 530 | 530 | 530 | 530 | 530 | 530 | 530 | 530 | | ಸರಾಸರಿ| 2015.390566 | 222298.1698 | 17.507547 | 0.741619 | 0.265412 | 0.760623 | 0.016305 | 0.147308 | -4.953011 | 0.130748 | 116.487864 | 3.986792 | | ಸಡಿಲತೆ| 3.131688 | 39696.82226 | 18.992212 | 0.117522 | 0.208342 | 0.148533 | 0.090321 | 0.123588 | 2.464186 | 0.092939 | 23.518601 | 0.333701 | | ಕನಿಷ್ಠ| 1998 | 89488 | 0 | 0.255 | 0.000665 | 0.111 | 0 | 0.0283 | -19.362 | 0.0278 | 61.695 | 3 | | 25% | 2014 | 199305 | 0 | 0.681 | 0.089525 | 0.669 | 0 | 0.07565 | -6.29875 | 0.0591 | 102.96125 | 4 | | 50% | 2016 | 218509 | 13 | 0.761 | 0.2205 | 0.7845 | 0.000004 | 0.1035 | -4.5585 | 0.09795 | 112.7145 | 4 | | 75% | 2017 | 242098.5 | 31 | 0.8295 | 0.403 | 0.87575 | 0.000234 | 0.164 | -3.331 | 0.177 | 125.03925 | 4 | | ಗರಿಷ್ಠ| 2020 | 511738 | 73 | 0.966 | 0.954 | 0.995 | 0.91 | 0.811 | 0.582 | 0.514 | 206.007 | 5 | > 🤔 ನಮಗೆ ಲೇಬಲ್ ಮಾಡದ ಡೇಟಾವನ್ನು ಬಳಸಿ ನಿರ್ವಹಿಸುವ ಅನ್ವಯವಿದೆ, ಅಂದರೆ ಕ್ಲಸ್ಟರಿಂಗ್ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಆದ್ರೆ ನಾವು ಈ ಡೇಟಾವನ್ನು ಲೇಬಲೊಂದಿಗೇ ತೋರಿಸುವುದು ಯಾಕೆ? ಡೇಟಾ ಅನ್ವೇಷಣಾ ಹಂತದಲ್ಲಿ ಅವು ಸಹಾಯವಾಗುತ್ತವೆ, ಆದರೆ ಕ್ಲಸ್ಟರಿಂಗ್ ಆಲ್ಗೊರಿಥಮ್‌ಗಳಿಗೆ ಅವಶ್ಯಕವಿಲ್ಲ. ನೀವು ಕೇಸ್ ಹೆಡರ್ಸ್ ತೆಗೆದು ಹಾಕಿ, ಡೇಟಾವನ್ನು ಕಾಲಮಿನ ಸಂಖ್ಯೆಯಿಂದ ಸೂಚಿಸಬಹುದು. ಡೇಟಾದ ಸಾಮಾನ್ಯ ಮೌಲ್ಯಗಳನ್ನು ನೋಡಿ. ಜನಪ್ರಿಯತೆ '0' ಆಗಿರಬಹುದು, ಅಂದರೆ ಆದ ಹಾಡುಗಳಿಗೆ ರ್ಯಾಂಕಿಂಗ್ ಇಲ್ಲ. ನಾವು ಅವುಗಳನ್ನು ಶೀಘ್ರದಲ್ಲೇ ತೆಗೆದುಹಾಕೋಣ. 1. ಬಹುಜನ ಆತುರದ ಶೈಲಿಗಳನ್ನು ಬಾರ್ಪ್ಲಾಟ್ ಮೂಲಕ ಹುಡುಕಿ: ```python import seaborn as sns top = df['artist_top_genre'].value_counts() plt.figure(figsize=(10,7)) sns.barplot(x=top[:5].index,y=top[:5].values) plt.xticks(rotation=45) plt.title('Top genres',color = 'blue') ``` ![most popular](../../../../translated_images/kn/popular.9c48d84b3386705f.webp) ✅ ಹೆಚ್ಚಿನ ಮೇಲಿನ ಮೌಲ್ಯಗಳನ್ನು ನೋಡಲು, ಶೀರ್ಷಿಕೆ `[:5]` ಬದಲಿಸಿ ದೊಡ್ಡದಾಗಿಸಲು ಅಥವಾ ಅದನ್ನು ತೆಗೆದು ಎಲ್ಲಾ ಮೌಲ್ಯಗಳನ್ನು ನೋಡಿ. ಗಮನಿಸಿ, ಟಾಪ್ ಶೈಲಿ 'Missing' ಎಂದರೆ ಸ್ಪಾಟ್‌ಫೈ ಅದನ್ನು ವರ್ಗೀಕರಿಸದಿದ್ದ ಕಾರಣ, ಅದನ್ನು ತೆಗೆದುಹಾಕೋಣ. 1. ಇಲ್ಲದ ಡೇಟಾವನ್ನು ತೆಗೆಯಿರಿ ಫಿಲ್ಟರ್ ಮೂಲಕ ```python df = df[df['artist_top_genre'] != 'Missing'] top = df['artist_top_genre'].value_counts() plt.figure(figsize=(10,7)) sns.barplot(x=top.index,y=top.values) plt.xticks(rotation=45) plt.title('Top genres',color = 'blue') ``` ಈಗ ಶೈಲಿಗಳನ್ನು ಮತ್ತೊಮ್ಮೆ ಪರಿಶೀಲಿಸಿರಿ: ![most popular](../../../../translated_images/kn/all-genres.1d56ef06cefbfcd6.webp) 1. ಈ ಡೇಟಾಸೆಟ್‌ನಲ್ಲಿನ ಟಾಪ್ ಮೂರು ಶೈಲಿಗಳು ಬಹುಮಾನವಾಗಿ ಡೋಮಿನೇಟ್ ಮಾಡುತ್ತವೆ. ನಾವು `ಆಫ್ರೋ ಡ್ಯಾನ್ಸ್‌ಹಾಲ್`, `ಆಫ್ರೋಪಾಪ್` ಮತ್ತು `ನೈಜೀರಿಯನ್ ಪಾಪ್` ಮೇಲೆ ಕೇಂದ್ರೀಕೃತವಾಗಿ ಪರಿಗಣಿಸೋಣ, ಜೊತೆಗೆ ಜನಪ್ರಿಯತೆ '0' ಇರುವ ಡೇಟಾಗಳನ್ನು ತೆಗೆದುಹಾಕೋಣ (ಅಂದರೆ ಡೇಟಾಸೆಟ್‌ನಲ್ಲಿ ಜನಪ್ರಿಯತೆಯಿಲ್ಲದ, ಶಬ್ದವೆಂಬಂತೆ ಪರಿಗಣಿಸುವ ಸಾಧ್ಯತೆ): ```python df = df[(df['artist_top_genre'] == 'afro dancehall') | (df['artist_top_genre'] == 'afropop') | (df['artist_top_genre'] == 'nigerian pop')] df = df[(df['popularity'] > 0)] top = df['artist_top_genre'].value_counts() plt.figure(figsize=(10,7)) sns.barplot(x=top.index,y=top.values) plt.xticks(rotation=45) plt.title('Top genres',color = 'blue') ``` 1. ಡೇಟಾದಲ್ಲಿ ಯಾವುದು ಒಬ್ಬರಿಗೊಬ್ಬ ದೃಢ ತಾಳಮಾನವನ್ನು ಹೊಂದಿದೆಯಾ ಎಂದು ಸత్వರ ಪರೀಕ್ಷೆ ಮಾಡಿ: ```python corrmat = df.corr(numeric_only=True) f, ax = plt.subplots(figsize=(12, 9)) sns.heatmap(corrmat, vmax=.8, square=True) ``` ![correlations](../../../../translated_images/kn/correlation.a9356bb798f5eea5.webp) ಶಕ್ತಿಯು ಮತ್ತು ಶಬ್ದ ಪ್ರಮಾಣದ ನಡುವೆ ಮಾತ್ರ ದೃಢ ಸಂಬಂಧ ಇದೆ, ಇದು ಆಶ್ಚರ್ಯಕರವಿಲ್ಲ, ಏಕೆಂದರೆ ಶಬ್ದದಾಯಕ ಸಂಗೀತ ಸಾಮಾನ್ಯವಾಗಿ ಶಕ್ತಿಯುತವಾಗಿರುತ್ತದೆ. ಅದನ್ನು ಬಿಟ್ಟು ಇತರ ಸಂಬಂಧಗಳು ಸಾಧಾರಣವಾಗಿವೆ. ಈ ಡೇಟಾದ ಮೇಲೆ ಕ್ಲಸ್ಟರಿಂಗ್ ಆಲ್ಗೊರಿಥಮ್ ಅನ್ನು ಪ್ರಯೋಗಿಸುವುದು ಆಸಕ್ತಿದಾಯಕವಾಗುತ್ತದೆ. > 🎓 ಸಹಜವಾಗಿ, ಸಂಬಂಧವು ಕಾರಣವಾದುದು ಅಲ್ಲ! ಸಂಬಂಧವನ್ನು ನಮಗೆ ಸಾಬೀತಾಗಿದೆ ಆದರೆ ಕಾರಣವಲ್ಲ. ಒಂದು [ಮೋಜುಗಾರಿಕ ವೆಬ್‌ಸೈಟ್](https://tylervigen.com/spurious-correlations) ಇದನ್ನು ವಿವರಿಸುವ ದೃಶ್ಯಗಳನ್ನು ನೀಡಿದೆ. ಈ ಡೇಟಾಸೆಟ್‌ನಲ್ಲಿ ಹಾಡಿನ ಜನಪ್ರಿಯತೆ ಮತ್ತು ನೃತ್ಯೋಚಿತತೆ ನಡುವೆ ಏನಾದರೂ ಸಮರಸತೆಗಳಿವೆಯೇ? ಫೇಸೆಟ್‌ಗ್ರಿಡ್ ನೋಡಿದಾಗ, ವರ್ಣವರ್ಗದಿಂದ ಹೊರತುಪಡಿಸಿ ಸುತ್ತುಗಳು ಸರಿಯುತ್ತವೆ. ನೈಜೀರಿಯನ್ ರುಚಿಗಳು ಈ ಶೈಲಿಗೆ ನಿರ್ದಿಷ್ಟ ಮಟ್ಟದಲ್ಲಿ ನೃತ್ಯೋಚಿತತೆಯಲ್ಲಿ ಸಮ್ಮಿಲನವಾಗಬಹುದು? ✅ ಬೇರೆಯಾದ ಡೇಟಾಪಾಯಿಂಟ್‌ಗಳು (ಶಕ್ತಿ, ಶಬ್ದ ಪ್ರಮಾಣ, ಭಾಷಣತೆ) ಮತ್ತು ಮತ್ತಷ್ಟು ಅಥವಾ ಬೇರೆಯಾದ ಸಂಗೀತ ಶೈಲಿಗಳನ್ನು ಪ್ರಯತ್ನಿಸಿ. ಏನು ಕಂಡುಕೊಳ್ಳಬಹುದು? `df.describe()` ಟೇಬಲ್ ನಲ್ಲಿ ಸಾಮಾನ್ಯ ಡಾಟಾ ಪಾಯಿಂಟ್ ಹಂಚಿಕೆಯನ್ನು ನೋಡಿ. ### ಅಭ್ಯಾಸ - ಡೇಟಾ ವಿತರಣೆ ಈ ಮೂರು ಶೈಲಿಗಳು ಜನಪ್ರಿಯತೆಯ ಆಧಾರದ ಮೇಲೆ ನೃತ್ಯೋಚಿತತೆಯಲ್ಲಿ ಪ್ರಮುಖವಾದ ವ್ಯತ್ಯಾಸವಿರುತ್ತದೆಯೇ? 1. ಟಾಪ್ ಮೂರು ಶೈಲಿಗಳ ಜನಪ್ರಿಯತೆ ಮತ್ತು ನೃತ್ಯೋಚಿತತೆಗಾಗಿ ಡೇಟಾ ವಿತರಣೆಯನ್ನು ಎಕ್ಸ್ಅಕ್ಷ ಮತ್ತು ವೈಅಕ್ಷಗಳ ಮೇಲೆ ಪರೀಕ್ಷಿಸಿ: ```python sns.set_theme(style="ticks") g = sns.jointplot( data=df, x="popularity", y="danceability", hue="artist_top_genre", kind="kde", ) ``` ಸುತ್ತಿನ ಮಾದರಿಯ ವಿತರಣೆಯು ಗೂಢ ರೇಖೆಗಳ ಸುತ್ತಿನಲ್ಲಿ ಕಂಡುಬರುತ್ತದೆ. > 🎓 ಈ ಉದಾಹರಣೆ KDE (Kernel Density Estimate) ಗ್ರಾಫ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಇದು ಡೇಟಾವನ್ನು ನಿರಂತರ ಪ್ರಾಬಬಿಲಿಟಿ ಡೆನ್ಸಿಟಿ_curve ಮೂಲಕ ಪ್ರತಿನಿಧಿಸುತ್ತದೆ. ಇದು ಬಹು ವಿಶ್ಲೇಷಣಾ ವರ್ಗಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತಿರುವಾಗ ಡೇಟಾವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಸಾಮಾನ್ಯವಾಗಿ, ಮೂರು ಶೈಲಿಗಳು ಮುಕ್ತವಾಗಿ ತಮ್ಮ ಜನಪ್ರಿಯತೆ ಮತ್ತು ನೃತ್ಯೋಚಿತತೆಯಲ್ಲಿಯಲ್ಲಿ ಹೊಂದಾಣಿಕೆ ಹೊಂದಿವೆ. ಈ ಮಾದರಿಯಲ್ಲಿ ಕ್ಲಸ್ಟರ್‌ಗಳನ್ನು ಗುರುತಿಸುವುದು ಒಂದು ಸವಾಲಾಗಿರುತ್ತದೆ: ![distribution](../../../../translated_images/kn/distribution.9be11df42356ca95.webp) 1. ಸ್ಕ್ಯಾಟರ್ ಪ್ಲಾಟ್ ರಚಿಸಿ: ```python sns.FacetGrid(df, hue="artist_top_genre", height=5) \ .map(plt.scatter, "popularity", "danceability") \ .add_legend() ``` ಇದೇ ಅಕ್ಷಗಳ ಸ್ಕ್ಯಾಟರ್ ಪ್ಲಾಟ್ ಕೂಡಂತಹ ಸಮೀಪದ ಮಾದರಿಯನ್ನು ತೋರಿಸುತ್ತದೆ ![Facetgrid](../../../../translated_images/kn/facetgrid.9b2e65ce707eba1f.webp) ಸಾಮಾನ್ಯವಾಗಿ, ಕ್ಲಸ್ಟರಿಂಗ್ ಗಾಗಿ, ಡೇಟಾ ಕ್ಲಸ್ಟರ್‌ಗಳ ಪ್ರದರ್ಶನಕ್ಕೆ ಸ್ಕ್ಯಾಟರ್ ಪ್ಲಾಟ್‌ಗಳನ್ನು ಬಳಸಬಹುದು, ಆದ್ದರಿಂದ ಈ ರೀತಿಯ ದೃಶ್ಯಾಂತರ ಇತರ ಬಗೆಯ ಮಾದರಿಗಳನ್ನು ತಿಳಿದುಕೊಳ್ಳಲು ಬಹುಮಾನ. ಮುಂದಿನ ಪಾಠದಲ್ಲಿ, ನಾವು ಈ ಫಿಲ್ಟರ್ ಆಗಿರುವ ಡೇಟಾವನ್ನು ತೆಗೆದು, ಕೆ-ಮೀನ್ಸ್ ಕ್ಲಸ್ಟರಿಂಗ್ ಬಳಸಿ, ಈ ಡೇಟಾದಲ್ಲಿ ಆಸಕ್ತಿದಾಯಕ ರೀತಿಯಲ್ಲಿ 겹ಿಸುವ ಗುಂಪುಗಳನ್ನು ಕಂಡುಹಿಡಿಯುವುದು. --- ## 🚀ಸವಾಲು ಮುಂದಿನ ಪಾಠಕ್ಕಾಗಿ ಸಿದ್ಧತೆಗಾಗಿ, ವಿವಿಧ ಕ್ಲಸ್ಟರಿಂಗ್ ಆಲ್ಗೊರಿಥಮ್‌ಗಳ ಬಗ್ಗೆ ಚಾರ್ಟ್ ರಚಿಸಿ, ನೀವು ಪರಿಚಯಿಸಬಹುದು ಮತ್ತು ಉತ್ಪಾದನಾ περιವಾರದಲ್ಲಿ ಬಳಸಬಹುದು. ಕ್ಲಸ್ಟರಿಂಗ್ ಯಾವ ಪ್ರಕಾರದ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ? ## [ಪಾಠಾನುಸರಣ ಕ್ವಿಜ್](https://ff-quizzes.netlify.app/en/ml/) ## ವಿಮರ್ಶೆ & ಸ್ವಯಂ ಅಧ್ಯಯನ ನಾವು ಕಲಿತ ಹಾಗೆ, ಕ್ಲಸ್ಟರಿಂಗ್ ಆಲ್ಗೊರಿಥಮ್‌ಗಳನ್ನು ಅನ್ವಯಿಸುವ ಮೊದಲು ನಿಮ್ಮ ಡೇಟಾಸೆಟ್‌ನ ಸ್ವಭಾವವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಉತ್ತಮ ಅಭ್ಯಾಸವಾಗಿದೆ. ಈ ವಿಷಯದ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ವಿವರಣೆ ಇಲ್ಲಿ [ಇದೀಗ](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/) ವಿವಿಧ ಆಕಾರಗಳ ಡೇಟಾವನ್ನು ನೀಡಿದಾಗ, ವಿವಿಧ ಕ್ಲಸ್ಟರಿಂಗ್ ಆಲ್ಗೊರಿಥಮ್‌ಗಳು ಹೇಗೆ ವರತಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ. ## ನಿಯೋಜನೆ [ಕ್ಲಸ್ಟರಿಂಗ್‌ಗೆ ಇತರ ದೃಶ್ಯೀಕರಣಗಳನ್ನು ಸಂಶೋಧಿಸಿ](assignment.md) --- **ಅಸ್ವೀಕಾರ**: ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಯನ್ನು ಸಾಧಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ದಯವಿಟ್ಟು ಗಮನಿಸಿ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ಅಸಡ್ಡೆಗಳು ಇರಬಹುದು. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜು ಪ್ರಾಮಾಣಿಕ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಪ್ರಮುಖ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದವನ್ನು ಬಳಸುವ ಮೂಲಕ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಗಳ ಅಥವಾ ತಪ್ಪು ವ್ಯಾಖ್ಯಾನಗಳ ಬಗ್ಗೆ ನಾವು ಹೊಣೆಗಾರರಲ್ಲ.