Les nombres peuvent également être des données catégorielles
Les données numériques véritables peuvent être multipliées de manière significative. Prenons l'exemple qui prédit la valeur d'un logement en fonction de sa superficie. Notez qu'un modèle utile pour évaluer le prix des maisons repose généralement sur des centaines de fonctionnalités. Cela dit, toutes choses égales par ailleurs, une maison de 200 m² devrait être environ deux fois plus chère qu'une maison identique de 100 m².
Souvent, vous devez représenter les caractéristiques contenant des valeurs entières sous la forme des données catégorielles au lieu de données numériques. Prenons l'exemple d'un code postal caractéristique de code dont les valeurs sont des entiers. Si vous représentez des caractéristiques numériques plutôt que catégorielles, vous demandez au modèle pour trouver une relation numérique entre différents codes postaux. Autrement dit, vous indiquez au modèle de traiter le code postal 20004 comme un signal deux fois (ou moitié) plus important que le code postal 10002. Représenter les codes postaux en tant que données catégorielles permet au modèle pondérer chaque code postal séparément.
Encodage
L'encodage consiste à convertir des données catégorielles ou d'autres données en vecteurs numériques sur lesquels un modèle peut s'entraîner. Cette conversion est nécessaire, car les modèles l'entraînement sur des valeurs à virgule flottante uniquement. ne peuvent pas être entraînés sur des chaînes "dog" ou "maple". Ce module explique les différentes méthodes d'encodage pour les données catégorielles.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[[["\u003cp\u003eThis module focuses on differentiating between categorical and numerical data within machine learning.\u003c/p\u003e\n"],["\u003cp\u003eYou will learn how to represent categorical data using one-hot vectors and address common issues associated with it.\u003c/p\u003e\n"],["\u003cp\u003eThe module covers encoding techniques for converting categorical data into numerical vectors suitable for model training.\u003c/p\u003e\n"],["\u003cp\u003eFeature crosses, a method for combining categorical features to capture interactions, are also discussed.\u003c/p\u003e\n"],["\u003cp\u003eIt is assumed you have prior knowledge of introductory machine learning and working with numerical data.\u003c/p\u003e\n"]]],[],null,["| **Estimated module length:** 50 minutes\n| **Learning objectives**\n|\n| - Distinguish categorical data from numerical data.\n| - Represent categorical data with one-hot vectors.\n| - Address common issues with categorical data.\n| - Create feature crosses.\n| **Prerequisites:**\n|\n| This module assumes you are familiar with the concepts covered in the\n| following modules:\n|\n| - [Introduction to Machine Learning](/machine-learning/intro-to-ml)\n| - [Working with numerical data](/machine-learning/crash-course/numerical-data)\n\n[**Categorical data**](/machine-learning/glossary#categorical-data) has a\n*specific set* of possible values. For example:\n\n- The different species of animals in a national park\n- The names of streets in a particular city\n- Whether or not an email is spam\n- The colors that house exteriors are painted\n- Binned numbers, which are described in the [Working with Numerical\n Data](/machine-learning/crash-course/numerical-data) module\n\nNumbers can also be categorical data\n\nTrue [**numerical data**](/machine-learning/glossary#numerical-data)\ncan be meaningfully multiplied. For example, consider a\nmodel that predicts the value of a house based on its area.\nNote that a useful model for evaluating house prices typically relies on\nhundreds of features. That said, all else being equal, a house of 200 square\nmeters should be roughly twice as valuable as an identical house of 100 square\nmeters.\n\nOftentimes, you should represent features that contain integer values as\ncategorical data instead of numerical data. For example, consider a postal\ncode feature in which the values are integers. If you represent this\nfeature numerically rather than categorically, you're asking the model\nto find a numeric relationship\nbetween different postal codes. That is, you're telling the model to\ntreat postal code 20004 as twice (or half) as large a signal as postal code\n10002. Representing postal codes as categorical data lets the model\nweight each individual postal code separately.\n\nEncoding\n\n**Encoding** means converting categorical or other data to numerical vectors\nthat a model can train on. This conversion is necessary because models can\nonly train on floating-point values; models can't train on strings such as\n`\"dog\"` or `\"maple\"`. This module explains different\nencoding methods for categorical data.\n| **Key terms:**\n|\n| - [Categorical data](/machine-learning/glossary#categorical-data)\n- [Numerical data](/machine-learning/glossary#numerical-data) \n[Help Center](https://support.google.com/machinelearningeducation)"]]