From e88017f81af4303ea98a4e8b1ad3aafc54602b39 Mon Sep 17 00:00:00 2001 From: "localizeflow[bot]" Date: Tue, 23 Jun 2026 07:26:35 +0000 Subject: [PATCH] chore(i18n): sync translations with latest source changes (chunk 1/1, 9 changes) --- translations/en/.co-op-translator.json | 8 +- .../en/1-Introduction/1-intro-to-ML/README.md | 133 ++++++------ .../en/5-Clustering/1-Visualize/README.md | 169 ++++++++-------- translations/es/.co-op-translator.json | 8 +- .../es/1-Introduction/1-intro-to-ML/README.md | 101 +++++----- .../es/5-Clustering/1-Visualize/README.md | 182 ++++++++--------- translations/fr/.co-op-translator.json | 8 +- .../fr/1-Introduction/1-intro-to-ML/README.md | 131 ++++++------ .../fr/5-Clustering/1-Visualize/README.md | 189 +++++++++--------- 9 files changed, 477 insertions(+), 452 deletions(-) diff --git a/translations/en/.co-op-translator.json b/translations/en/.co-op-translator.json index 70182f876..ad1fbf300 100644 --- a/translations/en/.co-op-translator.json +++ b/translations/en/.co-op-translator.json @@ -1,7 +1,7 @@ { "1-Introduction/1-intro-to-ML/README.md": { - "original_hash": "69389392fa6346e0dfa30f664b7b6fec", - "translation_date": "2025-09-06T10:54:05+00:00", + "original_hash": "3a6394c6f5ce3f8aee8211e92eaf9ef0", + "translation_date": "2026-06-23T07:22:06+00:00", "source_file": "1-Introduction/1-intro-to-ML/README.md", "language_code": "en" }, @@ -240,8 +240,8 @@ "language_code": "en" }, "5-Clustering/1-Visualize/README.md": { - "original_hash": "730225ea274c9174fe688b21d421539d", - "translation_date": "2025-09-06T10:50:03+00:00", + "original_hash": "08b00d9fbffc667a7fe7fc19ac00dfbd", + "translation_date": "2026-06-23T07:21:30+00:00", "source_file": "5-Clustering/1-Visualize/README.md", "language_code": "en" }, diff --git a/translations/en/1-Introduction/1-intro-to-ML/README.md b/translations/en/1-Introduction/1-intro-to-ML/README.md index a2b0662c3..daaa32078 100644 --- a/translations/en/1-Introduction/1-intro-to-ML/README.md +++ b/translations/en/1-Introduction/1-intro-to-ML/README.md @@ -1,4 +1,4 @@ -# Introduction to Machine Learning +# Introduction to machine learning ## [Pre-lecture quiz](https://ff-quizzes.netlify.app/en/ml/) @@ -6,138 +6,143 @@ [![ML for beginners - Introduction to Machine Learning for Beginners](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "ML for beginners - Introduction to Machine Learning for Beginners") -> 🎥 Click the image above for a short video that walks you through this lesson. +> 🎥 Click the image above for a short video working through this lesson. -Welcome to this course on classical machine learning for beginners! Whether you're completely new to the topic or an experienced ML practitioner looking to refresh your knowledge, we're glad to have you here! We aim to create a welcoming starting point for your ML journey and would love to hear your [feedback](https://github.com/microsoft/ML-For-Beginners/discussions) to improve this course. +Welcome to this course on classical machine learning for beginners! Whether you're completely new to this topic, or an experienced ML practitioner looking to brush up on an area, we're happy to have you join us! We want to create a friendly launching spot for your ML study and would be happy to evaluate, respond to, and incorporate your [feedback](https://github.com/microsoft/ML-For-Beginners/discussions). [![Introduction to ML](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "Introduction to ML") -> 🎥 Click the image above for a video: MIT's John Guttag introduces machine learning. +> 🎥 Click the image above for a video: MIT's John Guttag introduces machine learning --- -## Getting Started with Machine Learning +## Getting started with machine learning -Before diving into this curriculum, make sure your computer is set up to run notebooks locally. +Before starting with this curriculum, you need to have your computer set up and ready to run notebooks locally. -- **Set up your machine with these videos**. Use the following links to learn [how to install Python](https://youtu.be/CXZYvNRIAKM) on your system and [set up a text editor](https://youtu.be/EU8eayHWoZg) for development. -- **Learn Python**. It's recommended to have a basic understanding of [Python](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott), a programming language widely used by data scientists and utilized in this course. -- **Learn Node.js and JavaScript**. We occasionally use JavaScript in this course for building web apps, so you'll need [Node.js](https://nodejs.org) and [npm](https://www.npmjs.com/) installed, along with [Visual Studio Code](https://code.visualstudio.com/) for both Python and JavaScript development. -- **Create a GitHub account**. If you found us on [GitHub](https://github.com), you might already have an account. If not, create one and fork this curriculum to use on your own. (Feel free to give us a star, too 😊) -- **Explore Scikit-learn**. Familiarize yourself with [Scikit-learn](https://scikit-learn.org/stable/user_guide.html), a set of ML libraries referenced throughout these lessons. +- **Configure your machine with these videos**. Use the following links to learn [how to install Python](https://youtu.be/CXZYvNRIAKM) in your system and [setup a text editor](https://youtu.be/EU8eayHWoZg) for development. +- **Learn Python**. It's also recommended to have a basic understanding of [Python](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott), a programming language useful for data scientists that we use in this course. +- **Learn Node.js and JavaScript**. We also use JavaScript a few times in this course when building web apps, so you will need to have [node](https://nodejs.org) and [npm](https://www.npmjs.com/) installed, as well as [Visual Studio Code](https://code.visualstudio.com/) available for both Python and JavaScript development. +- **Create a GitHub account**. Since you found us here on [GitHub](https://github.com), you might already have an account, but if not, create one and then fork this curriculum to use on your own. (Feel free to give us a star, too 😊) +- **Explore Scikit-learn**. Familiarize yourself with [Scikit-learn](https://scikit-learn.org/stable/user_guide.html), a set of ML libraries that we reference in these lessons. --- -## What is Machine Learning? +## What is machine learning? -The term "machine learning" is one of the most popular and widely used buzzwords today. If you have any familiarity with technology, you've likely heard it at least once, regardless of your field. However, the mechanics of machine learning remain a mystery to many. For beginners, the subject can sometimes feel overwhelming. That's why it's important to understand what machine learning truly is and learn about it step by step through practical examples. +The term 'machine learning' is one of the most popular and frequently used terms of today. There is a nontrivial possibility that you have heard this term at least once if you have some sort of familiarity with technology, no matter what domain you work in. The mechanics of machine learning, however, are a mystery to most people. For a machine learning beginner, the subject can sometimes feel overwhelming. Therefore, it is important to understand what machine learning actually is, and to learn about it step by step, through practical examples. --- -## The Hype Curve +## The hype curve -![ml hype curve](../../../../1-Introduction/1-intro-to-ML/images/hype.png) +![ml hype curve](../../../../translated_images/en/hype.07183d711a17aafe.webp) -> Google Trends shows the recent "hype curve" of the term "machine learning." +> Google Trends shows the recent 'hype curve' of the term 'machine learning' --- -## A Mysterious Universe +## A mysterious universe -We live in a universe filled with fascinating mysteries. Great scientists like Stephen Hawking, Albert Einstein, and many others have dedicated their lives to uncovering meaningful information about the world around us. This quest for knowledge is part of the human condition: as children, we learn new things and gradually understand the structure of our world as we grow. +We live in a universe full of fascinating mysteries. Great scientists such as Stephen Hawking, Albert Einstein, and many more have devoted their lives to searching for meaningful information that uncovers the mysteries of the world around us. This is the human condition of learning: a human child learns new things and uncovers the structure of their world year by year as they grow to adulthood. --- -## The Child's Brain +## The child's brain -A child's brain and senses perceive their surroundings and gradually learn hidden patterns of life. These patterns help the child develop logical rules to identify and understand what they've learned. This learning process makes humans the most advanced living beings on Earth. By continuously discovering hidden patterns and innovating upon them, we improve ourselves throughout our lives. This ability to learn and adapt is linked to a concept called [brain plasticity](https://www.simplypsychology.org/brain-plasticity.html). On a surface level, we can draw motivational parallels between the human brain's learning process and the principles of machine learning. +A child's brain and senses perceive the facts of their surroundings and gradually learn the hidden patterns of life which help the child to craft logical rules to identify learned patterns. The learning process of the human brain makes humans the most sophisticated living creature of this world. Learning continuously by discovering hidden patterns and then innovating on those patterns enables us to make ourselves better and better throughout our lifetime. This learning capacity and evolving capability is related to a concept called [brain plasticity](https://www.simplypsychology.org/brain-plasticity.html). Superficially, we can draw some motivational similarities between the learning process of the human brain and the concepts of machine learning. --- -## The Human Brain +## The human brain -The [human brain](https://www.livescience.com/29365-human-brain.html) perceives information from the real world, processes it, makes rational decisions, and takes actions based on circumstances. This is what we call intelligent behavior. When we program a machine to mimic this intelligent behavior, we call it artificial intelligence (AI). +The [human brain](https://www.livescience.com/29365-human-brain.html) perceives things from the real world, processes the perceived information, makes rational decisions, and performs certain actions based on circumstances. This is what we called behaving intelligently. When we program a facsimile of the intelligent behavioral process to a machine, it is called artificial intelligence (AI). --- -## Some Terminology +## Some terminology -Although the terms are often confused, machine learning (ML) is a significant subset of artificial intelligence. **ML focuses on using specialized algorithms to uncover meaningful insights and hidden patterns from data, supporting rational decision-making processes.** +Although the terms can be confused, machine learning (ML) is an important subset of artificial intelligence. **ML is concerned with using specialized algorithms to uncover meaningful information and find hidden patterns from perceived data to corroborate the rational decision-making process**. --- ## AI, ML, Deep Learning -![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/en/ai-ml-ds.537ea441b124ebf6.webp) -> A diagram showing the relationships between AI, ML, deep learning, and data science. Infographic by [Jen Looper](https://twitter.com/jenlooper) inspired by [this graphic](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining). +> A diagram showing the relationships between AI, ML, deep learning, and data science. Infographic by [Jen Looper](https://twitter.com/jenlooper) inspired by [this graphic](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining) --- -## Concepts to Cover +## Concepts to cover -In this curriculum, we will focus on the core concepts of machine learning that every beginner should know. We will explore "classical machine learning," primarily using Scikit-learn, a popular library for learning the basics. A solid understanding of machine learning is essential for grasping broader concepts in artificial intelligence or deep learning, and we aim to provide that foundation here. +In this curriculum, we are going to cover only the core concepts of machine learning that a beginner must know. We cover what we call 'classical machine learning' primarily using Scikit-learn, an excellent library many students use to learn the basics. To understand broader concepts of artificial intelligence or deep learning, a strong fundamental knowledge of machine learning is indispensable, and so we would like to offer it here. --- -## In This Course, You Will Learn: +## In this course you will learn: -- Core concepts of machine learning -- The history of ML +- core concepts of machine learning +- the history of ML - ML and fairness -- Regression ML techniques -- Classification ML techniques -- Clustering ML techniques -- Natural language processing ML techniques -- Time series forecasting ML techniques -- Reinforcement learning -- Real-world applications of ML +- regression ML techniques +- classification ML techniques +- clustering ML techniques +- natural language processing ML techniques +- time series forecasting ML techniques +- reinforcement learning +- real-world applications for ML --- -## What We Will Not Cover +## What we will not cover -- Deep learning -- Neural networks +- deep learning +- neural networks - AI -To keep the learning experience manageable, we will avoid the complexities of neural networks, "deep learning" (which involves building multi-layered models using neural networks), and AI. These topics will be covered in a separate curriculum. Additionally, we plan to offer a data science curriculum in the future to focus on that aspect of this broader field. +To make for a better learning experience, we will avoid the complexities of neural networks, 'deep learning' - many-layered model-building using neural networks - and AI, which we will discuss in a different curriculum. We also will offer a forthcoming data science curriculum to focus on that aspect of this larger field. --- -## Why Study Machine Learning? +## Why study machine learning? -From a systems perspective, machine learning is the creation of automated systems that can learn hidden patterns from data to make intelligent decisions. +Machine learning, from a systems perspective, is defined as the creation of automated systems that can learn hidden patterns from data to aid in making intelligent decisions. -This concept is loosely inspired by how the human brain learns from the data it perceives in the world. +This motivation is loosely inspired by how the human brain learns certain things based on the data it perceives from the outside world. -✅ Take a moment to think about why a business might prefer using machine learning strategies over creating a hard-coded, rules-based system. +✅ Think for a minute why a business would want to try to use machine learning strategies vs. creating a hard-coded rules-based engine. --- -## Applications of Machine Learning +## Why data quality matters -Machine learning applications are everywhere, as ubiquitous as the data generated by our smartphones, connected devices, and other systems. Given the immense potential of state-of-the-art ML algorithms, researchers are exploring their ability to solve complex, real-world problems across multiple disciplines, often with remarkable results. +High-quality data improves model performance. Poor or noisy data can lead to inaccurate predictions, even when using advanced machine learning algorithms. --- -## Examples of Applied ML +## Applications of machine learning -**Machine learning can be used in many ways**: +Applications of machine learning are now almost everywhere, and are as ubiquitous as the data that is flowing around our societies, generated by our smart phones, connected devices, and other systems. Considering the immense potential of state-of-the-art machine learning algorithms, researchers have been exploring their capability to solve multi-dimensional and multi-disciplinary real-life problems with great positive outcomes. -- Predicting the likelihood of disease based on a patient's medical history or reports. -- Using weather data to forecast weather events. -- Analyzing text to understand sentiment. -- Detecting fake news to prevent the spread of misinformation. +--- +## Examples of applied ML + +**You can use machine learning in many ways**: + +- To predict the likelihood of disease from a patient's medical history or reports. +- To leverage weather data to predict weather events. +- To understand the sentiment of a text. +- To detect fake news to stop the spread of propaganda. -Fields like finance, economics, earth science, space exploration, biomedical engineering, cognitive science, and even the humanities have adopted machine learning to tackle data-intensive challenges in their domains. +Finance, economics, earth science, space exploration, biomedical engineering, cognitive science, and even fields in the humanities have adapted machine learning to solve the arduous, data-processing heavy problems of their domain. --- ## Conclusion -Machine learning automates the discovery of patterns by extracting meaningful insights from real-world or generated data. It has proven to be highly valuable in business, healthcare, finance, and other fields. +Machine learning automates the process of pattern-discovery by finding meaningful insights from real-world or generated data. It has proven itself to be highly valuable in business, health, and financial applications, among others. -In the near future, understanding the basics of machine learning will become essential for people in any domain due to its widespread adoption. +In the near future, understanding the basics of machine learning is going to be a must for people from any domain due to its widespread adoption. --- # 🚀 Challenge -Sketch, on paper or using an online app like [Excalidraw](https://excalidraw.com/), your understanding of the differences between AI, ML, deep learning, and data science. Include examples of problems that each technique is well-suited to solve. +Sketch, on paper or using an online app like [Excalidraw](https://excalidraw.com/), your understanding of the differences between AI, ML, deep learning, and data science. Add some ideas of problems that each of these techniques are good at solving. # [Post-lecture quiz](https://ff-quizzes.netlify.app/en/ml/) --- -# Review & Self-Study +# Review & Self Study -To learn more about working with ML algorithms in the cloud, follow this [Learning Path](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-77952-leestott). +To learn more about how you can work with ML algorithms in the cloud, follow this [Learning Path](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-77952-leestott). -Take a [Learning Path](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott) to explore the basics of ML. +Take a [Learning Path](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott) about the basics of ML. --- # Assignment @@ -146,5 +151,7 @@ Take a [Learning Path](https://docs.microsoft.com/learn/modules/introduction-to- --- -**Disclaimer**: -This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we aim for accuracy, please note that automated translations may include errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is advised. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation. \ No newline at end of file + +**Disclaimer**: +This document has been translated using AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation. + \ No newline at end of file diff --git a/translations/en/5-Clustering/1-Visualize/README.md b/translations/en/5-Clustering/1-Visualize/README.md index bc63d978a..3de75fbbd 100644 --- a/translations/en/5-Clustering/1-Visualize/README.md +++ b/translations/en/5-Clustering/1-Visualize/README.md @@ -1,116 +1,115 @@ # Introduction to clustering -Clustering is a type of [Unsupervised Learning](https://wikipedia.org/wiki/Unsupervised_learning) that assumes a dataset is unlabelled or that its inputs are not paired with predefined outputs. It uses various algorithms to analyze unlabeled data and group it based on patterns identified within the data. +Clustering is a type of [Unsupervised Learning](https://wikipedia.org/wiki/Unsupervised_learning) that presumes that a dataset is unlabelled or that its inputs are not matched with predefined outputs. It uses various algorithms to sort through unlabeled data and provide groupings according to patterns it discerns in the data. [![No One Like You by PSquare](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](https://youtu.be/ty2advRiWJM "No One Like You by PSquare") -> 🎥 Click the image above for a video. While studying machine learning with clustering, enjoy some Nigerian Dance Hall tracks—this is a highly rated song from 2014 by PSquare. +> 🎥 Click the image above for a video. While you're studying machine learning with clustering, enjoy some Nigerian Dance Hall tracks - this is a highly rated song from 2014 by PSquare. ## [Pre-lecture quiz](https://ff-quizzes.netlify.app/en/ml/) ### Introduction -[Clustering](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) is incredibly useful for exploring data. Let's see if it can help uncover trends and patterns in how Nigerian audiences consume music. +[Clustering](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) is very useful for data exploration. Let's see if it can help discover trends and patterns in the way Nigerian audiences consume music. -✅ Take a moment to think about the applications of clustering. In everyday life, clustering happens when you sort a pile of laundry into family members' clothes 🧦👕👖🩲. In data science, clustering is used to analyze user preferences or identify characteristics in any unlabeled dataset. Clustering, in essence, helps bring order to chaos—like organizing a sock drawer. +✅ Take a minute to think about the uses of clustering. In real life, clustering happens whenever you have a pile of laundry and need to sort out your family members' clothes 🧦👕👖🩲. In data science, clustering happens when trying to analyze a user's preferences, or determine the characteristics of any unlabeled dataset. Clustering, in a way, helps make sense of chaos, like a sock drawer. [![Introduction to ML](https://img.youtube.com/vi/esmzYhuFnds/0.jpg)](https://youtu.be/esmzYhuFnds "Introduction to Clustering") -> 🎥 Click the image above for a video: MIT's John Guttag introduces clustering. +> 🎥 Click the image above for a video: MIT's John Guttag introduces clustering -In a professional context, clustering can be used for tasks like market segmentation—for example, identifying which age groups purchase specific items. It can also be used for anomaly detection, such as identifying fraud in a dataset of credit card transactions. Another application might be detecting tumors in medical scans. +In a professional setting, clustering can be used to determine things like market segmentation, determining what age groups buy what items, for example. Another use would be anomaly detection, perhaps to detect fraud from a dataset of credit card transactions. Or you might use clustering to determine tumors in a batch of medical scans. -✅ Take a moment to think about how you might have encountered clustering in real-world scenarios, such as in banking, e-commerce, or business. +✅ Think a minute about how you might have encountered clustering 'in the wild', in a banking, e-commerce, or business setting. -> 🎓 Interestingly, cluster analysis originated in the fields of Anthropology and Psychology in the 1930s. Can you imagine how it might have been applied back then? +> 🎓 Interestingly, cluster analysis originated in the fields of Anthropology and Psychology in the 1930s. Can you imagine how it might have been used? -Alternatively, clustering can be used to group search results—for example, by shopping links, images, or reviews. It's particularly useful for large datasets that need to be reduced for more detailed analysis, making it a valuable tool for understanding data before building other models. +Alternately, you could use it for grouping search results - by shopping links, images, or reviews, for example. Clustering is useful when you have a large dataset that you want to reduce and on which you want to perform more granular analysis, so the technique can be used to learn about data before other models are constructed. -✅ Once your data is organized into clusters, you can assign it a cluster ID. This technique is useful for preserving a dataset's privacy, as you can refer to a data point by its cluster ID rather than by more identifiable information. Can you think of other reasons why you might use a cluster ID instead of specific elements of the cluster for identification? - -Deepen your understanding of clustering techniques in this [Learn module](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott). +✅ Once your data is organized in clusters, you assign it a cluster Id, and this technique can be useful when preserving a dataset's privacy; you can instead refer to a data point by its cluster id, rather than by more revealing identifiable data. Can you think of other reasons why you'd refer to a cluster Id rather than other elements of the cluster to identify it? +Deepen your understanding of clustering techniques in this [Learn module](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott) ## Getting started with clustering -[Scikit-learn offers a wide range](https://scikit-learn.org/stable/modules/clustering.html) of methods for clustering. The method you choose will depend on your specific use case. According to the documentation, each method has its own advantages. Here's a simplified table of the methods supported by Scikit-learn and their ideal use cases: +[Scikit-learn offers a large array](https://scikit-learn.org/stable/modules/clustering.html) of methods to perform clustering. The type you choose will depend on your use case. According to the documentation, each method has various benefits. Here is a simplified table of the methods supported by Scikit-learn and their appropriate use cases: | Method name | Use case | | :--------------------------- | :--------------------------------------------------------------------- | -| K-Means | General purpose, inductive | -| Affinity propagation | Many, uneven clusters, inductive | -| Mean-shift | Many, uneven clusters, inductive | -| Spectral clustering | Few, even clusters, transductive | -| Ward hierarchical clustering | Many, constrained clusters, transductive | -| Agglomerative clustering | Many, constrained, non-Euclidean distances, transductive | -| DBSCAN | Non-flat geometry, uneven clusters, transductive | -| OPTICS | Non-flat geometry, uneven clusters with variable density, transductive | -| Gaussian mixtures | Flat geometry, inductive | -| BIRCH | Large dataset with outliers, inductive | - -> 🎓 How we create clusters depends heavily on how we group data points together. Let's break down some key terms: +| K-Means | general purpose, inductive | +| Affinity propagation | many, uneven clusters, inductive | +| Mean-shift | many, uneven clusters, inductive | +| Spectral clustering | few, even clusters, transductive | +| Ward hierarchical clustering | many, constrained clusters, transductive | +| Agglomerative clustering | many, constrained, non Euclidean distances, transductive | +| DBSCAN | non-flat geometry, uneven clusters, transductive | +| OPTICS | non-flat geometry, uneven clusters with variable density, transductive | +| Gaussian mixtures | flat geometry, inductive | +| BIRCH | large dataset with outliers, inductive | + +> 🎓 How we create clusters has a lot to do with how we gather up the data points into groups. Let's unpack some vocabulary: > > 🎓 ['Transductive' vs. 'inductive'](https://wikipedia.org/wiki/Transduction_(machine_learning)) > -> Transductive inference is derived from observed training cases that map to specific test cases. Inductive inference is derived from training cases that map to general rules, which are then applied to test cases. +> Transductive inference is derived from observed training cases that map to specific test cases. Inductive inference is derived from training cases that map to general rules which are only then applied to test cases. > -> Example: Imagine you have a dataset that's only partially labeled. Some items are 'records,' some are 'CDs,' and others are blank. Your task is to label the blanks. Using an inductive approach, you'd train a model to identify 'records' and 'CDs' and apply those labels to the unlabeled data. This approach might struggle to classify items that are actually 'cassettes.' A transductive approach, however, groups similar items together and applies labels to the groups. In this case, clusters might represent 'round musical items' and 'square musical items.' +> An example: Imagine you have a dataset that is only partially labelled. Some things are 'records', some 'cds', and some are blank. Your job is to provide labels for the blanks. If you choose an inductive approach, you'd train a model looking for 'records' and 'cds', and apply those labels to your unlabeled data. This approach will have trouble classifying things that are actually 'cassettes'. A transductive approach, on the other hand, handles this unknown data more effectively as it works to group similar items together and then applies a label to a group. In this case, clusters might reflect 'round musical things' and 'square musical things'. > > 🎓 ['Non-flat' vs. 'flat' geometry](https://datascience.stackexchange.com/questions/52260/terminology-flat-geometry-in-the-context-of-clustering) > -> Derived from mathematical terminology, non-flat vs. flat geometry refers to how distances between points are measured—either 'flat' ([Euclidean](https://wikipedia.org/wiki/Euclidean_geometry)) or 'non-flat' (non-Euclidean). +> Derived from mathematical terminology, non-flat vs. flat geometry refers to the measure of distances between points by either 'flat' ([Euclidean](https://wikipedia.org/wiki/Euclidean_geometry)) or 'non-flat' (non-Euclidean) geometrical methods. > ->'Flat' refers to Euclidean geometry (often taught as 'plane' geometry), while 'non-flat' refers to non-Euclidean geometry. In machine learning, these methods are used to measure distances between points in clusters. [Euclidean distances](https://wikipedia.org/wiki/Euclidean_distance) are measured as the length of a straight line between two points. [Non-Euclidean distances](https://wikipedia.org/wiki/Non-Euclidean_geometry) are measured along a curve. If your data doesn't exist on a plane when visualized, you may need a specialized algorithm to handle it. +>'Flat' in this context refers to Euclidean geometry (parts of which are taught as 'plane' geometry), and non-flat refers to non-Euclidean geometry. What does geometry have to do with machine learning? Well, as two fields that are rooted in mathematics, there must be a common way to measure distances between points in clusters, and that can be done in a 'flat' or 'non-flat' way, depending on the nature of the data. [Euclidean distances](https://wikipedia.org/wiki/Euclidean_distance) are measured as the length of a line segment between two points. [Non-Euclidean distances](https://wikipedia.org/wiki/Non-Euclidean_geometry) are measured along a curve. If your data, visualized, seems to not exist on a plane, you might need to use a specialized algorithm to handle it. > -![Flat vs Nonflat Geometry Infographic](../../../../5-Clustering/1-Visualize/images/flat-nonflat.png) +![Flat vs Nonflat Geometry Infographic](../../../../translated_images/en/flat-nonflat.d1c8c6e2a96110c1.webp) > Infographic by [Dasani Madipalli](https://twitter.com/dasani_decoded) > > 🎓 ['Distances'](https://web.stanford.edu/class/cs345a/slides/12-clustering.pdf) > -> Clusters are defined by their distance matrix, which measures the distances between points. Euclidean clusters are defined by the average of the point values and have a 'centroid' or center point. Distances are measured relative to this centroid. Non-Euclidean distances use 'clustroids,' the point closest to other points, which can be defined in various ways. +> Clusters are defined by their distance matrix, e.g. the distances between points. This distance can be measured in a few ways. Euclidean clusters are defined by the average of the point values, and contain a 'centroid' or center point. Distances are thus measured by the distance to that centroid. Non-Euclidean distances refer to 'clustroids', the point closest to other points. Clustroids in turn can be defined in various ways. > > 🎓 ['Constrained'](https://wikipedia.org/wiki/Constrained_clustering) > -> [Constrained Clustering](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) introduces 'semi-supervised' learning into this unsupervised method. Relationships between points are flagged as 'cannot link' or 'must-link,' imposing rules on the dataset. +> [Constrained Clustering](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) introduces 'semi-supervised' learning into this unsupervised method. The relationships between points are flagged as 'cannot link' or 'must-link' so some rules are forced on the dataset. > -> Example: If an algorithm is applied to unlabelled or semi-labelled data, the resulting clusters may be of poor quality. For instance, clusters might group 'round musical items,' 'square musical items,' 'triangular items,' and 'cookies.' Adding constraints like "the item must be made of plastic" or "the item must produce music" can help the algorithm make better choices. +>An example: If an algorithm is set free on a batch of unlabelled or semi-labelled data, the clusters it produces may be of poor quality. In the example above, the clusters might group 'round music things' and 'square music things' and 'triangular things' and 'cookies'. If given some constraints, or rules to follow ("the item must be made of plastic", "the item needs to be able to produce music") this can help 'constrain' the algorithm to make better choices. > > 🎓 'Density' > -> Data that is 'noisy' is considered 'dense.' The distances between points in its clusters may vary, requiring the use of appropriate clustering methods. [This article](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) compares K-Means clustering and HDBSCAN algorithms for analyzing noisy datasets with uneven cluster density. +> Data that is 'noisy' is considered to be 'dense'. The distances between points in each of its clusters may prove, on examination, to be more or less dense, or 'crowded' and thus this data needs to be analyzed with the appropriate clustering method. [This article](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) demonstrates the difference between using K-Means clustering vs. HDBSCAN algorithms to explore a noisy dataset with uneven cluster density. ## Clustering algorithms -There are over 100 clustering algorithms, and their application depends on the nature of the data. Let's explore some of the major ones: +There are over 100 clustering algorithms, and their use depends on the nature of the data at hand. Let's discuss some of the major ones: -- **Hierarchical clustering**. Objects are grouped based on their proximity to nearby objects rather than distant ones. Clusters are formed based on the distances between their members. Scikit-learn's agglomerative clustering is hierarchical. +- **Hierarchical clustering**. If an object is classified by its proximity to a nearby object, rather than to one farther away, clusters are formed based on their members' distance to and from other objects. Scikit-learn's agglomerative clustering is hierarchical. - ![Hierarchical clustering Infographic](../../../../5-Clustering/1-Visualize/images/hierarchical.png) + ![Hierarchical clustering Infographic](../../../../translated_images/en/hierarchical.bf59403aa43c8c47.webp) > Infographic by [Dasani Madipalli](https://twitter.com/dasani_decoded) -- **Centroid clustering**. This popular algorithm requires selecting 'k,' the number of clusters to form. The algorithm then determines the center point of each cluster and groups data around it. [K-means clustering](https://wikipedia.org/wiki/K-means_clustering) is a well-known example. The center is determined by the nearest mean, hence the name. The squared distance from the cluster is minimized. +- **Centroid clustering**. This popular algorithm requires the choice of 'k', or the number of clusters to form, after which the algorithm determines the center point of a cluster and gathers data around that point. [K-means clustering](https://wikipedia.org/wiki/K-means_clustering) is a popular version of centroid clustering. The center is determined by the nearest mean, thus the name. The squared distance from the cluster is minimized. - ![Centroid clustering Infographic](../../../../5-Clustering/1-Visualize/images/centroid.png) + ![Centroid clustering Infographic](../../../../translated_images/en/centroid.097fde836cf6c918.webp) > Infographic by [Dasani Madipalli](https://twitter.com/dasani_decoded) -- **Distribution-based clustering**. Based on statistical modeling, this method assigns data points to clusters based on the probability of their belonging. Gaussian mixture methods fall under this category. +- **Distribution-based clustering**. Based in statistical modeling, distribution-based clustering centers on determining the probability that a data point belongs to a cluster, and assigning it accordingly. Gaussian mixture methods belong to this type. -- **Density-based clustering**. Data points are grouped based on their density or proximity to one another. Points far from the group are considered outliers or noise. DBSCAN, Mean-shift, and OPTICS are examples of this type. +- **Density-based clustering**. Data points are assigned to clusters based on their density, or their grouping around each other. Data points far from the group are considered outliers or noise. DBSCAN, Mean-shift and OPTICS belong to this type of clustering. -- **Grid-based clustering**. For multi-dimensional datasets, a grid is created, and data is divided among the grid's cells, forming clusters. +- **Grid-based clustering**. For multi-dimensional datasets, a grid is created and the data is divided amongst the grid's cells, thereby creating clusters. ## Exercise - cluster your data -Clustering is greatly enhanced by effective visualization, so let's start by visualizing our music data. This exercise will help us determine the most suitable clustering method for this dataset. +Clustering as a technique is greatly aided by proper visualization, so let's get started by visualizing our music data. This exercise will help us decide which of the methods of clustering we should most effectively use for the nature of this data. 1. Open the [_notebook.ipynb_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/1-Visualize/notebook.ipynb) file in this folder. -1. Import the `Seaborn` package for better data visualization. +1. Import the `Seaborn` package for good data visualization. ```python !pip install seaborn ``` -1. Append the song data from [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv). Load a dataframe with song data. Prepare to explore this data by importing the libraries and displaying the data: +1. Append the song data from [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv). Load up a dataframe with some data about the songs. Get ready to explore this data by importing the libraries and dumping out the data: ```python import matplotlib.pyplot as plt @@ -120,23 +119,23 @@ Clustering is greatly enhanced by effective visualization, so let's start by vis df.head() ``` - Check the first few rows of data: + Check the first few lines of data: | | 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Ø | 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. Get some information about the dataframe by calling `info()`: +1. Get some information about the dataframe, calling `info()`: ```python df.info() ``` - The output looks like this: + The output looking like so: ```output @@ -164,13 +163,13 @@ Clustering is greatly enhanced by effective visualization, so let's start by vis memory usage: 66.4+ KB ``` -1. Double-check for null values by calling `isnull()` and verifying the sum is 0: +1. Double-check for null values, by calling `isnull()` and verifying the sum being 0: ```python df.isnull().sum() ``` - Everything looks good: + Looking good: ```output name 0 @@ -209,11 +208,11 @@ Clustering is greatly enhanced by effective visualization, so let's start by vis | 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 | -> 🤔 If clustering is an unsupervised method that doesn't require labeled data, why are we showing this data with labels? During the data exploration phase, labels are helpful, but they aren't necessary for clustering algorithms to work. You could remove the column headers and refer to the data by column number instead. +> 🤔 If we are working with clustering, an unsupervised method that does not require labeled data, why are we showing this data with labels? In the data exploration phase, they come in handy, but they are not necessary for the clustering algorithms to work. You could just as well remove the column headers and refer to the data by column number. -Take a look at the general values in the data. Note that popularity can be '0', which indicates songs with no ranking. We'll remove those shortly. +Look at the general values of the data. Note that popularity can be '0', which show songs that have no ranking. Let's remove those shortly. -1. Use a barplot to identify the most popular genres: +1. Use a barplot to find out the most popular genres: ```python import seaborn as sns @@ -225,13 +224,13 @@ Take a look at the general values in the data. Note that popularity can be '0', plt.title('Top genres',color = 'blue') ``` - ![most popular](../../../../5-Clustering/1-Visualize/images/popular.png) + ![most popular](../../../../translated_images/en/popular.9c48d84b3386705f.webp) -✅ If you'd like to see more top values, change the top `[:5]` to a larger value, or remove it to see everything. +✅ If you'd like to see more top values, change the top `[:5]` to a bigger value, or remove it to see all. -When the top genre is listed as 'Missing', it means Spotify didn't classify it. Let's filter it out. +Note, when the top genre is described as 'Missing', that means that Spotify did not classify it, so let's get rid of it. -1. Remove missing data by filtering it out: +1. Get rid of missing data by filtering it out ```python df = df[df['artist_top_genre'] != 'Missing'] @@ -242,11 +241,11 @@ When the top genre is listed as 'Missing', it means Spotify didn't classify it. plt.title('Top genres',color = 'blue') ``` - Now check the genres again: + Now recheck the genres: - ![most popular](../../../../5-Clustering/1-Visualize/images/all-genres.png) + ![most popular](../../../../translated_images/en/all-genres.1d56ef06cefbfcd6.webp) -1. The top three genres dominate this dataset. Let's focus on `afro dancehall`, `afropop`, and `nigerian pop`. Additionally, filter the dataset to remove entries with a popularity value of 0 (indicating they weren't classified with popularity and can be considered noise for our purposes): +1. By far, the top three genres dominate this dataset. Let's concentrate on `afro dancehall`, `afropop`, and `nigerian pop`, additionally filter the dataset to remove anything with a 0 popularity value (meaning it was not classified with a popularity in the dataset and can be considered noise for our purposes): ```python df = df[(df['artist_top_genre'] == 'afro dancehall') | (df['artist_top_genre'] == 'afropop') | (df['artist_top_genre'] == 'nigerian pop')] @@ -258,7 +257,7 @@ When the top genre is listed as 'Missing', it means Spotify didn't classify it. plt.title('Top genres',color = 'blue') ``` -1. Perform a quick test to see if the data has any strong correlations: +1. Do a quick test to see if the data correlates in any particularly strong way: ```python corrmat = df.corr(numeric_only=True) @@ -266,21 +265,21 @@ When the top genre is listed as 'Missing', it means Spotify didn't classify it. sns.heatmap(corrmat, vmax=.8, square=True) ``` - ![correlations](../../../../5-Clustering/1-Visualize/images/correlation.png) + ![correlations](../../../../translated_images/en/correlation.a9356bb798f5eea5.webp) - The only strong correlation is between `energy` and `loudness`, which isn't surprising since loud music is often energetic. Otherwise, the correlations are relatively weak. It'll be interesting to see what a clustering algorithm can uncover in this data. + The only strong correlation is between `energy` and `loudness`, which is not too surprising, given that loud music is usually pretty energetic. Otherwise, the correlations are relatively weak. It will be interesting to see what a clustering algorithm can make of this data. - > 🎓 Remember, correlation does not imply causation! We have evidence of correlation but no proof of causation. An [amusing website](https://tylervigen.com/spurious-correlations) provides visuals that emphasize this point. + > 🎓 Note that correlation does not imply causation! We have proof of correlation but no proof of causation. An [amusing web site](https://tylervigen.com/spurious-correlations) has some visuals that emphasize this point. -Is there any convergence in this dataset around a song's perceived popularity and danceability? A FacetGrid shows concentric circles aligning, regardless of genre. Could it be that Nigerian tastes converge at a certain level of danceability for this genre? +Is there any convergence in this dataset around a song's perceived popularity and danceability? A FacetGrid shows that there are concentric circles that line up, regardless of genre. Could it be that Nigerian tastes converge at a certain level of danceability for this genre? -✅ Try different data points (energy, loudness, speechiness) and explore more or different musical genres. What can you discover? Refer to the `df.describe()` table to understand the general spread of the data points. +✅ Try different datapoints (energy, loudness, speechiness) and more or different musical genres. What can you discover? Take a look at the `df.describe()` table to see the general spread of the data points. -### Exercise - Data Distribution +### Exercise - data distribution -Are these three genres significantly different in their perception of danceability based on popularity? +Are these three genres significantly different in the perception of their danceability, based on their popularity? -1. Examine the data distribution for popularity and danceability in our top three genres along a given x and y axis: +1. Examine our top three genres data distribution for popularity and danceability along a given x and y axis. ```python sns.set_theme(style="ticks") @@ -292,13 +291,13 @@ Are these three genres significantly different in their perception of danceabili ) ``` - You can observe concentric circles around a general point of convergence, showing the distribution of points. + You can discover concentric circles around a general point of convergence, showing the distribution of points. - > 🎓 This example uses a KDE (Kernel Density Estimate) graph, which represents the data using a continuous probability density curve. This helps interpret data when working with multiple distributions. + > 🎓 Note that this example uses a KDE (Kernel Density Estimate) graph that represents the data using a continuous probability density curve. This allows us to interpret data when working with multiple distributions. - In general, the three genres align loosely in terms of popularity and danceability. Identifying clusters in this loosely-aligned data will be challenging: + In general, the three genres align loosely in terms of their popularity and danceability. Determining clusters in this loosely-aligned data will be a challenge: - ![distribution](../../../../5-Clustering/1-Visualize/images/distribution.png) + ![distribution](../../../../translated_images/en/distribution.9be11df42356ca95.webp) 1. Create a scatter plot: @@ -308,25 +307,25 @@ Are these three genres significantly different in their perception of danceabili .add_legend() ``` - A scatterplot of the same axes shows a similar pattern of convergence: + A scatterplot of the same axes shows a similar pattern of convergence - ![Facetgrid](../../../../5-Clustering/1-Visualize/images/facetgrid.png) + ![Facetgrid](../../../../translated_images/en/facetgrid.9b2e65ce707eba1f.webp) -Scatterplots are useful for visualizing clusters of data, making them essential for clustering tasks. In the next lesson, we'll use k-means clustering to identify groups in this data that overlap in interesting ways. +In general, for clustering, you can use scatterplots to show clusters of data, so mastering this type of visualization is very useful. In the next lesson, we will take this filtered data and use k-means clustering to discover groups in this data that seem to overlap in interesting ways. --- ## 🚀Challenge -To prepare for the next lesson, create a chart about the various clustering algorithms you might encounter and use in a production environment. What types of problems is clustering designed to solve? +In preparation for the next lesson, make a chart about the various clustering algorithms you might discover and use in a production environment. What kinds of problems is the clustering trying to address? ## [Post-lecture quiz](https://ff-quizzes.netlify.app/en/ml/) ## Review & Self Study -Before applying clustering algorithms, it's important to understand the nature of your dataset. Learn more about this topic [here](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html). +Before you apply clustering algorithms, as we have learned, it's a good idea to understand the nature of your dataset. Read more on this topic [here](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html) -[This helpful article](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) explains how different clustering algorithms behave with various data shapes. +[This helpful article](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) walks you through the different ways that various clustering algorithms behave, given different data shapes. ## Assignment @@ -334,5 +333,7 @@ Before applying clustering algorithms, it's important to understand the nature o --- -**Disclaimer**: -This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please note that automated translations may contain errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is recommended. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation. \ No newline at end of file + +**Disclaimer**: +This document has been translated using AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation. + \ No newline at end of file diff --git a/translations/es/.co-op-translator.json b/translations/es/.co-op-translator.json index 10cdb41db..bb044b3f2 100644 --- a/translations/es/.co-op-translator.json +++ b/translations/es/.co-op-translator.json @@ -1,7 +1,7 @@ { "1-Introduction/1-intro-to-ML/README.md": { - "original_hash": "69389392fa6346e0dfa30f664b7b6fec", - "translation_date": "2025-09-04T22:21:40+00:00", + "original_hash": "3a6394c6f5ce3f8aee8211e92eaf9ef0", + "translation_date": "2026-06-23T07:26:24+00:00", "source_file": "1-Introduction/1-intro-to-ML/README.md", "language_code": "es" }, @@ -240,8 +240,8 @@ "language_code": "es" }, "5-Clustering/1-Visualize/README.md": { - "original_hash": "730225ea274c9174fe688b21d421539d", - "translation_date": "2025-09-04T22:17:37+00:00", + "original_hash": "08b00d9fbffc667a7fe7fc19ac00dfbd", + "translation_date": "2026-06-23T07:25:45+00:00", "source_file": "5-Clustering/1-Visualize/README.md", "language_code": "es" }, diff --git a/translations/es/1-Introduction/1-intro-to-ML/README.md b/translations/es/1-Introduction/1-intro-to-ML/README.md index 71f3ff689..ce848325c 100644 --- a/translations/es/1-Introduction/1-intro-to-ML/README.md +++ b/translations/es/1-Introduction/1-intro-to-ML/README.md @@ -1,41 +1,41 @@ # Introducción al aprendizaje automático -## [Cuestionario previo a la clase](https://ff-quizzes.netlify.app/en/ml/) +## [Cuestionario antes de la lección](https://ff-quizzes.netlify.app/en/ml/) --- -[![ML para principiantes - Introducción al aprendizaje automático para principiantes](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "ML para principiantes - Introducción al aprendizaje automático para principiantes") +[![ML for beginners - Introducción al Aprendizaje Automático para Principiantes](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "ML for beginners - Introduction to Machine Learning for Beginners") -> 🎥 Haz clic en la imagen de arriba para ver un breve video sobre esta lección. +> 🎥 Haz clic en la imagen de arriba para un video corto que explica esta lección. -¡Bienvenido a este curso sobre aprendizaje automático clásico para principiantes! Ya sea que seas completamente nuevo en este tema o un practicante experimentado de ML que busca repasar un área, ¡nos alegra que te unas a nosotros! Queremos crear un punto de partida amigable para tu estudio de ML y estaremos encantados de evaluar, responder e incorporar tus [comentarios](https://github.com/microsoft/ML-For-Beginners/discussions). +¡Bienvenido a este curso de aprendizaje automático clásico para principiantes! Ya seas completamente nuevo en este tema o un practicante experimentado de ML que desea repasar un área, ¡nos alegra que te unas a nosotros! Queremos crear un punto de lanzamiento amigable para tu estudio de ML y estaríamos encantados de evaluar, responder e incorporar tus [comentarios](https://github.com/microsoft/ML-For-Beginners/discussions). -[![Introducción al aprendizaje automático](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "Introducción al aprendizaje automático") +[![Introducción al ML](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "Introducción al ML") -> 🎥 Haz clic en la imagen de arriba para ver un video: John Guttag del MIT introduce el aprendizaje automático. +> 🎥 Haz clic en la imagen de arriba para un video: John Guttag del MIT introduce el aprendizaje automático --- ## Comenzando con el aprendizaje automático -Antes de comenzar con este plan de estudios, necesitas tener tu computadora configurada y lista para ejecutar notebooks de manera local. +Antes de empezar con este currículo, necesitas tener tu computadora configurada y lista para ejecutar cuadernos localmente. - **Configura tu máquina con estos videos**. Usa los siguientes enlaces para aprender [cómo instalar Python](https://youtu.be/CXZYvNRIAKM) en tu sistema y [configurar un editor de texto](https://youtu.be/EU8eayHWoZg) para el desarrollo. -- **Aprende Python**. También se recomienda tener un entendimiento básico de [Python](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott), un lenguaje de programación útil para científicos de datos que utilizamos en este curso. -- **Aprende Node.js y JavaScript**. También utilizamos JavaScript algunas veces en este curso al construir aplicaciones web, por lo que necesitarás tener [node](https://nodejs.org) y [npm](https://www.npmjs.com/) instalados, así como [Visual Studio Code](https://code.visualstudio.com/) disponible para el desarrollo tanto en Python como en JavaScript. -- **Crea una cuenta de GitHub**. Ya que nos encontraste aquí en [GitHub](https://github.com), es posible que ya tengas una cuenta, pero si no, crea una y luego haz un fork de este plan de estudios para usarlo por tu cuenta. (También puedes darnos una estrella 😊). -- **Explora Scikit-learn**. Familiarízate con [Scikit-learn](https://scikit-learn.org/stable/user_guide.html), un conjunto de bibliotecas de ML que referenciamos en estas lecciones. +- **Aprende Python**. También se recomienda tener un conocimiento básico de [Python](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott), un lenguaje de programación útil para científicos de datos que usaremos en este curso. +- **Aprende Node.js y JavaScript**. También usamos JavaScript en algunas ocasiones en este curso para construir aplicaciones web, por lo que necesitarás tener instalado [node](https://nodejs.org) y [npm](https://www.npmjs.com/), así como tener disponible [Visual Studio Code](https://code.visualstudio.com/) para el desarrollo en Python y JavaScript. +- **Crea una cuenta de GitHub**. Ya que nos encontraste aquí en [GitHub](https://github.com), probablemente ya tengas una cuenta, pero si no, crea una y luego haz un fork de este currículo para usarlo por tu cuenta. (También si quieres, danos una estrella 😊) +- **Explora Scikit-learn**. Familiarízate con [Scikit-learn](https://scikit-learn.org/stable/user_guide.html), un conjunto de bibliotecas ML que referenciamos en estas lecciones. --- ## ¿Qué es el aprendizaje automático? -El término 'aprendizaje automático' es uno de los más populares y frecuentemente utilizados hoy en día. Existe una posibilidad no trivial de que hayas escuchado este término al menos una vez si tienes algún tipo de familiaridad con la tecnología, sin importar el área en la que trabajes. Sin embargo, la mecánica del aprendizaje automático es un misterio para la mayoría de las personas. Para un principiante en aprendizaje automático, el tema puede parecer abrumador a veces. Por lo tanto, es importante entender qué es realmente el aprendizaje automático y aprender sobre él paso a paso, a través de ejemplos prácticos. +El término 'aprendizaje automático' es uno de los términos más populares y frecuentemente usados hoy en día. Existe una posibilidad no trivial de que hayas escuchado este término al menos una vez si tienes cierta familiaridad con la tecnología, sin importar en qué dominio trabajes. Sin embargo, la mecánica del aprendizaje automático es un misterio para la mayoría de las personas. Para un principiante en aprendizaje automático, el tema puede a veces sentirse abrumador. Por lo tanto, es importante entender qué es realmente el aprendizaje automático y aprenderlo paso a paso, a través de ejemplos prácticos. --- -## La curva de expectativas +## La curva de hype -![curva de expectativas de ML](../../../../1-Introduction/1-intro-to-ML/images/hype.png) +![curva de hype de ml](../../../../translated_images/es/hype.07183d711a17aafe.webp) -> Google Trends muestra la reciente 'curva de expectativas' del término 'aprendizaje automático'. +> Google Trends muestra la reciente 'curva de hype' del término 'aprendizaje automático' --- ## Un universo misterioso @@ -43,45 +43,45 @@ El término 'aprendizaje automático' es uno de los más populares y frecuenteme Vivimos en un universo lleno de misterios fascinantes. Grandes científicos como Stephen Hawking, Albert Einstein y muchos más han dedicado sus vidas a buscar información significativa que revele los misterios del mundo que nos rodea. Esta es la condición humana de aprender: un niño humano aprende cosas nuevas y descubre la estructura de su mundo año tras año mientras crece hasta la adultez. --- -## El cerebro de un niño +## El cerebro del niño -El cerebro y los sentidos de un niño perciben los hechos de su entorno y gradualmente aprenden los patrones ocultos de la vida que ayudan al niño a crear reglas lógicas para identificar patrones aprendidos. El proceso de aprendizaje del cerebro humano hace que los humanos sean la criatura más sofisticada de este mundo. Aprender continuamente descubriendo patrones ocultos y luego innovando sobre esos patrones nos permite mejorar continuamente a lo largo de nuestra vida. Esta capacidad de aprendizaje y evolución está relacionada con un concepto llamado [plasticidad cerebral](https://www.simplypsychology.org/brain-plasticity.html). Superficialmente, podemos establecer algunas similitudes motivacionales entre el proceso de aprendizaje del cerebro humano y los conceptos del aprendizaje automático. +El cerebro y los sentidos de un niño perciben los hechos de su entorno y gradualmente aprenden los patrones ocultos de la vida que ayudan al niño a construir reglas lógicas para identificar los patrones aprendidos. El proceso de aprendizaje del cerebro humano hace a los humanos la criatura más sofisticada de este mundo. Aprender continuamente descubriendo patrones ocultos y luego innovar sobre esos patrones nos permite mejorar cada vez más a lo largo de nuestra vida. Esta capacidad de aprendizaje y la capacidad evolutiva están relacionadas con un concepto llamado [plasticidad cerebral](https://www.simplypsychology.org/brain-plasticity.html). Superficialmente, podemos trazar algunas similitudes motivacionales entre el proceso de aprendizaje del cerebro humano y los conceptos del aprendizaje automático. --- ## El cerebro humano -El [cerebro humano](https://www.livescience.com/29365-human-brain.html) percibe cosas del mundo real, procesa la información percibida, toma decisiones racionales y realiza ciertas acciones según las circunstancias. Esto es lo que llamamos comportarse de manera inteligente. Cuando programamos una réplica del proceso de comportamiento inteligente en una máquina, se llama inteligencia artificial (IA). +El [cerebro humano](https://www.livescience.com/29365-human-brain.html) percibe cosas del mundo real, procesa la información percibida, toma decisiones racionales y realiza ciertas acciones basadas en las circunstancias. Esto es lo que llamamos comportamiento inteligente. Cuando programamos una réplica del proceso de comportamiento inteligente a una máquina, se llama inteligencia artificial (IA). --- ## Algunos términos -Aunque los términos pueden confundirse, el aprendizaje automático (ML) es un subconjunto importante de la inteligencia artificial. **ML se ocupa de usar algoritmos especializados para descubrir información significativa y encontrar patrones ocultos a partir de datos percibidos para corroborar el proceso de toma de decisiones racionales**. +Aunque los términos pueden confundirse, el aprendizaje automático (ML) es un subconjunto importante de la inteligencia artificial. **ML se ocupa de utilizar algoritmos especializados para descubrir información significativa y encontrar patrones ocultos a partir de datos percibidos para corroborar el proceso de toma de decisiones racional.** --- -## IA, ML, Aprendizaje profundo +## IA, ML, Aprendizaje Profundo -![IA, ML, aprendizaje profundo, ciencia de datos](../../../../1-Introduction/1-intro-to-ML/images/ai-ml-ds.png) +![IA, ML, aprendizaje profundo, ciencia de datos](../../../../translated_images/es/ai-ml-ds.537ea441b124ebf6.webp) -> Un diagrama que muestra las relaciones entre IA, ML, aprendizaje profundo y ciencia de datos. Infografía por [Jen Looper](https://twitter.com/jenlooper) inspirada en [este gráfico](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining). +> Un diagrama que muestra las relaciones entre IA, ML, aprendizaje profundo y ciencia de datos. Infografía por [Jen Looper](https://twitter.com/jenlooper) inspirada por [este gráfico](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining) --- ## Conceptos a cubrir -En este plan de estudios, vamos a cubrir solo los conceptos básicos del aprendizaje automático que un principiante debe conocer. Cubrimos lo que llamamos 'aprendizaje automático clásico', principalmente utilizando Scikit-learn, una excelente biblioteca que muchos estudiantes usan para aprender los fundamentos. Para entender conceptos más amplios de inteligencia artificial o aprendizaje profundo, es indispensable tener un conocimiento fundamental sólido del aprendizaje automático, y por eso queremos ofrecerlo aquí. +En este currículo, vamos a cubrir solo los conceptos centrales del aprendizaje automático que un principiante debe conocer. Cubrimos lo que llamamos 'aprendizaje automático clásico' principalmente usando Scikit-learn, una excelente biblioteca que muchos estudiantes usan para aprender lo básico. Para entender conceptos más amplios de inteligencia artificial o aprendizaje profundo, un conocimiento fundamental sólido de aprendizaje automático es indispensable, por lo que nos gustaría ofrecerlo aquí. --- ## En este curso aprenderás: -- conceptos básicos del aprendizaje automático +- conceptos centrales del aprendizaje automático - la historia del ML - ML y equidad -- técnicas de regresión en ML -- técnicas de clasificación en ML -- técnicas de agrupamiento en ML -- técnicas de procesamiento de lenguaje natural en ML -- técnicas de predicción de series temporales en ML +- técnicas de ML de regresión +- técnicas de ML de clasificación +- técnicas de ML de agrupamiento +- técnicas de ML para procesamiento de lenguaje natural +- técnicas de ML para pronóstico de series temporales - aprendizaje por refuerzo -- aplicaciones reales del ML +- aplicaciones reales para ML --- ## Lo que no cubriremos @@ -90,54 +90,59 @@ En este plan de estudios, vamos a cubrir solo los conceptos básicos del aprendi - redes neuronales - IA -Para ofrecer una mejor experiencia de aprendizaje, evitaremos las complejidades de las redes neuronales, el 'aprendizaje profundo' - construcción de modelos con muchas capas utilizando redes neuronales - y la IA, que discutiremos en un plan de estudios diferente. También ofreceremos un próximo plan de estudios sobre ciencia de datos para centrarnos en ese aspecto de este campo más amplio. +Para una mejor experiencia de aprendizaje, evitaremos las complejidades de las redes neuronales, el 'aprendizaje profundo' —construcción de modelos con muchas capas usando redes neuronales— y la IA, que discutiremos en otro currículo diferente. También ofreceremos próximamente un currículo de ciencia de datos para enfocarnos en ese aspecto de este campo más amplio. --- ## ¿Por qué estudiar aprendizaje automático? El aprendizaje automático, desde una perspectiva de sistemas, se define como la creación de sistemas automatizados que pueden aprender patrones ocultos a partir de datos para ayudar en la toma de decisiones inteligentes. -Esta motivación está vagamente inspirada en cómo el cerebro humano aprende ciertas cosas basándose en los datos que percibe del mundo exterior. +Esta motivación está vagamente inspirada en cómo el cerebro humano aprende ciertas cosas basadas en los datos que percibe del mundo exterior. -✅ Piensa por un momento por qué una empresa querría intentar usar estrategias de aprendizaje automático en lugar de crear un motor basado en reglas codificadas. +✅ Piensa por un minuto por qué un negocio querría intentar usar estrategias de aprendizaje automático frente a crear un motor basado en reglas codificadas rígidamente. + +--- +## Por qué la calidad de los datos importa + +Los datos de alta calidad mejoran el rendimiento del modelo. Datos pobres o ruidosos pueden llevar a predicciones inexactas, incluso usando algoritmos avanzados de aprendizaje automático. --- ## Aplicaciones del aprendizaje automático -Las aplicaciones del aprendizaje automático están ahora casi en todas partes y son tan ubicuas como los datos que fluyen en nuestras sociedades, generados por nuestros teléfonos inteligentes, dispositivos conectados y otros sistemas. Considerando el inmenso potencial de los algoritmos de aprendizaje automático de última generación, los investigadores han estado explorando su capacidad para resolver problemas reales multidimensionales y multidisciplinarios con grandes resultados positivos. +Las aplicaciones del aprendizaje automático están casi en todas partes y son tan ubicuas como los datos que fluyen en nuestras sociedades, generados por nuestros teléfonos inteligentes, dispositivos conectados y otros sistemas. Considerando el inmenso potencial de los algoritmos de aprendizaje automático más avanzados, los investigadores han estado explorando su capacidad para resolver problemas reales multidimensionales y multidisciplinarios con grandes resultados positivos. --- ## Ejemplos de ML aplicado **Puedes usar el aprendizaje automático de muchas maneras**: -- Para predecir la probabilidad de una enfermedad a partir del historial médico o informes de un paciente. -- Para aprovechar los datos meteorológicos y predecir eventos climáticos. +- Para predecir la probabilidad de una enfermedad basándose en el historial médico o informes de un paciente. +- Para aprovechar datos meteorológicos y predecir eventos climáticos. - Para entender el sentimiento de un texto. -- Para detectar noticias falsas y detener la propagación de propaganda. +- Para detectar noticias falsas y detener la difusión de propaganda. -Finanzas, economía, ciencias de la tierra, exploración espacial, ingeniería biomédica, ciencias cognitivas e incluso áreas de las humanidades han adaptado el aprendizaje automático para resolver los arduos problemas de procesamiento de datos en sus dominios. +Las finanzas, economía, ciencias de la Tierra, exploración espacial, ingeniería biomédica, ciencias cognitivas e incluso campos en las humanidades han adaptado el aprendizaje automático para resolver los arduos problemas de procesamiento de datos de su dominio. --- ## Conclusión -El aprendizaje automático automatiza el proceso de descubrimiento de patrones al encontrar información significativa a partir de datos reales o generados. Ha demostrado ser altamente valioso en aplicaciones empresariales, de salud y financieras, entre otras. +El aprendizaje automático automatiza el proceso de descubrimiento de patrones encontrando perspectivas significativas a partir de datos reales o generados. Ha demostrado ser altamente valioso en negocios, salud y aplicaciones financieras, entre otras. -En un futuro cercano, entender los fundamentos del aprendizaje automático será imprescindible para personas de cualquier área debido a su adopción generalizada. +En un futuro cercano, entender los fundamentos del aprendizaje automático será imprescindible para personas de cualquier dominio debido a su adopción generalizada. --- # 🚀 Desafío -Dibuja, en papel o usando una aplicación en línea como [Excalidraw](https://excalidraw.com/), tu comprensión de las diferencias entre IA, ML, aprendizaje profundo y ciencia de datos. Agrega algunas ideas sobre los problemas que cada una de estas técnicas es buena para resolver. +Haz un boceto, en papel o usando una aplicación en línea como [Excalidraw](https://excalidraw.com/), de tu comprensión de las diferencias entre IA, ML, aprendizaje profundo y ciencia de datos. Añade algunas ideas de problemas para los que cada una de estas técnicas es buena para resolver. -# [Cuestionario posterior a la clase](https://ff-quizzes.netlify.app/en/ml/) +# [Cuestionario después de la lección](https://ff-quizzes.netlify.app/en/ml/) --- -# Revisión y autoestudio +# Revisión y Autoestudio -Para aprender más sobre cómo trabajar con algoritmos de ML en la nube, sigue este [Camino de Aprendizaje](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-77952-leestott). +Para aprender más sobre cómo puedes trabajar con algoritmos de ML en la nube, sigue esta [Ruta de Aprendizaje](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-77952-leestott). -Toma un [Camino de Aprendizaje](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott) sobre los fundamentos del ML. +Realiza una [Ruta de Aprendizaje](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott) sobre los conceptos básicos de ML. --- # Tarea @@ -146,5 +151,7 @@ Toma un [Camino de Aprendizaje](https://docs.microsoft.com/learn/modules/introdu --- -**Descargo de responsabilidad**: -Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Si bien nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción. \ No newline at end of file + +**Descargo de responsabilidad**: +Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional humana. No somos responsables de cualquier malentendido o interpretación errónea que surja del uso de esta traducción. + \ No newline at end of file diff --git a/translations/es/5-Clustering/1-Visualize/README.md b/translations/es/5-Clustering/1-Visualize/README.md index 9e383584e..7b6ab5cd9 100644 --- a/translations/es/5-Clustering/1-Visualize/README.md +++ b/translations/es/5-Clustering/1-Visualize/README.md @@ -1,106 +1,106 @@ -# Introducción a la agrupación +# Introducción al clustering -La agrupación es un tipo de [aprendizaje no supervisado](https://wikipedia.org/wiki/Unsupervised_learning) que asume que un conjunto de datos no está etiquetado o que sus entradas no están asociadas con salidas predefinidas. Utiliza varios algoritmos para clasificar datos no etiquetados y proporcionar agrupaciones según los patrones que detecta en los datos. +El clustering es un tipo de [Aprendizaje No Supervisado](https://wikipedia.org/wiki/Unsupervised_learning) que presume que un conjunto de datos no tiene etiquetas o que sus entradas no están emparejadas con salidas predefinidas. Utiliza varios algoritmos para clasificar datos no etiquetados y proporcionar agrupaciones según los patrones que detecta en los datos. -[![No One Like You de PSquare](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](https://youtu.be/ty2advRiWJM "No One Like You de PSquare") +[![No One Like You by PSquare](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](https://youtu.be/ty2advRiWJM "No One Like You by PSquare") -> 🎥 Haz clic en la imagen de arriba para ver un video. Mientras estudias aprendizaje automático con agrupación, disfruta de algunos temas de Dance Hall nigeriano: esta es una canción muy popular de 2014 de PSquare. +> 🎥 Haz clic en la imagen de arriba para ver un video. Mientras estudias aprendizaje automático con clustering, disfruta de algunos temas de Dance Hall nigeriano; esta es una canción muy valorada de 2014 de PSquare. -## [Cuestionario previo a la lección](https://ff-quizzes.netlify.app/en/ml/) +## [Cuestionario previo a la clase](https://ff-quizzes.netlify.app/en/ml/) ### Introducción -[La agrupación](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) es muy útil para la exploración de datos. Veamos si puede ayudar a descubrir tendencias y patrones en la forma en que las audiencias nigerianas consumen música. +[El clustering](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) es muy útil para la exploración de datos. Veamos si puede ayudar a descubrir tendencias y patrones en la forma en que las audiencias nigerianas consumen música. -✅ Tómate un minuto para pensar en los usos de la agrupación. En la vida real, la agrupación ocurre cada vez que tienes un montón de ropa y necesitas clasificar la ropa de los miembros de tu familia 🧦👕👖🩲. En ciencia de datos, la agrupación ocurre al intentar analizar las preferencias de un usuario o determinar las características de cualquier conjunto de datos no etiquetado. La agrupación, de alguna manera, ayuda a dar sentido al caos, como un cajón de calcetines. +✅ Tómate un minuto para pensar en los usos del clustering. En la vida real, el clustering ocurre siempre que tienes un montón de ropa y necesitas ordenar la ropa de los miembros de tu familia 🧦👕👖🩲. En ciencia de datos, el clustering ocurre cuando intentas analizar las preferencias de un usuario o determinar las características de cualquier conjunto de datos sin etiquetar. El clustering, en cierto modo, ayuda a dar sentido al caos, como un cajón de calcetines. -[![Introducción al aprendizaje automático](https://img.youtube.com/vi/esmzYhuFnds/0.jpg)](https://youtu.be/esmzYhuFnds "Introducción a la agrupación") +[![Introducción a ML](https://img.youtube.com/vi/esmzYhuFnds/0.jpg)](https://youtu.be/esmzYhuFnds "Introducción al Clustering") -> 🎥 Haz clic en la imagen de arriba para ver un video: John Guttag del MIT introduce la agrupación. +> 🎥 Haz clic en la imagen de arriba para ver un video: John Guttag del MIT presenta el clustering -En un entorno profesional, la agrupación puede usarse para determinar cosas como la segmentación de mercado, identificando qué grupos de edad compran qué productos, por ejemplo. Otro uso sería la detección de anomalías, tal vez para identificar fraudes en un conjunto de datos de transacciones con tarjetas de crédito. O podrías usar la agrupación para identificar tumores en un lote de escaneos médicos. +En un entorno profesional, el clustering puede usarse para determinar aspectos como la segmentación de mercado, por ejemplo, qué grupos de edad compran qué artículos. Otro uso sería la detección de anomalías, quizás para detectar fraude a partir de un conjunto de datos de transacciones con tarjeta de crédito. O podrías usar clustering para detectar tumores en un lote de escáneres médicos. -✅ Piensa un minuto en cómo podrías haber encontrado la agrupación 'en la vida real', en un entorno bancario, de comercio electrónico o empresarial. +✅ Piensa un minuto en cómo podrías haberte encontrado con el clustering 'en la práctica', en un entorno bancario, de comercio electrónico o empresarial. -> 🎓 Curiosamente, el análisis de agrupación se originó en los campos de la Antropología y la Psicología en la década de 1930. ¿Puedes imaginar cómo podría haberse utilizado? +> 🎓 Curiosamente, el análisis de clústeres se originó en los campos de la Antropología y la Psicología en la década de 1930. ¿Puedes imaginar cómo podría haberse usado? -Alternativamente, podrías usarlo para agrupar resultados de búsqueda, como enlaces de compras, imágenes o reseñas, por ejemplo. La agrupación es útil cuando tienes un conjunto de datos grande que deseas reducir y sobre el cual deseas realizar un análisis más detallado, por lo que la técnica puede usarse para aprender sobre los datos antes de construir otros modelos. +Alternativamente, podrías usarlo para agrupar resultados de búsqueda, por ejemplo, por enlaces de compras, imágenes o reseñas. El clustering es útil cuando tienes un conjunto de datos grande que quieres reducir y sobre el que quieres realizar un análisis más granular, por lo que la técnica puede usarse para aprender sobre los datos antes de construir otros modelos. -✅ Una vez que tus datos están organizados en grupos, les asignas un Id de grupo, y esta técnica puede ser útil para preservar la privacidad de un conjunto de datos; en lugar de referirte a un punto de datos por información identificable, puedes referirte a él por su Id de grupo. ¿Puedes pensar en otras razones por las que preferirías referirte a un Id de grupo en lugar de otros elementos del grupo para identificarlo? +✅ Una vez que tus datos estén organizados en clústeres, les asignas un Id de clúster, y esta técnica puede ser útil para preservar la privacidad de un conjunto de datos; en lugar de referirte a un punto de datos por datos identificables más reveladores, puedes referirte a él por su Id de clúster. ¿Puedes pensar en otras razones por las que preferirías usar un Id de clúster en lugar de otros elementos del clúster para identificarlo? -Profundiza tu comprensión de las técnicas de agrupación en este [módulo de aprendizaje](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott). +Profundiza tu comprensión de las técnicas de clustering en este [módulo de aprendizaje](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott). -## Introducción a la agrupación +## Comenzando con el clustering -[Scikit-learn ofrece una amplia variedad](https://scikit-learn.org/stable/modules/clustering.html) de métodos para realizar agrupación. El tipo que elijas dependerá de tu caso de uso. Según la documentación, cada método tiene varios beneficios. Aquí hay una tabla simplificada de los métodos compatibles con Scikit-learn y sus casos de uso apropiados: +[Scikit-learn ofrece una gran variedad](https://scikit-learn.org/stable/modules/clustering.html) de métodos para realizar clustering. El tipo que elijas dependerá de tu caso de uso. Según la documentación, cada método tiene varios beneficios. Aquí tienes una tabla simplificada de los métodos admitidos por Scikit-learn y sus casos de uso adecuados: | Nombre del método | Caso de uso | -| :--------------------------- | :--------------------------------------------------------------------- | +| :--------------------------- | :-------------------------------------------------------------------- | | K-Means | propósito general, inductivo | -| Affinity propagation | muchos, grupos desiguales, inductivo | -| Mean-shift | muchos, grupos desiguales, inductivo | -| Spectral clustering | pocos, grupos iguales, transductivo | -| Ward hierarchical clustering | muchos, grupos restringidos, transductivo | -| Agglomerative clustering | muchos, restringidos, distancias no euclidianas, transductivo | -| DBSCAN | geometría no plana, grupos desiguales, transductivo | -| OPTICS | geometría no plana, grupos desiguales con densidad variable, transductivo | -| Gaussian mixtures | geometría plana, inductivo | -| BIRCH | conjunto de datos grande con valores atípicos, inductivo | - -> 🎓 Cómo creamos grupos tiene mucho que ver con cómo agrupamos los puntos de datos. Desglosémoslo: +| Propagación de afinidad | muchos clústeres desiguales, inductivo | +| Mean-shift | muchos clústeres desiguales, inductivo | +| Clustering espectral | pocos clústeres iguales, traductivo | +| Clustering jerárquico de Ward| muchos clústeres restringidos, traductivo | +| Clustering aglomerativo | muchos, restringidos, distancias no euclidianas, traductivo | +| DBSCAN | geometría no plana, clústeres desiguales, traductivo | +| OPTICS | geometría no plana, clústeres desiguales con densidad variable, traductivo | +| Mezclas gaussianas | geometría plana, inductivo | +| BIRCH | gran conjunto de datos con valores atípicos, inductivo | + +> 🎓 Cómo creamos clústeres tiene mucho que ver con cómo reunimos los puntos de datos en grupos. Vamos a desglosar un poco el vocabulario: > -> 🎓 ['Transductivo' vs. 'inductivo'](https://wikipedia.org/wiki/Transduction_(machine_learning)) +> 🎓 ['Traductivo' vs. 'inductivo'](https://wikipedia.org/wiki/Transduction_(machine_learning)) > -> La inferencia transductiva se deriva de casos de entrenamiento observados que se asignan a casos de prueba específicos. La inferencia inductiva se deriva de casos de entrenamiento que se asignan a reglas generales que luego se aplican a casos de prueba. +> La inferencia traductiva se deriva de casos de entrenamiento observados que se asignan a casos de prueba específicos. La inferencia inductiva se deriva de casos de entrenamiento que se asignan a reglas generales que solo entonces se aplican a casos de prueba. > -> Un ejemplo: Imagina que tienes un conjunto de datos que está solo parcialmente etiquetado. Algunas cosas son 'discos', otras 'CDs', y otras están en blanco. Tu trabajo es proporcionar etiquetas para los elementos en blanco. Si eliges un enfoque inductivo, entrenarías un modelo buscando 'discos' y 'CDs', y aplicarías esas etiquetas a tus datos no etiquetados. Este enfoque tendrá problemas para clasificar cosas que en realidad son 'cassettes'. Un enfoque transductivo, por otro lado, maneja estos datos desconocidos de manera más efectiva al agrupar elementos similares y luego aplicar una etiqueta a un grupo. En este caso, los grupos podrían reflejar 'cosas musicales redondas' y 'cosas musicales cuadradas'. +> Un ejemplo: imagina que tienes un conjunto de datos que está solo parcialmente etiquetado. Algunas cosas son 'discos de vinilo', otras 'CDs' y otras están en blanco. Tu trabajo es asignar etiquetas a los vacíos. Si eliges un enfoque inductivo, entrenarías un modelo buscando 'discos de vinilo' y 'CDs', y aplicarías esas etiquetas a tus datos sin etiquetar. Este enfoque tendrá problemas para clasificar cosas que en realidad son 'cassettes'. Un enfoque traductivo, por otro lado, maneja estos datos desconocidos de manera más efectiva al trabajar para agrupar artículos similares y luego aplicar una etiqueta a un grupo. En este caso, los clústeres podrían reflejar 'cosas musicales redondas' y 'cosas musicales cuadradas'. > > 🎓 ['Geometría no plana' vs. 'plana'](https://datascience.stackexchange.com/questions/52260/terminology-flat-geometry-in-the-context-of-clustering) > -> Derivado de la terminología matemática, la geometría no plana vs. plana se refiere a la medida de distancias entre puntos mediante métodos geométricos 'planos' ([Euclidianos](https://wikipedia.org/wiki/Euclidean_geometry)) o 'no planos' (no Euclidianos). +> Derivado de la terminología matemática, geometría no plana vs. plana se refiere a la medida de distancias entre puntos mediante métodos geométricos 'planos' ([Euclidianos](https://wikipedia.org/wiki/Euclidean_geometry)) o 'no planos' (no euclidianos). > ->'Plana' en este contexto se refiere a la geometría Euclidiana (partes de la cual se enseñan como geometría 'plana'), y no plana se refiere a la geometría no Euclidiana. ¿Qué tiene que ver la geometría con el aprendizaje automático? Bueno, como dos campos que están arraigados en las matemáticas, debe haber una forma común de medir distancias entre puntos en grupos, y eso puede hacerse de manera 'plana' o 'no plana', dependiendo de la naturaleza de los datos. [Las distancias Euclidianas](https://wikipedia.org/wiki/Euclidean_distance) se miden como la longitud de un segmento de línea entre dos puntos. [Las distancias no Euclidianas](https://wikipedia.org/wiki/Non-Euclidean_geometry) se miden a lo largo de una curva. Si tus datos, visualizados, parecen no existir en un plano, podrías necesitar usar un algoritmo especializado para manejarlos. +> 'Plano' en este contexto se refiere a la geometría euclidiana (partes de la cual se enseñan como geometría 'del plano'), y no plano se refiere a la geometría no euclidiana. ¿Qué tiene que ver la geometría con el aprendizaje automático? Bueno, como dos campos que están basados en las matemáticas, debe existir una forma común de medir las distancias entre puntos en los clústeres, y eso puede hacerse de manera 'plana' o 'no plana', dependiendo de la naturaleza de los datos. Las [distancias euclidianas](https://wikipedia.org/wiki/Euclidean_distance) se miden como la longitud de un segmento de línea entre dos puntos. Las [distancias no euclidianas](https://wikipedia.org/wiki/Non-Euclidean_geometry) se miden a lo largo de una curva. Si tus datos, visualizados, parecen no existir en un plano, podrías necesitar usar un algoritmo especializado para manejarlos. > -![Infografía de geometría plana vs. no plana](../../../../5-Clustering/1-Visualize/images/flat-nonflat.png) +![Infografía de geometría plana vs no plana](../../../../translated_images/es/flat-nonflat.d1c8c6e2a96110c1.webp) > Infografía por [Dasani Madipalli](https://twitter.com/dasani_decoded) > > 🎓 ['Distancias'](https://web.stanford.edu/class/cs345a/slides/12-clustering.pdf) > -> Los grupos se definen por su matriz de distancias, es decir, las distancias entre puntos. Esta distancia puede medirse de varias maneras. Los grupos Euclidianos se definen por el promedio de los valores de los puntos y contienen un 'centroide' o punto central. Las distancias se miden así por la distancia a ese centroide. Las distancias no Euclidianas se refieren a 'clustroides', el punto más cercano a otros puntos. Los clustroides, a su vez, pueden definirse de varias maneras. +> Los clústeres se definen por su matriz de distancias, es decir, las distancias entre puntos. Esta distancia puede medirse de varias maneras. Los clústeres euclidianos se definen por el promedio de los valores de los puntos, y contienen un 'centroide' o punto central. Las distancias se miden así por la distancia al centroide. Las distancias no euclidianas se refieren a 'clustroides', el punto más cercano a otros puntos. Los clustroides a su vez pueden definirse de varias maneras. > > 🎓 ['Restringido'](https://wikipedia.org/wiki/Constrained_clustering) > -> [La agrupación restringida](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) introduce el aprendizaje 'semi-supervisado' en este método no supervisado. Las relaciones entre puntos se marcan como 'no puede vincular' o 'debe vincular', por lo que se imponen algunas reglas al conjunto de datos. +> [El Clustering Restringido](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) introduce el aprendizaje 'semi supervisado' en este método no supervisado. Las relaciones entre puntos se marcan como 'no se puede enlazar' o 'deben enlazarse' para que algunas reglas se impongan en el conjunto de datos. > ->Un ejemplo: Si un algoritmo se deja libre en un lote de datos no etiquetados o semi-etiquetados, los grupos que produce pueden ser de baja calidad. En el ejemplo anterior, los grupos podrían agrupar 'cosas musicales redondas', 'cosas musicales cuadradas', 'cosas triangulares' y 'galletas'. Si se le dan algunas restricciones o reglas a seguir ("el artículo debe estar hecho de plástico", "el artículo necesita poder producir música"), esto puede ayudar a 'restringir' el algoritmo para tomar mejores decisiones. +>Un ejemplo: Si un algoritmo se aplica libremente sobre un lote de datos sin etiqueta o semi-etiquetados, los clústeres que produce pueden ser de baja calidad. En el ejemplo anterior, los clústeres podrían agrupar 'cosas musicales redondas', 'cosas musicales cuadradas', 'cosas triangulares' y 'galletas'. Si se le dan algunas restricciones o reglas a seguir ("el artículo debe estar hecho de plástico", "el artículo debe poder producir música"), esto puede ayudar a 'restringir' el algoritmo para que tome mejores decisiones. > > 🎓 'Densidad' > -> Los datos que son 'ruidosos' se consideran 'densos'. Las distancias entre puntos en cada uno de sus grupos pueden resultar, al examinarlas, más o menos densas, o 'congestionadas', y por lo tanto estos datos necesitan analizarse con el método de agrupación apropiado. [Este artículo](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) demuestra la diferencia entre usar agrupación K-Means vs. algoritmos HDBSCAN para explorar un conjunto de datos ruidoso con densidad de grupo desigual. +> Los datos que son 'ruidosos' se consideran 'densos'. Las distancias entre los puntos en cada uno de sus clústeres pueden demostrar, tras examen, ser más o menos densas o 'concurridas', y por lo tanto estos datos deben analizarse con el método de clustering adecuado. [Este artículo](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) demuestra la diferencia entre usar clustering K-Means frente a algoritmos HDBSCAN para explorar un conjunto de datos ruidoso con densidad de clústeres desigual. -## Algoritmos de agrupación +## Algoritmos de clustering -Existen más de 100 algoritmos de agrupación, y su uso depende de la naturaleza de los datos en cuestión. Hablemos de algunos de los principales: +Existen más de 100 algoritmos de clustering, y su uso depende de la naturaleza de los datos en cuestión. Vamos a discutir algunos de los principales: -- **Agrupación jerárquica**. Si un objeto se clasifica por su proximidad a un objeto cercano, en lugar de a uno más lejano, los grupos se forman en función de la distancia de sus miembros hacia y desde otros objetos. La agrupación aglomerativa de Scikit-learn es jerárquica. +- **Clustering jerárquico**. Si un objeto se clasifica por su proximidad a un objeto cercano en lugar de a uno más lejano, se forman clústeres basados en la distancia de sus miembros hacia y desde otros objetos. El clustering aglomerativo de Scikit-learn es jerárquico. - ![Infografía de agrupación jerárquica](../../../../5-Clustering/1-Visualize/images/hierarchical.png) + ![Infografía de clustering jerárquico](../../../../translated_images/es/hierarchical.bf59403aa43c8c47.webp) > Infografía por [Dasani Madipalli](https://twitter.com/dasani_decoded) -- **Agrupación por centroides**. Este algoritmo popular requiere elegir 'k', o el número de grupos a formar, después de lo cual el algoritmo determina el punto central de un grupo y reúne datos alrededor de ese punto. [La agrupación K-means](https://wikipedia.org/wiki/K-means_clustering) es una versión popular de la agrupación por centroides. El centro se determina por la media más cercana, de ahí el nombre. La distancia cuadrada desde el grupo se minimiza. +- **Clustering centróide**. Este algoritmo popular requiere la elección de 'k', o el número de clústeres a formar, tras lo cual el algoritmo determina el punto central de un clúster y reúne los datos alrededor de ese punto. El [clustering K-means](https://wikipedia.org/wiki/K-means_clustering) es una versión popular del clustering centróide. El centro se determina por la media más cercana, de ahí el nombre. Se minimiza la distancia cuadrada desde el clúster. - ![Infografía de agrupación por centroides](../../../../5-Clustering/1-Visualize/images/centroid.png) + ![Infografía de clustering centróide](../../../../translated_images/es/centroid.097fde836cf6c918.webp) > Infografía por [Dasani Madipalli](https://twitter.com/dasani_decoded) -- **Agrupación basada en distribución**. Basada en modelos estadísticos, la agrupación basada en distribución se centra en determinar la probabilidad de que un punto de datos pertenezca a un grupo y asignarlo en consecuencia. Los métodos de mezcla gaussiana pertenecen a este tipo. +- **Clustering basado en distribución**. Basado en modelado estadístico, el clustering basado en distribución se centra en determinar la probabilidad de que un punto de datos pertenezca a un clúster y asignarlo en consecuencia. Los métodos de mezcla gaussiana pertenecen a este tipo. -- **Agrupación basada en densidad**. Los puntos de datos se asignan a grupos según su densidad, o su agrupación entre sí. Los puntos de datos alejados del grupo se consideran valores atípicos o ruido. DBSCAN, Mean-shift y OPTICS pertenecen a este tipo de agrupación. +- **Clustering basado en densidad**. Los puntos de datos se asignan a clústeres según su densidad o su agrupamiento entre sí. Los puntos de datos alejados del grupo se consideran valores atípicos o ruido. DBSCAN, Mean-shift y OPTICS pertenecen a este tipo de clustering. -- **Agrupación basada en cuadrícula**. Para conjuntos de datos multidimensionales, se crea una cuadrícula y los datos se dividen entre las celdas de la cuadrícula, creando así grupos. +- **Clustering basado en rejilla**. Para conjuntos de datos multidimensionales, se crea una rejilla y los datos se dividen entre las celdas de la rejilla, creando así clústeres. -## Ejercicio - agrupa tus datos +## Ejercicio - clusteriza tus datos -La técnica de agrupación se beneficia enormemente de una visualización adecuada, así que comencemos visualizando nuestros datos musicales. Este ejercicio nos ayudará a decidir cuál de los métodos de agrupación deberíamos usar de manera más efectiva para la naturaleza de estos datos. +El clustering como técnica se ve enormemente facilitado por una visualización adecuada, así que comencemos visualizando nuestros datos musicales. Este ejercicio nos ayudará a decidir cuál de los métodos de clustering deberíamos usar de manera más efectiva para la naturaleza de estos datos. 1. Abre el archivo [_notebook.ipynb_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/1-Visualize/notebook.ipynb) en esta carpeta. @@ -110,7 +110,7 @@ La técnica de agrupación se beneficia enormemente de una visualización adecua !pip install seaborn ``` -1. Agrega los datos de canciones desde [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv). Carga un dataframe con algunos datos sobre las canciones. Prepárate para explorar estos datos importando las bibliotecas y mostrando los datos: +1. Añade los datos de las canciones desde [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv). Carga un dataframe con algunos datos sobre las canciones. Prepárate para explorar estos datos importando las bibliotecas y mostrando los datos: ```python import matplotlib.pyplot as plt @@ -126,17 +126,17 @@ La técnica de agrupación se beneficia enormemente de una visualización adecua | --- | ------------------------ | ---------------------------- | ------------------- | ---------------- | ------------ | ------ | ---------- | ------------ | ------------ | ------ | ---------------- | -------- | -------- | ----------- | ------- | -------------- | | 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Ø | 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. Obtén información sobre el dataframe llamando a `info()`: +1. Obtén información sobre el dataframe, llamando a `info()`: ```python df.info() ``` - El resultado se ve así: + La salida se ve así: ```output @@ -164,13 +164,13 @@ La técnica de agrupación se beneficia enormemente de una visualización adecua memory usage: 66.4+ KB ``` -1. Verifica nuevamente si hay valores nulos llamando a `isnull()` y asegurándote de que la suma sea 0: +1. Verifica nuevamente si hay valores nulos, llamando a `isnull()` y verificando que la suma sea 0: ```python df.isnull().sum() ``` - Todo se ve bien: + Se ve bien: ```output name 0 @@ -209,11 +209,11 @@ La técnica de agrupación se beneficia enormemente de una visualización adecua | 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 | -> 🤔 Si estamos trabajando con clustering, un método no supervisado que no requiere datos etiquetados, ¿por qué estamos mostrando estos datos con etiquetas? En la fase de exploración de datos son útiles, pero no son necesarios para que los algoritmos de clustering funcionen. Podrías eliminar los encabezados de las columnas y referirte a los datos por número de columna. +> 🤔 Si estamos trabajando con clustering, un método no supervisado que no requiere datos etiquetados, ¿por qué mostramos estos datos con etiquetas? En la fase de exploración de datos, resultan útiles, pero no son necesarias para que funcionen los algoritmos de clustering. Podrías perfectamente eliminar los encabezados de columna y referirte a los datos por número de columna. -Observa los valores generales de los datos. Nota que la popularidad puede ser '0', lo que muestra canciones que no tienen ranking. Eliminemos esos valores pronto. +Observa los valores generales de los datos. Nota que la popularidad puede ser '0', lo que muestra canciones que no tienen clasificación. Eliminaremos esos pronto. -1. Usa un gráfico de barras para encontrar los géneros más populares: +1. Usa un diagrama de barras para encontrar los géneros más populares: ```python import seaborn as sns @@ -225,13 +225,13 @@ Observa los valores generales de los datos. Nota que la popularidad puede ser '0 plt.title('Top genres',color = 'blue') ``` - ![most popular](../../../../5-Clustering/1-Visualize/images/popular.png) + ![most popular](../../../../translated_images/es/popular.9c48d84b3386705f.webp) -✅ Si deseas ver más valores principales, cambia el top `[:5]` a un valor mayor o elimínalo para ver todo. +✅ Si deseas ver más valores principales, cambia el top `[:5]` por un valor mayor, o elimínalo para ver todos. -Nota que cuando el género principal se describe como 'Missing', significa que Spotify no lo clasificó, así que eliminémoslo. +Nota, cuando el género principal se describe como 'Missing', significa que Spotify no lo clasificó, así que deshagámonos de él. -1. Elimina los datos faltantes filtrándolos: +1. Elimina los datos faltantes filtrándolos ```python df = df[df['artist_top_genre'] != 'Missing'] @@ -242,11 +242,11 @@ Nota que cuando el género principal se describe como 'Missing', significa que S plt.title('Top genres',color = 'blue') ``` - Ahora verifica nuevamente los géneros: + Ahora vuelve a revisar los géneros: - ![most popular](../../../../5-Clustering/1-Visualize/images/all-genres.png) + ![most popular](../../../../translated_images/es/all-genres.1d56ef06cefbfcd6.webp) -1. Los tres géneros principales dominan este conjunto de datos. Concentrémonos en `afro dancehall`, `afropop` y `nigerian pop`, y además filtremos el conjunto de datos para eliminar cualquier valor de popularidad igual a 0 (lo que significa que no fue clasificado con una popularidad en el conjunto de datos y puede considerarse ruido para nuestros propósitos): +1. Por mucho, los tres géneros principales dominan este conjunto de datos. Concentrémonos en `afro dancehall`, `afropop` y `nigerian pop`, además filtra el conjunto de datos para eliminar cualquier valor de popularidad 0 (lo que significa que no fue clasificado con una popularidad en el conjunto de datos y puede considerarse ruido para nuestros propósitos): ```python df = df[(df['artist_top_genre'] == 'afro dancehall') | (df['artist_top_genre'] == 'afropop') | (df['artist_top_genre'] == 'nigerian pop')] @@ -258,7 +258,7 @@ Nota que cuando el género principal se describe como 'Missing', significa que S plt.title('Top genres',color = 'blue') ``` -1. Haz una prueba rápida para ver si los datos tienen alguna correlación particularmente fuerte: +1. Realiza una prueba rápida para ver si los datos se correlacionan de manera especialmente fuerte: ```python corrmat = df.corr(numeric_only=True) @@ -266,21 +266,21 @@ Nota que cuando el género principal se describe como 'Missing', significa que S sns.heatmap(corrmat, vmax=.8, square=True) ``` - ![correlations](../../../../5-Clustering/1-Visualize/images/correlation.png) + ![correlations](../../../../translated_images/es/correlation.a9356bb798f5eea5.webp) - La única correlación fuerte es entre `energy` y `loudness`, lo cual no es muy sorprendente, dado que la música fuerte suele ser bastante energética. Por lo demás, las correlaciones son relativamente débiles. Será interesante ver qué puede hacer un algoritmo de clustering con estos datos. + La única correlación fuerte es entre `energy` y `loudness`, lo cual no es muy sorprendente, dado que la música alta suele ser bastante energética. Por lo demás, las correlaciones son relativamente débiles. Será interesante ver qué puede hacer un algoritmo de clustering con estos datos. - > 🎓 ¡Nota que la correlación no implica causalidad! Tenemos prueba de correlación pero no prueba de causalidad. Un [sitio web divertido](https://tylervigen.com/spurious-correlations) tiene algunos gráficos que enfatizan este punto. + > 🎓 ¡Nota que correlación no implica causalidad! Tenemos prueba de correlación pero no de causalidad. Un [sitio web divertido](https://tylervigen.com/spurious-correlations) tiene algunas visualizaciones que enfatizan este punto. -¿Hay alguna convergencia en este conjunto de datos en torno a la popularidad percibida de una canción y su capacidad de baile? Un FacetGrid muestra que hay círculos concéntricos que se alinean, independientemente del género. ¿Podría ser que los gustos nigerianos convergen en un cierto nivel de capacidad de baile para este género? +¿Existe alguna convergencia en este conjunto de datos respecto a la popularidad percibida de una canción y su bailabilidad? Un FacetGrid muestra que hay círculos concéntricos que se alinean, sin importar el género. ¿Podría ser que los gustos nigerianos converjan a cierto nivel de bailabilidad para este género? -✅ Prueba diferentes puntos de datos (energy, loudness, speechiness) y más o diferentes géneros musicales. ¿Qué puedes descubrir? Mira la tabla `df.describe()` para ver la distribución general de los puntos de datos. +✅ Prueba diferentes puntos de datos (energy, loudness, speechiness) y más o diferentes géneros musicales. ¿Qué puedes descubrir? Echa un vistazo a la tabla `df.describe()` para ver la distribución general de los puntos de datos. ### Ejercicio - distribución de datos -¿Son estos tres géneros significativamente diferentes en la percepción de su capacidad de baile, basada en su popularidad? +¿Son estos tres géneros significativamente diferentes en la percepción de su bailabilidad, basándonos en su popularidad? -1. Examina la distribución de datos de nuestros tres géneros principales para popularidad y capacidad de baile a lo largo de un eje x y y dado. +1. Examina la distribución de datos de nuestros tres géneros principales para popularidad y bailabilidad a lo largo de un eje x y y dado. ```python sns.set_theme(style="ticks") @@ -294,13 +294,13 @@ Nota que cuando el género principal se describe como 'Missing', significa que S Puedes descubrir círculos concéntricos alrededor de un punto general de convergencia, mostrando la distribución de puntos. - > 🎓 Nota que este ejemplo utiliza un gráfico KDE (Kernel Density Estimate) que representa los datos usando una curva de densidad de probabilidad continua. Esto nos permite interpretar los datos cuando trabajamos con múltiples distribuciones. + > 🎓 Nota que este ejemplo usa un gráfico KDE (Estimación de Densidad de Núcleo) que representa los datos usando una curva continua de densidad de probabilidad. Esto nos permite interpretar datos cuando trabajamos con múltiples distribuciones. - En general, los tres géneros se alinean de manera suelta en términos de su popularidad y capacidad de baile. Determinar clusters en estos datos alineados de manera suelta será un desafío: + En general, los tres géneros se alinean de forma laxa en términos de su popularidad y bailabilidad. Determinar clusters en estos datos laxa y alineados será un desafío: - ![distribution](../../../../5-Clustering/1-Visualize/images/distribution.png) + ![distribution](../../../../translated_images/es/distribution.9be11df42356ca95.webp) -1. Crea un gráfico de dispersión: +1. Crea un diagrama de dispersión: ```python sns.FacetGrid(df, hue="artist_top_genre", height=5) \ @@ -308,25 +308,25 @@ Nota que cuando el género principal se describe como 'Missing', significa que S .add_legend() ``` - Un gráfico de dispersión de los mismos ejes muestra un patrón similar de convergencia. + Un diagrama de dispersión con los mismos ejes muestra un patrón similar de convergencia - ![Facetgrid](../../../../5-Clustering/1-Visualize/images/facetgrid.png) + ![Facetgrid](../../../../translated_images/es/facetgrid.9b2e65ce707eba1f.webp) -En general, para clustering, puedes usar gráficos de dispersión para mostrar clusters de datos, por lo que dominar este tipo de visualización es muy útil. En la próxima lección, tomaremos estos datos filtrados y usaremos clustering k-means para descubrir grupos en estos datos que parecen superponerse de maneras interesantes. +En general, para clustering, puedes usar diagramas de dispersión para mostrar clusters de datos, por lo que dominar este tipo de visualización es muy útil. En la próxima lección, usaremos estos datos filtrados y aplicaremos k-means clustering para descubrir grupos en estos datos que parecen superponerse de maneras interesantes. --- ## 🚀Desafío -En preparación para la próxima lección, haz un gráfico sobre los diversos algoritmos de clustering que podrías descubrir y usar en un entorno de producción. ¿Qué tipo de problemas está tratando de abordar el clustering? +En preparación para la próxima lección, haz un gráfico sobre los distintos algoritmos de clustering que podrías descubrir y usar en un entorno productivo. ¿Qué tipos de problemas intenta abordar el clustering? -## [Cuestionario posterior a la lección](https://ff-quizzes.netlify.app/en/ml/) +## [Cuestionario post-lección](https://ff-quizzes.netlify.app/en/ml/) -## Revisión y autoestudio +## Revisión y Autoestudio -Antes de aplicar algoritmos de clustering, como hemos aprendido, es una buena idea entender la naturaleza de tu conjunto de datos. Lee más sobre este tema [aquí](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html) +Antes de aplicar algoritmos de clustering, como hemos aprendido, es buena idea entender la naturaleza de tu conjunto de datos. Lee más sobre este tema [aquí](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html) -[Este artículo útil](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) te guía a través de las diferentes formas en que varios algoritmos de clustering se comportan, dadas diferentes formas de datos. +[Este artículo útil](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) te guía a través de las distintas formas en que se comportan varios algoritmos de clustering, dados diferentes formas de datos. ## Tarea @@ -334,5 +334,7 @@ Antes de aplicar algoritmos de clustering, como hemos aprendido, es una buena id --- -**Descargo de responsabilidad**: -Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Si bien nos esforzamos por lograr precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse como la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción. \ No newline at end of file + +**Descargo de responsabilidad**: +Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional humana. No somos responsables de cualquier malentendido o interpretación errónea que surja del uso de esta traducción. + \ No newline at end of file diff --git a/translations/fr/.co-op-translator.json b/translations/fr/.co-op-translator.json index 449363868..87ab9809a 100644 --- a/translations/fr/.co-op-translator.json +++ b/translations/fr/.co-op-translator.json @@ -1,7 +1,7 @@ { "1-Introduction/1-intro-to-ML/README.md": { - "original_hash": "69389392fa6346e0dfa30f664b7b6fec", - "translation_date": "2025-09-04T23:00:52+00:00", + "original_hash": "3a6394c6f5ce3f8aee8211e92eaf9ef0", + "translation_date": "2026-06-23T07:24:11+00:00", "source_file": "1-Introduction/1-intro-to-ML/README.md", "language_code": "fr" }, @@ -240,8 +240,8 @@ "language_code": "fr" }, "5-Clustering/1-Visualize/README.md": { - "original_hash": "730225ea274c9174fe688b21d421539d", - "translation_date": "2025-09-04T22:56:33+00:00", + "original_hash": "08b00d9fbffc667a7fe7fc19ac00dfbd", + "translation_date": "2026-06-23T07:23:30+00:00", "source_file": "5-Clustering/1-Visualize/README.md", "language_code": "fr" }, diff --git a/translations/fr/1-Introduction/1-intro-to-ML/README.md b/translations/fr/1-Introduction/1-intro-to-ML/README.md index 43d37c4a7..8eef30a04 100644 --- a/translations/fr/1-Introduction/1-intro-to-ML/README.md +++ b/translations/fr/1-Introduction/1-intro-to-ML/README.md @@ -1,150 +1,157 @@ -# Introduction au machine learning +# Introduction à l'apprentissage automatique ## [Quiz avant le cours](https://ff-quizzes.netlify.app/en/ml/) --- -[![ML pour débutants - Introduction au Machine Learning pour débutants](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "ML pour débutants - Introduction au Machine Learning pour débutants") +[![ML for beginners - Introduction to Machine Learning for Beginners](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "ML for beginners - Introduction to Machine Learning for Beginners") -> 🎥 Cliquez sur l'image ci-dessus pour une courte vidéo sur cette leçon. +> 🎥 Cliquez sur l'image ci-dessus pour une courte vidéo expliquant cette leçon. -Bienvenue dans ce cours sur le machine learning classique pour débutants ! Que vous soyez complètement novice dans ce domaine ou un praticien expérimenté cherchant à revoir certains aspects, nous sommes ravis de vous accueillir ! Nous souhaitons créer un point de départ convivial pour vos études en machine learning et serions heureux d'évaluer, de répondre et d'intégrer vos [retours](https://github.com/microsoft/ML-For-Beginners/discussions). +Bienvenue dans ce cours sur l'apprentissage automatique classique pour débutants ! Que vous soyez complètement novice dans ce sujet, ou un praticien expérimenté de l'IA souhaitant réviser un domaine, nous sommes heureux de vous accueillir ! Nous voulons créer un point de départ convivial pour votre étude de l'IA et serions ravis d'évaluer, répondre et intégrer vos [retours](https://github.com/microsoft/ML-For-Beginners/discussions). -[![Introduction au ML](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "Introduction au ML") +[![Introduction to ML](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "Introduction to ML") -> 🎥 Cliquez sur l'image ci-dessus pour une vidéo : John Guttag du MIT introduit le machine learning +> 🎥 Cliquez sur l'image ci-dessus pour une vidéo : John Guttag du MIT présente l'apprentissage automatique --- -## Premiers pas avec le machine learning +## Commencer avec l'apprentissage automatique -Avant de commencer ce programme, vous devez configurer votre ordinateur pour exécuter des notebooks localement. +Avant de commencer ce programme, vous devez configurer votre ordinateur et être prêt à exécuter des notebooks localement. - **Configurez votre machine avec ces vidéos**. Utilisez les liens suivants pour apprendre [comment installer Python](https://youtu.be/CXZYvNRIAKM) sur votre système et [configurer un éditeur de texte](https://youtu.be/EU8eayHWoZg) pour le développement. -- **Apprenez Python**. Il est également recommandé d'avoir une compréhension de base de [Python](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott), un langage de programmation utile pour les data scientists que nous utilisons dans ce cours. -- **Apprenez Node.js et JavaScript**. Nous utilisons également JavaScript à quelques reprises dans ce cours pour créer des applications web, donc vous devrez avoir [node](https://nodejs.org) et [npm](https://www.npmjs.com/) installés, ainsi que [Visual Studio Code](https://code.visualstudio.com/) disponible pour le développement en Python et JavaScript. -- **Créez un compte GitHub**. Puisque vous nous avez trouvés ici sur [GitHub](https://github.com), vous avez peut-être déjà un compte, mais si ce n'est pas le cas, créez-en un, puis forkez ce programme pour l'utiliser vous-même. (N'hésitez pas à nous donner une étoile, aussi 😊) -- **Explorez Scikit-learn**. Familiarisez-vous avec [Scikit-learn](https://scikit-learn.org/stable/user_guide.html), un ensemble de bibliothèques ML que nous utilisons dans ces leçons. +- **Apprenez Python**. Il est également recommandé d’avoir une compréhension de base de [Python](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott), un langage de programmation utile pour les data scientists que nous utilisons dans ce cours. +- **Apprenez Node.js et JavaScript**. Nous utilisons également JavaScript plusieurs fois dans ce cours lors de la création d'applications web, vous aurez donc besoin d’avoir [node](https://nodejs.org) et [npm](https://www.npmjs.com/) installés, ainsi que [Visual Studio Code](https://code.visualstudio.com/) disponible pour le développement Python et JavaScript. +- **Créez un compte GitHub**. Puisque vous nous avez trouvés ici sur [GitHub](https://github.com), vous avez peut-être déjà un compte, sinon créez-en un puis fork ce programme pour l’utiliser vous-même. (N'hésitez pas à nous donner une étoile aussi 😊) +- **Explorez Scikit-learn**. Familiarisez-vous avec [Scikit-learn](https://scikit-learn.org/stable/user_guide.html), un ensemble de bibliothèques d’IA que nous référencions dans ces leçons. --- -## Qu'est-ce que le machine learning ? +## Qu'est-ce que l'apprentissage automatique ? -Le terme "machine learning" est l'un des termes les plus populaires et fréquemment utilisés aujourd'hui. Il est fort probable que vous ayez entendu ce terme au moins une fois si vous avez une certaine familiarité avec la technologie, peu importe le domaine dans lequel vous travaillez. Cependant, les mécanismes du machine learning restent un mystère pour la plupart des gens. Pour un débutant en machine learning, le sujet peut parfois sembler écrasant. Il est donc important de comprendre ce qu'est réellement le machine learning et d'apprendre à le maîtriser étape par étape, à travers des exemples pratiques. +Le terme « apprentissage automatique » est l'un des plus populaires et fréquemment utilisés aujourd’hui. Il est fort probable que vous ayez entendu ce terme au moins une fois si vous avez un minimum de familiarité avec la technologie, quel que soit votre domaine. Cependant, les mécanismes de l'apprentissage automatique sont un mystère pour la plupart des gens. Pour un débutant en apprentissage automatique, le sujet peut parfois sembler écrasant. Il est donc important de comprendre ce qu'est réellement l'apprentissage automatique, et d'en apprendre pas à pas, à travers des exemples pratiques. --- -## La courbe de la hype +## La courbe de popularité -![courbe de la hype du ML](../../../../1-Introduction/1-intro-to-ML/images/hype.png) +![ml hype curve](../../../../translated_images/fr/hype.07183d711a17aafe.webp) -> Google Trends montre la récente "courbe de la hype" du terme "machine learning" +> Google Trends montre la récente « courbe de popularité » du terme « machine learning » --- ## Un univers mystérieux -Nous vivons dans un univers rempli de mystères fascinants. De grands scientifiques tels que Stephen Hawking, Albert Einstein, et bien d'autres ont consacré leur vie à rechercher des informations significatives pour dévoiler les mystères du monde qui nous entoure. C'est la condition humaine d'apprentissage : un enfant humain apprend de nouvelles choses et découvre la structure de son monde année après année en grandissant. +Nous vivons dans un univers rempli de mystères fascinants. De grands scientifiques comme Stephen Hawking, Albert Einstein et bien d'autres ont consacré leur vie à rechercher des informations significatives qui dévoilent les mystères du monde qui nous entoure. C’est la condition humaine de l’apprentissage : un enfant humain découvre de nouvelles choses et dévoile la structure de son monde année après année en grandissant jusqu’à l’âge adulte. --- -## Le cerveau de l'enfant +## Le cerveau de l’enfant -Le cerveau et les sens d'un enfant perçoivent les faits de leur environnement et apprennent progressivement les schémas cachés de la vie, ce qui aide l'enfant à élaborer des règles logiques pour identifier les schémas appris. Le processus d'apprentissage du cerveau humain fait des humains les créatures vivantes les plus sophistiquées de ce monde. Apprendre continuellement en découvrant des schémas cachés, puis en innovant sur ces schémas, nous permet de nous améliorer tout au long de notre vie. Cette capacité d'apprentissage et d'évolution est liée à un concept appelé [plasticité cérébrale](https://www.simplypsychology.org/brain-plasticity.html). Superficiellement, nous pouvons établir des similitudes motivantes entre le processus d'apprentissage du cerveau humain et les concepts du machine learning. +Le cerveau et les sens d’un enfant perçoivent les faits de leur environnement et apprennent progressivement les motifs cachés de la vie qui aident l’enfant à élaborer des règles logiques pour identifier les motifs appris. Le processus d’apprentissage du cerveau humain fait de l’homme la créature la plus sophistiquée de ce monde. Apprendre continuellement en découvrant des motifs cachés puis innover sur ces motifs nous permet de nous améliorer tout au long de notre vie. Cette capacité d’apprentissage et cette faculté d’évolution sont liées à un concept appelé [plasticité cérébrale](https://www.simplypsychology.org/brain-plasticity.html). Superficiellement, on peut tracer quelques similitudes motivantes entre le processus d'apprentissage du cerveau humain et les concepts d'apprentissage automatique. --- ## Le cerveau humain -Le [cerveau humain](https://www.livescience.com/29365-human-brain.html) perçoit des choses du monde réel, traite les informations perçues, prend des décisions rationnelles et effectue certaines actions en fonction des circonstances. C'est ce que nous appelons se comporter intelligemment. Lorsque nous programmons une imitation du processus de comportement intelligent dans une machine, cela s'appelle intelligence artificielle (IA). +Le [cerveau humain](https://www.livescience.com/29365-human-brain.html) perçoit les choses du monde réel, traite l’information perçue, prend des décisions rationnelles et effectue certaines actions selon les circonstances. C’est ce que l’on appelle se comporter intelligemment. Lorsque nous programmons une copie de ce processus comportemental intelligent sur une machine, cela s’appelle l’intelligence artificielle (IA). --- ## Quelques terminologies -Bien que les termes puissent prêter à confusion, le machine learning (ML) est un sous-ensemble important de l'intelligence artificielle. **Le ML consiste à utiliser des algorithmes spécialisés pour découvrir des informations significatives et trouver des schémas cachés à partir de données perçues afin de corroborer le processus de prise de décision rationnelle**. +Bien que les termes puissent être confondus, l'apprentissage automatique (ML) est un sous-ensemble important de l'intelligence artificielle. **Le ML consiste à utiliser des algorithmes spécialisés pour découvrir des informations significatives et trouver des motifs cachés dans les données perçues afin de corroborer le processus de prise de décision rationnelle**. --- -## IA, ML, Deep Learning +## AI, ML, Deep Learning -![IA, ML, deep learning, data science](../../../../1-Introduction/1-intro-to-ML/images/ai-ml-ds.png) +![AI, ML, deep learning, data science](../../../../translated_images/fr/ai-ml-ds.537ea441b124ebf6.webp) -> Un diagramme montrant les relations entre IA, ML, deep learning et data science. Infographie par [Jen Looper](https://twitter.com/jenlooper) inspirée de [ce graphique](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining) +> Un schéma montrant les relations entre IA, ML, apprentissage profond et science des données. Infographie par [Jen Looper](https://twitter.com/jenlooper) inspirée par [ce graphique](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining) --- -## Concepts abordés +## Concepts à couvrir -Dans ce programme, nous allons couvrir uniquement les concepts fondamentaux du machine learning qu'un débutant doit connaître. Nous abordons ce que nous appelons le "machine learning classique" principalement en utilisant Scikit-learn, une excellente bibliothèque que de nombreux étudiants utilisent pour apprendre les bases. Pour comprendre les concepts plus larges de l'intelligence artificielle ou du deep learning, une solide connaissance fondamentale du machine learning est indispensable, et nous souhaitons l'offrir ici. +Dans ce programme, nous allons couvrir uniquement les concepts de base de l'apprentissage automatique qu’un débutant doit connaître. Nous couvrons ce que nous appelons « l'apprentissage automatique classique », principalement à l'aide de Scikit-learn, une excellente bibliothèque que beaucoup d’étudiants utilisent pour apprendre les bases. Pour comprendre des concepts plus larges d’intelligence artificielle ou d’apprentissage profond, une solide connaissance fondamentale de l'apprentissage automatique est indispensable, et nous souhaitons vous la proposer ici. --- -## Dans ce cours, vous apprendrez : +## Ce que vous apprendrez dans ce cours : -- les concepts fondamentaux du machine learning +- concepts fondamentaux de l'apprentissage automatique - l'histoire du ML -- le ML et l'équité -- les techniques de régression en ML -- les techniques de classification en ML -- les techniques de clustering en ML -- les techniques de traitement du langage naturel en ML -- les techniques de prévision de séries temporelles en ML -- l'apprentissage par renforcement -- les applications réelles du ML +- ML et équité +- techniques de régression ML +- techniques de classification ML +- techniques de clustering ML +- techniques de traitement du langage naturel ML +- techniques de prévision de séries temporelles ML +- apprentissage par renforcement +- applications réelles de ML --- ## Ce que nous ne couvrirons pas -- le deep learning -- les réseaux neuronaux -- l'IA +- apprentissage profond +- réseaux de neurones +- IA -Pour offrir une meilleure expérience d'apprentissage, nous éviterons les complexités des réseaux neuronaux, du "deep learning" - la construction de modèles à plusieurs couches utilisant des réseaux neuronaux - et de l'IA, que nous aborderons dans un programme différent. Nous proposerons également un programme de data science à venir pour nous concentrer sur cet aspect de ce domaine plus vaste. +Pour une meilleure expérience d’apprentissage, nous éviterons les complexités des réseaux de neurones, de l’apprentissage profond — construction de modèles multi-couches avec réseaux de neurones — et de l’IA, que nous aborderons dans un autre programme. Nous proposerons également un futur programme de science des données pour nous concentrer sur cet aspect de ce domaine plus large. --- -## Pourquoi étudier le machine learning ? +## Pourquoi étudier l'apprentissage automatique ? -Le machine learning, d'un point de vue système, est défini comme la création de systèmes automatisés capables d'apprendre des schémas cachés à partir de données pour aider à prendre des décisions intelligentes. +L'apprentissage automatique, d’un point de vue système, est défini comme la création de systèmes automatisés capables d’apprendre des motifs cachés dans les données pour aider à prendre des décisions intelligentes. -Cette motivation est vaguement inspirée par la façon dont le cerveau humain apprend certaines choses en fonction des données qu'il perçoit du monde extérieur. +Cette motivation est vaguement inspirée de la façon dont le cerveau humain apprend certaines choses à partir des données qu’il perçoit de l’extérieur. -✅ Réfléchissez un instant à pourquoi une entreprise voudrait utiliser des stratégies de machine learning plutôt que de créer un moteur basé sur des règles codées en dur. +✅ Réfléchissez un instant pourquoi une entreprise voudrait tenter d’utiliser des stratégies d’apprentissage automatique plutôt que de créer un moteur basé sur des règles codées en dur. --- -## Applications du machine learning +## Pourquoi la qualité des données est importante -Les applications du machine learning sont désormais presque partout et sont aussi omniprésentes que les données qui circulent dans nos sociétés, générées par nos smartphones, appareils connectés et autres systèmes. Compte tenu du potentiel immense des algorithmes de machine learning de pointe, les chercheurs explorent leur capacité à résoudre des problèmes réels multidimensionnels et multidisciplinaires avec des résultats très positifs. +Des données de haute qualité améliorent la performance du modèle. Des données pauvres ou bruitées peuvent conduire à des prédictions inexactes, même en utilisant des algorithmes avancés d'apprentissage automatique. --- -## Exemples de ML appliqué +## Applications de l'apprentissage automatique -**Vous pouvez utiliser le machine learning de nombreuses façons** : +Les applications de l'apprentissage automatique sont désormais quasiment partout, aussi ubiquistes que les données qui circulent dans nos sociétés, générées par nos smartphones, nos appareils connectés et autres systèmes. Compte tenu du potentiel immense des algorithmes d'apprentissage automatique à la pointe, les chercheurs explorent leur capacité à résoudre des problèmes réels multidimensionnels et multidisciplinaires avec d'excellents résultats positifs. -- Pour prédire la probabilité d'une maladie à partir de l'historique médical ou des rapports d'un patient. -- Pour exploiter les données météorologiques afin de prévoir des événements climatiques. -- Pour comprendre le sentiment d'un texte. -- Pour détecter les fausses informations et stopper la propagation de la propagande. +--- +## Exemples d’IA appliquée + +**Vous pouvez utiliser l'apprentissage automatique de nombreuses façons** : + +- Pour prédire la probabilité d’une maladie à partir de l’historique médical ou des rapports d’un patient. +- Pour exploiter les données météo afin de prévoir des événements climatiques. +- Pour comprendre le sentiment d’un texte. +- Pour détecter les fausses informations afin d’arrêter la propagation de la propagande. -La finance, l'économie, les sciences de la Terre, l'exploration spatiale, le génie biomédical, les sciences cognitives, et même les domaines des sciences humaines ont adapté le machine learning pour résoudre les problèmes complexes et lourds en traitement de données de leur domaine. +La finance, l’économie, les sciences de la terre, l’exploration spatiale, le génie biomédical, les sciences cognitives, et même les domaines des sciences humaines ont adapté l'apprentissage automatique pour résoudre les problèmes lourds en traitement de données de leur domaine. --- ## Conclusion -Le machine learning automatise le processus de découverte de schémas en trouvant des informations significatives à partir de données réelles ou générées. Il s'est avéré extrêmement précieux dans les applications commerciales, médicales et financières, entre autres. +L'apprentissage automatique automatise le processus de découverte de motifs en trouvant des informations significatives à partir de données réelles ou générées. Il s’est avéré extrêmement précieux dans les affaires, la santé, les applications financières, entre autres. -Dans un avenir proche, comprendre les bases du machine learning sera indispensable pour les personnes de tous domaines en raison de son adoption généralisée. +Dans un futur proche, comprendre les bases de l'apprentissage automatique sera indispensable pour les personnes de tous les domaines en raison de son adoption généralisée. --- # 🚀 Défi -Dessinez, sur papier ou en utilisant une application en ligne comme [Excalidraw](https://excalidraw.com/), votre compréhension des différences entre IA, ML, deep learning et data science. Ajoutez des idées de problèmes que chacune de ces techniques est bonne à résoudre. +Esquissez, sur papier ou en utilisant une application en ligne comme [Excalidraw](https://excalidraw.com/), votre compréhension des différences entre IA, ML, apprentissage profond et science des données. Ajoutez quelques idées de problèmes que chacune de ces techniques est bonne à résoudre. # [Quiz après le cours](https://ff-quizzes.netlify.app/en/ml/) --- # Révision & Auto-apprentissage -Pour en savoir plus sur la façon dont vous pouvez travailler avec des algorithmes ML dans le cloud, suivez ce [parcours d'apprentissage](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-77952-leestott). +Pour en savoir plus sur la manière de travailler avec des algorithmes ML dans le cloud, suivez ce [Learning Path](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-77952-leestott). -Suivez un [parcours d'apprentissage](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott) sur les bases du ML. +Suivez un [Learning Path](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott) sur les bases du ML. --- # Devoir -[Mettez-vous en route](assignment.md) +[Prenez en main et lancez-vous](assignment.md) --- -**Avertissement** : -Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction. \ No newline at end of file + +**Avertissement** : +Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforçions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant autorité. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne saurions être tenus responsables des malentendus ou erreurs d'interprétation découlant de l'utilisation de cette traduction. + \ No newline at end of file diff --git a/translations/fr/5-Clustering/1-Visualize/README.md b/translations/fr/5-Clustering/1-Visualize/README.md index ce45a6962..97b84603b 100644 --- a/translations/fr/5-Clustering/1-Visualize/README.md +++ b/translations/fr/5-Clustering/1-Visualize/README.md @@ -1,106 +1,105 @@ -# Introduction à la classification par regroupement +# Introduction au clustering -La classification par regroupement est un type d'[apprentissage non supervisé](https://wikipedia.org/wiki/Unsupervised_learning) qui suppose qu'un ensemble de données est non étiqueté ou que ses entrées ne sont pas associées à des sorties prédéfinies. Elle utilise divers algorithmes pour trier les données non étiquetées et fournir des regroupements en fonction des motifs qu'elle discerne dans les données. +Le clustering est un type d’[Apprentissage Non Supervisé](https://wikipedia.org/wiki/Unsupervised_learning) qui présume qu’un jeu de données n’est pas étiqueté ou que ses entrées ne sont pas associées à des sorties prédéfinies. Il utilise divers algorithmes pour trier des données non étiquetées et fournir des regroupements selon les motifs qu’il distingue dans les données. -[![No One Like You par PSquare](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](https://youtu.be/ty2advRiWJM "No One Like You par PSquare") +[![No One Like You by PSquare](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](https://youtu.be/ty2advRiWJM "No One Like You by PSquare") -> 🎥 Cliquez sur l'image ci-dessus pour une vidéo. Pendant que vous étudiez l'apprentissage automatique avec la classification par regroupement, profitez de quelques morceaux de Dance Hall nigérian - voici une chanson très appréciée de 2014 par PSquare. +> 🎥 Cliquez sur l’image ci-dessus pour une vidéo. Pendant que vous étudiez l’apprentissage automatique avec le clustering, profitez de quelques morceaux de Dance Hall nigérian - c’est une chanson très appréciée de 2014 par PSquare. -## [Quiz avant le cours](https://ff-quizzes.netlify.app/en/ml/) +## [Quiz pré-conférence](https://ff-quizzes.netlify.app/en/ml/) ### Introduction -[La classification par regroupement](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) est très utile pour explorer les données. Voyons si elle peut aider à découvrir des tendances et des motifs dans la manière dont les audiences nigérianes consomment de la musique. +[Le clustering](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) est très utile pour l’exploration des données. Voyons s’il peut aider à découvrir les tendances et motifs dans la façon dont les audiences nigérianes consomment la musique. -✅ Prenez une minute pour réfléchir aux utilisations de la classification par regroupement. Dans la vie quotidienne, cela se produit chaque fois que vous avez une pile de linge à trier selon les vêtements des membres de votre famille 🧦👕👖🩲. En science des données, cela se produit lorsqu'on essaie d'analyser les préférences d'un utilisateur ou de déterminer les caractéristiques d'un ensemble de données non étiqueté. En quelque sorte, la classification par regroupement aide à donner un sens au chaos, comme un tiroir à chaussettes. +✅ Prenez une minute pour réfléchir aux usages du clustering. Dans la vie réelle, le clustering a lieu chaque fois que vous avez un tas de linge et devez trier les vêtements des membres de votre famille 🧦👕👖🩲. En science des données, le clustering intervient lors de l’analyse des préférences d’un utilisateur, ou pour déterminer les caractéristiques de tout jeu de données non étiqueté. Le clustering, en quelque sorte, aide à donner un sens au chaos, comme un tiroir à chaussettes. -[![Introduction à l'apprentissage automatique](https://img.youtube.com/vi/esmzYhuFnds/0.jpg)](https://youtu.be/esmzYhuFnds "Introduction à la classification par regroupement") +[![Introduction to ML](https://img.youtube.com/vi/esmzYhuFnds/0.jpg)](https://youtu.be/esmzYhuFnds "Introduction to Clustering") -> 🎥 Cliquez sur l'image ci-dessus pour une vidéo : John Guttag du MIT introduit la classification par regroupement. +> 🎥 Cliquez sur l’image ci-dessus pour une vidéo : John Guttag du MIT présente le clustering -Dans un cadre professionnel, la classification par regroupement peut être utilisée pour déterminer des segments de marché, comme identifier quels groupes d'âge achètent quels articles, par exemple. Une autre utilisation serait la détection d'anomalies, peut-être pour détecter des fraudes dans un ensemble de données de transactions par carte de crédit. Ou encore, vous pourriez l'utiliser pour identifier des tumeurs dans un lot de scans médicaux. +Dans un cadre professionnel, le clustering peut être utilisé pour déterminer des choses comme la segmentation de marché, déterminer quels groupes d’âge achètent quels articles, par exemple. Un autre usage serait la détection d’anomalies, peut-être pour détecter des fraudes dans un ensemble de transactions par carte de crédit. Ou vous pourriez utiliser le clustering pour détecter des tumeurs dans une série de scans médicaux. -✅ Prenez une minute pour réfléchir à la manière dont vous avez pu rencontrer la classification par regroupement "dans la nature", dans un contexte bancaire, de commerce électronique ou d'affaires. +✅ Réfléchissez une minute à la façon dont vous avez pu rencontrer le clustering 'dans la nature', dans un contexte bancaire, e-commerce, ou commercial. -> 🎓 Fait intéressant, l'analyse par regroupement a vu le jour dans les domaines de l'anthropologie et de la psychologie dans les années 1930. Pouvez-vous imaginer comment elle aurait pu être utilisée ? +> 🎓 Fait intéressant, l’analyse de clusters est née dans les domaines de l’Anthropologie et de la Psychologie dans les années 1930. Pouvez-vous imaginer comment elle a pu être utilisée ? -Alternativement, vous pourriez l'utiliser pour regrouper des résultats de recherche - par liens d'achat, images ou avis, par exemple. La classification par regroupement est utile lorsque vous avez un grand ensemble de données que vous souhaitez réduire et sur lequel vous voulez effectuer une analyse plus détaillée. Cette technique peut donc être utilisée pour mieux comprendre les données avant de construire d'autres modèles. +Alternativement, vous pourriez l’utiliser pour regrouper les résultats de recherche - par liens d’achat, images, ou avis par exemple. Le clustering est utile quand vous avez un grand ensemble de données que vous souhaitez réduire et sur lequel vous voulez effectuer une analyse plus fine, la technique peut ainsi être utilisée pour apprendre à connaître les données avant de construire d’autres modèles. -✅ Une fois vos données organisées en groupes, vous leur attribuez un identifiant de groupe. Cette technique peut être utile pour préserver la confidentialité d'un ensemble de données ; vous pouvez alors vous référer à un point de données par son identifiant de groupe plutôt que par des données identifiables plus révélatrices. Pouvez-vous penser à d'autres raisons pour lesquelles vous préféreriez utiliser un identifiant de groupe plutôt que d'autres éléments du groupe pour l'identifier ? +✅ Une fois vos données organisées en clusters, vous leur attribuez un identifiant de cluster, et cette technique peut être utile pour préserver la confidentialité d’un jeu de données ; vous pouvez ainsi référer un point de données par son identifiant de cluster, plutôt que par des données identifiables plus révélatrices. Pouvez-vous penser à d’autres raisons pour lesquelles vous utiliseriez un identifiant de cluster plutôt que d’autres éléments du cluster pour l’identifier ? -Approfondissez votre compréhension des techniques de classification par regroupement dans ce [module d'apprentissage](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott). +Approfondissez votre compréhension des techniques de clustering dans ce [module Learn](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott) +## Démarrer avec le clustering -## Commencer avec la classification par regroupement +[Scikit-learn offre une large gamme](https://scikit-learn.org/stable/modules/clustering.html) de méthodes pour effectuer du clustering. Le type choisi dépendra de votre cas d’usage. Selon la documentation, chaque méthode présente divers avantages. Voici un tableau simplifié des méthodes supportées par Scikit-learn et leurs cas d’utilisation appropriés : -[Scikit-learn propose une large gamme](https://scikit-learn.org/stable/modules/clustering.html) de méthodes pour effectuer la classification par regroupement. Le type que vous choisissez dépendra de votre cas d'utilisation. Selon la documentation, chaque méthode présente divers avantages. Voici un tableau simplifié des méthodes prises en charge par Scikit-learn et leurs cas d'utilisation appropriés : +| Nom de la méthode | Cas d’utilisation | +| :-------------------------- | :--------------------------------------------------------------------- | +| K-Means | usage général, inductif | +| Affinity propagation | nombreux, clusters inégaux, inductif | +| Mean-shift | nombreux, clusters inégaux, inductif | +| Spectral clustering | peu nombreux, clusters équilibrés, transductif | +| Ward hierarchical clustering | nombreux, clusters contraints, transductif | +| Agglomerative clustering | nombreux, contraintes, distances non euclidiennes, transductif | +| DBSCAN | géométrie non plate, clusters inégaux, transductif | +| OPTICS | géométrie non plate, clusters inégaux avec densité variable, transductif | +| Gaussian mixtures | géométrie plate, inductif | +| BIRCH | grand jeu de données avec valeurs aberrantes, inductif | -| Nom de la méthode | Cas d'utilisation | -| :--------------------------- | :------------------------------------------------------------------- | -| K-Means | usage général, inductif | -| Propagation d'affinité | nombreux groupes, inégaux, inductif | -| Mean-shift | nombreux groupes, inégaux, inductif | -| Classification spectrale | quelques groupes, égaux, transductif | -| Classification hiérarchique Ward | nombreux groupes, contraints, transductif | -| Classification agglomérative | nombreux groupes, contraints, distances non euclidiennes, transductif | -| DBSCAN | géométrie non plate, groupes inégaux, transductif | -| OPTICS | géométrie non plate, groupes inégaux avec densité variable, transductif | -| Mélanges gaussiens | géométrie plate, inductif | -| BIRCH | grand ensemble de données avec des valeurs aberrantes, inductif | - -> 🎓 La manière dont nous créons des groupes dépend beaucoup de la façon dont nous rassemblons les points de données en groupes. Décomposons quelques termes : +> 🎓 La façon dont nous créons les clusters dépend beaucoup de la manière dont nous regroupons les points de données. Détaillons un vocabulaire : > > 🎓 ['Transductif' vs. 'inductif'](https://wikipedia.org/wiki/Transduction_(machine_learning)) > -> L'inférence transductive est dérivée des cas d'entraînement observés qui correspondent à des cas de test spécifiques. L'inférence inductive est dérivée des cas d'entraînement qui mènent à des règles générales, appliquées ensuite aux cas de test. +> L’inférence transductive est dérivée des cas d’entraînement observés qui correspondent à des cas de test spécifiques. L’inférence inductive est dérivée des cas d'entraînement qui correspondent à des règles générales appliquées ensuite aux cas de test. > -> Un exemple : Imaginez que vous avez un ensemble de données partiellement étiqueté. Certains éléments sont des 'disques', d'autres des 'CD', et certains sont vides. Votre tâche est de fournir des étiquettes pour les éléments vides. Si vous choisissez une approche inductive, vous entraîneriez un modèle en recherchant des 'disques' et des 'CD', et appliqueriez ces étiquettes aux données non étiquetées. Cette approche aurait du mal à classer des éléments qui sont en réalité des 'cassettes'. Une approche transductive, en revanche, gère ces données inconnues plus efficacement en regroupant des éléments similaires et en appliquant une étiquette à un groupe. Dans ce cas, les groupes pourraient refléter 'objets musicaux ronds' et 'objets musicaux carrés'. +> Exemple : Imaginez que vous avez un jeu de données partiellement étiqueté. Certaines choses sont des 'disques vinyle', d’autres des 'CDs', et d’autres sont vides. Votre tâche est d’étiqueter les vides. Si vous choisissez une approche inductive, vous entraînez un modèle cherchant 'disques vinyle' et 'CDs', et appliquez ces étiquettes aux données non étiquetées. Cette approche aura du mal à classer ce qui sont en réalité des 'cassettes'. Une approche transductive, en revanche, traite mieux ces données inconnues car elle regroupe les éléments similaires puis applique une étiquette au groupe. Ici, les clusters pourraient refléter les 'objets musicaux ronds' et les 'objets musicaux carrés'. > > 🎓 ['Géométrie non plate' vs. 'plate'](https://datascience.stackexchange.com/questions/52260/terminology-flat-geometry-in-the-context-of-clustering) > -> Tiré de la terminologie mathématique, la géométrie non plate vs. plate fait référence à la mesure des distances entre les points par des méthodes géométriques 'plates' ([euclidiennes](https://wikipedia.org/wiki/Euclidean_geometry)) ou 'non plates' (non euclidiennes). +> Issu de la terminologie mathématique, la géométrie non plate versus plate réfère à la mesure des distances entre points par des méthodes géométriques 'plates' ([Euclidiennes](https://wikipedia.org/wiki/Euclidean_geometry)) ou 'non plates' (non euclidiennes). > ->'Plate' dans ce contexte fait référence à la géométrie euclidienne (dont certaines parties sont enseignées comme géométrie 'plane'), et 'non plate' fait référence à la géométrie non euclidienne. Quel rapport avec l'apprentissage automatique ? Eh bien, en tant que deux domaines enracinés dans les mathématiques, il doit y avoir une manière commune de mesurer les distances entre les points dans les groupes, et cela peut être fait de manière 'plate' ou 'non plate', selon la nature des données. Les [distances euclidiennes](https://wikipedia.org/wiki/Euclidean_distance) sont mesurées comme la longueur d'un segment de ligne entre deux points. Les [distances non euclidiennes](https://wikipedia.org/wiki/Non-Euclidean_geometry) sont mesurées le long d'une courbe. Si vos données, visualisées, semblent ne pas exister sur un plan, vous pourriez avoir besoin d'un algorithme spécialisé pour les traiter. +> 'Plate' ici réfère à la géométrie Euclidienne (dont une partie est enseignée comme géométrie dans le plan), et non plate réfère à la géométrie non euclidienne. Quel rapport avec l’apprentissage machine ? En tant que domaines ancrés dans les mathématiques, ils nécessitent de mesurer les distances entre points dans les clusters, ce qui peut se faire de manière 'plate' ou 'non plate' selon la nature des données. Les [distances euclidiennes](https://wikipedia.org/wiki/Euclidean_distance) sont mesurées comme la longueur du segment entre deux points. Les [distances non euclidiennes](https://wikipedia.org/wiki/Non-Euclidean_geometry) sont mesurées le long d’une courbe. Si vos données, visualisées, ne semblent pas exister sur un plan, un algorithme spécialisé pourrait être nécessaire. > -![Infographie Géométrie Plate vs Non Plate](../../../../5-Clustering/1-Visualize/images/flat-nonflat.png) +![Infographie Géométrie plate vs Non plate](../../../../translated_images/fr/flat-nonflat.d1c8c6e2a96110c1.webp) > Infographie par [Dasani Madipalli](https://twitter.com/dasani_decoded) > > 🎓 ['Distances'](https://web.stanford.edu/class/cs345a/slides/12-clustering.pdf) > -> Les groupes sont définis par leur matrice de distances, c'est-à-dire les distances entre les points. Cette distance peut être mesurée de plusieurs façons. Les groupes euclidiens sont définis par la moyenne des valeurs des points et contiennent un 'centroïde' ou point central. Les distances sont donc mesurées par rapport à ce centroïde. Les distances non euclidiennes font référence aux 'clustroïdes', le point le plus proche des autres points. Les clustroïdes peuvent à leur tour être définis de diverses manières. +> Les clusters sont définis par leur matrice de distance, c’est-à-dire les distances entre points. Cette distance peut être mesurée de plusieurs façons. Les clusters euclidiens sont définis par la moyenne des valeurs des points, et contiennent un 'centreide' ou point central. Les distances sont mesurées par la distance à ce centreide. Les distances non euclidiennes réfèrent aux 'clustroïdes', le point le plus proche des autres points. Les clustroïdes peuvent être définis selon diverses méthodes. > > 🎓 ['Contraint'](https://wikipedia.org/wiki/Constrained_clustering) > -> [La classification par regroupement contrainte](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) introduit l'apprentissage 'semi-supervisé' dans cette méthode non supervisée. Les relations entre les points sont marquées comme 'ne peut pas lier' ou 'doit lier', ce qui impose certaines règles à l'ensemble de données. +> [Le clustering contraint](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) introduit l’apprentissage 'semi-supervisé' dans cette méthode non supervisée. Les relations entre points sont indiquées comme 'pas lié' ou 'doit être lié' de sorte que certaines règles sont imposées au jeu de données. > ->Un exemple : Si un algorithme est laissé libre sur un lot de données non étiquetées ou semi-étiquetées, les groupes qu'il produit peuvent être de mauvaise qualité. Dans l'exemple ci-dessus, les groupes pourraient regrouper 'objets musicaux ronds', 'objets musicaux carrés', 'objets triangulaires' et 'biscuits'. Si on lui donne des contraintes ou des règles à suivre ("l'objet doit être en plastique", "l'objet doit pouvoir produire de la musique"), cela peut aider à 'contraindre' l'algorithme à faire de meilleurs choix. +>Exemple : Si un algorithme est lâché sur un lot de données non étiquetées ou semi-étiquetées, les clusters produits peuvent être de mauvaise qualité. Dans l’exemple ci-dessus, les clusters pourraient regrouper 'objets musicaux ronds' et 'objets musicaux carrés' et 'objets triangulaires' et 'cookies'. Avec des contraintes ou règles (ex : "l’objet doit être en plastique", "l’objet doit pouvoir produire de la musique"), l’algorithme peut être 'contraint' à faire de meilleurs choix. > > 🎓 'Densité' > -> Les données 'bruyantes' sont considérées comme 'denses'. Les distances entre les points dans chacun de ses groupes peuvent s'avérer, après examen, plus ou moins denses, ou 'concentrées', et ces données doivent donc être analysées avec la méthode de regroupement appropriée. [Cet article](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) montre la différence entre l'utilisation de la classification par regroupement K-Means et les algorithmes HDBSCAN pour explorer un ensemble de données bruyant avec une densité de groupe inégale. +> Les données 'bruyantes' sont considérées comme 'denses'. Les distances entre les points de chacun de ses clusters peuvent s’avérer plus ou moins denses, autrement dit 'bondées', c’est pourquoi les données doivent être analysées avec la méthode de clustering appropriée. [Cet article](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) illustre la différence entre l’utilisation des algorithmes K-Means vs. HDBSCAN pour explorer un jeu de données bruyant avec densité de cluster inégale. -## Algorithmes de classification par regroupement +## Algorithmes de clustering -Il existe plus de 100 algorithmes de classification par regroupement, et leur utilisation dépend de la nature des données en question. Discutons de quelques-uns des principaux : +Il existe plus de 100 algorithmes de clustering, leur usage dépend de la nature des données. Discutons de certains majeurs : -- **Classification hiérarchique**. Si un objet est classé par sa proximité avec un objet voisin, plutôt qu'avec un objet plus éloigné, les groupes sont formés en fonction de la distance de leurs membres par rapport aux autres objets. La classification agglomérative de Scikit-learn est hiérarchique. +- **Clustering hiérarchique**. Si un objet est classé selon sa proximité à un objet proche, plutôt qu’à un objet plus éloigné, des clusters sont formés selon la distance de leurs membres aux autres objets. L’agglomératif de Scikit-learn est hiérarchique. - ![Infographie Classification Hiérarchique](../../../../5-Clustering/1-Visualize/images/hierarchical.png) + ![Infographie Clustering hiérarchique](../../../../translated_images/fr/hierarchical.bf59403aa43c8c47.webp) > Infographie par [Dasani Madipalli](https://twitter.com/dasani_decoded) -- **Classification par centroïde**. Cet algorithme populaire nécessite le choix de 'k', ou le nombre de groupes à former, après quoi l'algorithme détermine le point central d'un groupe et rassemble les données autour de ce point. [La classification K-means](https://wikipedia.org/wiki/K-means_clustering) est une version populaire de la classification par centroïde. Le centre est déterminé par la moyenne la plus proche, d'où son nom. La distance au carré par rapport au groupe est minimisée. +- **Clustering par centroïde**. Cet algorithme populaire nécessite le choix de 'k', ou du nombre de clusters à former, après quoi l’algorithme détermine le centre d’un cluster et rassemble les données autour de ce point. Le [K-means clustering](https://wikipedia.org/wiki/K-means_clustering) est une version populaire. Le centre est déterminé par la moyenne la plus proche, d’où le nom. La distance au carré du cluster est minimisée. - ![Infographie Classification par Centroïde](../../../../5-Clustering/1-Visualize/images/centroid.png) + ![Infographie Clustering par centroïde](../../../../translated_images/fr/centroid.097fde836cf6c918.webp) > Infographie par [Dasani Madipalli](https://twitter.com/dasani_decoded) -- **Classification basée sur la distribution**. Basée sur la modélisation statistique, cette classification se concentre sur la détermination de la probabilité qu'un point de données appartienne à un groupe, et l'y attribue en conséquence. Les méthodes de mélange gaussien appartiennent à ce type. +- **Clustering basé sur la distribution**. Fondé sur la modélisation statistique, il consiste à déterminer la probabilité qu’un point de données appartienne à un cluster, et à l’affecter en conséquence. Les méthodes de mélange gaussien appartiennent à ce type. -- **Classification basée sur la densité**. Les points de données sont attribués à des groupes en fonction de leur densité, ou de leur regroupement autour les uns des autres. Les points de données éloignés du groupe sont considérés comme des valeurs aberrantes ou du bruit. DBSCAN, Mean-shift et OPTICS appartiennent à ce type de classification. +- **Clustering basé sur la densité**. Les points de données sont affectés à des clusters basés sur leur densité, ou leur regroupement entre eux. Les points éloignés du groupe sont considérés comme des valeurs aberrantes ou du bruit. DBSCAN, Mean-shift et OPTICS appartiennent à ce type. -- **Classification basée sur une grille**. Pour les ensembles de données multidimensionnels, une grille est créée et les données sont réparties entre les cellules de la grille, créant ainsi des groupes. +- **Clustering basé sur la grille**. Pour les jeux de données multidimensionnels, une grille est créée et les données sont réparties entre les cellules de la grille, créant ainsi des clusters. -## Exercice - regroupez vos données +## Exercice - clusterisez vos données -La classification par regroupement en tant que technique est grandement facilitée par une bonne visualisation, alors commençons par visualiser nos données musicales. Cet exercice nous aidera à décider quelle méthode de classification par regroupement utiliser le plus efficacement en fonction de la nature de ces données. +Le clustering en tant que technique est grandement aidé par une visualisation appropriée, commençons par visualiser nos données musicales. Cet exercice nous aidera à choisir la méthode de clustering la mieux adaptée à la nature de ces données. 1. Ouvrez le fichier [_notebook.ipynb_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/1-Visualize/notebook.ipynb) dans ce dossier. @@ -110,7 +109,7 @@ La classification par regroupement en tant que technique est grandement facilit !pip install seaborn ``` -1. Ajoutez les données des chansons à partir de [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv). Chargez un dataframe avec des données sur les chansons. Préparez-vous à explorer ces données en important les bibliothèques et en affichant les données : +1. Ajoutez les données de chansons depuis [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv). Chargez un dataframe avec des données sur les chansons. Préparez-vous à explorer ces données en important les bibliothèques et en affichant les données : ```python import matplotlib.pyplot as plt @@ -120,17 +119,17 @@ La classification par regroupement en tant que technique est grandement facilit df.head() ``` - Vérifiez les premières lignes de données : + Vérifiez les premières lignes des données : - | | nom | album | artiste | genre_principal_artiste | date_sortie | durée | popularité | dansabilité | acoustique | énergie | instrumentalité | vivacité | volume | parole | tempo | signature_temps | - | --- | ------------------------ | ---------------------------- | ------------------- | ----------------------- | ------------ | ------ | ---------- | ----------- | ---------- | ------ | --------------- | -------- | -------- | ----------- | ------- | -------------- | - | 0 | Sparky | Mandy & The Jungle | Cruel Santino | r&b alternatif | 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 | + | | 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 | -1. Obtenez des informations sur le dataframe en appelant `info()` : +1. Obtenez quelques informations sur le dataframe en appelant `info()` : ```python df.info() @@ -164,13 +163,13 @@ La classification par regroupement en tant que technique est grandement facilit memory usage: 66.4+ KB ``` -1. Vérifiez les valeurs nulles en appelant `isnull()` et en confirmant que la somme est égale à 0 : +1. Vérifiez de nouveau la présence de valeurs nulles, en appelant `isnull()` et en vérifiant que la somme est 0 : ```python df.isnull().sum() ``` - Tout semble correct : + Tout est bon : ```output name 0 @@ -211,7 +210,7 @@ La classification par regroupement en tant que technique est grandement facilit > 🤔 Si nous travaillons avec le clustering, une méthode non supervisée qui ne nécessite pas de données étiquetées, pourquoi montrons-nous ces données avec des étiquettes ? Lors de la phase d'exploration des données, elles sont utiles, mais elles ne sont pas nécessaires pour que les algorithmes de clustering fonctionnent. Vous pourriez tout aussi bien supprimer les en-têtes de colonnes et vous référer aux données par numéro de colonne. -Regardez les valeurs générales des données. Notez que la popularité peut être '0', ce qui montre des chansons sans classement. Supprimons ces données prochainement. +Examinez les valeurs générales des données. Notez que la popularité peut être '0', ce qui indique des chansons sans classement. Supprimons-les rapidement. 1. Utilisez un barplot pour découvrir les genres les plus populaires : @@ -225,13 +224,13 @@ Regardez les valeurs générales des données. Notez que la popularité peut êt plt.title('Top genres',color = 'blue') ``` - ![most popular](../../../../5-Clustering/1-Visualize/images/popular.png) + ![les plus populaires](../../../../translated_images/fr/popular.9c48d84b3386705f.webp) -✅ Si vous souhaitez voir plus de valeurs en haut du classement, modifiez le top `[:5]` pour une valeur plus grande ou supprimez-le pour voir tout. +✅ Si vous souhaitez voir plus de valeurs en tête, changez le top `[:5]` en une valeur plus grande, ou supprimez-le pour voir tout. -Notez que lorsque le genre principal est décrit comme 'Missing', cela signifie que Spotify ne l'a pas classifié. Supprimons-le. +Notez que lorsque le genre principal est décrit comme 'Missing', cela signifie que Spotify ne l'a pas classé, supprimons-le donc. -1. Supprimez les données manquantes en les filtrant : +1. Éliminez les données manquantes en les filtrant ```python df = df[df['artist_top_genre'] != 'Missing'] @@ -242,11 +241,11 @@ Notez que lorsque le genre principal est décrit comme 'Missing', cela signifie plt.title('Top genres',color = 'blue') ``` - Re-vérifiez maintenant les genres : + Vérifiez de nouveau les genres : - ![most popular](../../../../5-Clustering/1-Visualize/images/all-genres.png) + ![les plus populaires](../../../../translated_images/fr/all-genres.1d56ef06cefbfcd6.webp) -1. De loin, les trois genres principaux dominent ce dataset. Concentrons-nous sur `afro dancehall`, `afropop` et `nigerian pop`, et filtrons également le dataset pour supprimer tout ce qui a une valeur de popularité égale à 0 (ce qui signifie qu'il n'a pas été classé avec une popularité dans le dataset et peut être considéré comme du bruit pour nos objectifs) : +1. De loin, les trois genres principaux dominent ce jeu de données. Concentrons-nous sur `afro dancehall`, `afropop`, et `nigerian pop`, en filtrant en outre le jeu de données pour supprimer tout ce qui a une popularité de 0 (ce qui signifie qu'il n'a pas été classé avec une popularité dans le jeu de données et peut être considéré comme du bruit pour nos besoins) : ```python df = df[(df['artist_top_genre'] == 'afro dancehall') | (df['artist_top_genre'] == 'afropop') | (df['artist_top_genre'] == 'nigerian pop')] @@ -258,7 +257,7 @@ Notez que lorsque le genre principal est décrit comme 'Missing', cela signifie plt.title('Top genres',color = 'blue') ``` -1. Faites un test rapide pour voir si les données présentent une corrélation particulièrement forte : +1. Faites un test rapide pour voir si les données sont fortement corrélées d'une manière particulière : ```python corrmat = df.corr(numeric_only=True) @@ -266,21 +265,21 @@ Notez que lorsque le genre principal est décrit comme 'Missing', cela signifie sns.heatmap(corrmat, vmax=.8, square=True) ``` - ![correlations](../../../../5-Clustering/1-Visualize/images/correlation.png) + ![corrélations](../../../../translated_images/fr/correlation.a9356bb798f5eea5.webp) - La seule corrélation forte est entre `energy` et `loudness`, ce qui n'est pas trop surprenant, étant donné que la musique forte est généralement assez énergique. Sinon, les corrélations sont relativement faibles. Il sera intéressant de voir ce qu'un algorithme de clustering peut tirer de ces données. + La seule forte corrélation est entre `energy` et `loudness`, ce qui n'est pas trop surprenant, étant donné que la musique forte est généralement assez énergique. Sinon, les corrélations sont relativement faibles. Il sera intéressant de voir ce qu'un algorithme de clustering peut tirer de ces données. - > 🎓 Notez que la corrélation n'implique pas la causalité ! Nous avons une preuve de corrélation mais aucune preuve de causalité. Un [site web amusant](https://tylervigen.com/spurious-correlations) propose des visuels qui mettent en évidence ce point. + > 🎓 Notez que corrélation ne signifie pas causalité ! Nous avons la preuve d'une corrélation mais pas de causalité. Un [site web amusant](https://tylervigen.com/spurious-correlations) présente des visuels qui soulignent ce point. -Y a-t-il une convergence dans ce dataset autour de la popularité perçue d'une chanson et de sa capacité à faire danser ? Une FacetGrid montre qu'il existe des cercles concentriques qui s'alignent, quel que soit le genre. Serait-il possible que les goûts nigérians convergent à un certain niveau de capacité à faire danser pour ce genre ? +Y a-t-il une convergence dans ce jeu de données autour de la popularité perçue d'une chanson et de sa danseabilité ? Un FacetGrid montre qu'il y a des cercles concentriques qui s’alignent, quel que soit le genre. Se pourrait-il que les goûts nigérians convergent à un certain niveau de danseabilité pour ce genre ? -✅ Essayez différents points de données (énergie, loudness, speechiness) et plus ou différents genres musicaux. Que pouvez-vous découvrir ? Consultez le tableau `df.describe()` pour voir la répartition générale des points de données. +✅ Essayez différents points de données (énergie, volume sonore, débit de parole) et plus ou différents genres musicaux. Que pouvez-vous découvrir ? Jetez un œil au tableau `df.describe()` pour voir la répartition générale des points de données. -### Exercice - distribution des données +### Exercice - répartition des données -Ces trois genres sont-ils significativement différents dans la perception de leur capacité à faire danser, en fonction de leur popularité ? +Ces trois genres sont-ils significativement différents dans la perception de leur danseabilité, en fonction de leur popularité ? -1. Examinez la distribution des données de nos trois genres principaux pour la popularité et la capacité à faire danser le long d'un axe x et y donné. +1. Examinez la répartition des données sur la popularité et la danseabilité pour nos trois genres principaux selon un axe x et y donnés. ```python sns.set_theme(style="ticks") @@ -292,13 +291,13 @@ Ces trois genres sont-ils significativement différents dans la perception de le ) ``` - Vous pouvez découvrir des cercles concentriques autour d'un point de convergence général, montrant la distribution des points. + Vous pouvez découvrir des cercles concentriques autour d'un point général de convergence, montrant la répartition des points. - > 🎓 Notez que cet exemple utilise un graphique KDE (Kernel Density Estimate) qui représente les données à l'aide d'une courbe de densité de probabilité continue. Cela nous permet d'interpréter les données lorsque nous travaillons avec plusieurs distributions. + > 🎓 Notez que cet exemple utilise un graphique KDE (estimation de la densité par noyau) qui représente les données avec une courbe continue de densité de probabilité. Cela nous permet d'interpréter les données lorsqu’on travaille avec plusieurs distributions. - En général, les trois genres s'alignent vaguement en termes de popularité et de capacité à faire danser. Déterminer des clusters dans ces données faiblement alignées sera un défi : + En général, les trois genres s’alignent grossièrement sur la popularité et la danseabilité. Déterminer des clusters dans ces données grossièrement alignées sera un défi : - ![distribution](../../../../5-Clustering/1-Visualize/images/distribution.png) + ![répartition](../../../../translated_images/fr/distribution.9be11df42356ca95.webp) 1. Créez un scatter plot : @@ -308,25 +307,25 @@ Ces trois genres sont-ils significativement différents dans la perception de le .add_legend() ``` - Un scatter plot des mêmes axes montre un schéma similaire de convergence. + Un scatterplot des mêmes axes montre un schéma similaire de convergence - ![Facetgrid](../../../../5-Clustering/1-Visualize/images/facetgrid.png) + ![Facetgrid](../../../../translated_images/fr/facetgrid.9b2e65ce707eba1f.webp) -En général, pour le clustering, vous pouvez utiliser des scatter plots pour montrer des clusters de données, donc maîtriser ce type de visualisation est très utile. Dans la prochaine leçon, nous utiliserons ces données filtrées et appliquerons le clustering k-means pour découvrir des groupes dans ces données qui semblent se chevaucher de manière intéressante. +En général, pour le clustering, vous pouvez utiliser des scatterplots pour montrer des groupes de données, donc maîtriser ce type de visualisation est très utile. Dans la prochaine leçon, nous prendrons ces données filtrées et utiliserons le clustering k-means pour découvrir des groupes dans ces données qui semblent se chevaucher de façon intéressante. --- ## 🚀Défi -En préparation de la prochaine leçon, créez un tableau sur les différents algorithmes de clustering que vous pourriez découvrir et utiliser dans un environnement de production. Quels types de problèmes le clustering cherche-t-il à résoudre ? +En préparation de la prochaine leçon, réalisez un graphique sur les différents algorithmes de clustering que vous pourriez découvrir et utiliser en production. Quels types de problèmes le clustering cherche-t-il à résoudre ? -## [Quiz post-lecture](https://ff-quizzes.netlify.app/en/ml/) +## [Quiz post-conférence](https://ff-quizzes.netlify.app/en/ml/) -## Révision & Auto-étude +## Revue et auto-apprentissage -Avant d'appliquer des algorithmes de clustering, comme nous l'avons appris, il est judicieux de comprendre la nature de votre dataset. Lisez davantage sur ce sujet [ici](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html) +Avant d'appliquer les algorithmes de clustering, comme nous l'avons appris, il est conseillé de comprendre la nature de votre jeu de données. Lisez-en davantage à ce sujet [ici](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html) -[Cet article utile](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) vous guide à travers les différentes façons dont divers algorithmes de clustering se comportent, en fonction des formes des données. +[Cet article utile](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) vous guide à travers les différents comportements des divers algorithmes de clustering, selon différentes formes de données. ## Devoir @@ -334,5 +333,7 @@ Avant d'appliquer des algorithmes de clustering, comme nous l'avons appris, il e --- -**Avertissement** : -Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction. \ No newline at end of file + +**Avertissement** : +Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforçions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant autorité. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne saurions être tenus responsables des malentendus ou erreurs d'interprétation découlant de l'utilisation de cette traduction. + \ No newline at end of file