Comme nous venons de le voir, k-moyennes attribue des points au centroïde le plus proche. Mais qu'est-ce que "le plus proche" ?
Pour appliquer les k-moyennes à des données de caractéristiques, vous devez définir une mesure de qui combine toutes les données de caractéristiques en une seule valeur numérique, appelée mesure de similarité manuelle.
Prenons l'exemple d'un ensemble de données sur des chaussures. Si ce jeu de données a la pointure de chaussure comme seule caractéristique, vous pouvez définir la similitude de deux chaussures en termes de différence entre leur taille. Plus la différence numérique entre les tailles est faible, plus la la similarité entre les chaussures.
Si cet ensemble de données comporte deux caractéristiques numériques, à savoir la taille et le prix, vous pouvez combiner en un seul nombre représentant la similarité. Tout d'abord, les données sont à l'échelle sont comparables:
- Taille (s): la pointure constitue probablement une distribution gaussienne. Confirmez-le. Ensuite, normalisez les données.
- Prix (p): les données sont probablement une distribution de Poisson. Confirmez-le. Si vous si vous disposez de suffisamment de données, convertissez-les en quantiles et passez à l'échelle \([0,1]\).
Ensuite, combinez les deux caractéristiques en calculant le racine quadratique moyenne (RMSE). Cette mesure approximative de similarité est donnée par \(\sqrt{\frac{(s_i - s_j)^2+(p_i - p_j)^2}{2}}\)
Pour prendre un exemple simple, calculez la similitude de deux chaussures avec des pointures américaines. 8 et 11, et les prix 120 et 150. Comme nous n’avons pas assez de données pour comprendre nous allons les mettre à l'échelle sans normaliser quantiles.
Action | Méthode |
---|---|
Ajustez la taille. | Supposons une taille de chaussure maximale de 20. Diviser 8 et 11 par la taille maximale 20 pour obtenir 0,4 et 0,55. |
Ajustez le prix. | Divisez 120 et 150 par le prix maximal 150 pour obtenir 0,8 et 1. |
Trouvez la différence de taille. | \(0.55 - 0.4 = 0.15\) |
Trouvez la différence de prix. | \(1 - 0.8 = 0.2\) |
Calculez la RMSE. | \(\sqrt{\frac{0.2^2+0.15^2}{2}} = 0.17\) |
Intuitivement, votre mesure de similarité devrait augmenter lorsque les données de caractéristiques seront plus similaires. Au contraire, votre mesure de similarité (RMSE) diminue. Faites en sorte que votre mesure de similarité suivre votre intuition en la soustrayant de 1.
\[\text{Similarity} = 1 - 0.17 = 0.83\]
En général, vous pouvez préparer des données numériques comme décrit dans Préparer les données, puis combiner les en utilisant la distance euclidienne.
Et si ce jeu de données comprenait à la fois la pointure et la couleur de la chaussure ? La couleur est données catégorielles, abordé dans le cours d'initiation au machine learning Travailler avec des données catégorielles : Les données catégorielles sont plus difficiles à combiner avec les données de taille numérique. Il peut s'agir:
- Valeur unique (univalent), comme la couleur d'une voiture ("blanc" ou "bleu", mais jamais les deux)
- à valeurs multiples (multivalent), comme le genre d'un film (un film peut être à la fois "action" et « humour », ou seulement "action")
Si des données univalentes correspondent, par exemple, dans le cas de deux paires de chaussures bleues, la similarité entre les exemples est de 1. Sinon, la similarité est nulle.
Les données multivalentes, comme les genres de films, sont plus difficiles à traiter. S'il existe un ensemble fixe de genres de films, la similarité peut être calculée en utilisant le ratio de des valeurs communes, appelées Similarité Jacquard. Exemple des calculs de similarité de Jaccard:
- ["comédie","action"] et ["comédie","action"] = 1
- ["comédie","action"] et ["action"] = 1⁄2
- ["comédie","action"] et ["action", "drame"] = 1⁄3
- ["comédie","action"] et ["non-fiction","biographique"] = 0
La similarité Jaccard n'est pas la seule mesure manuelle possible des données catégorielles. Deux autres exemples:
- Les codes postaux peuvent être convertis en latitude et en longitude avant de calculant la distance euclidienne entre eux.
- La couleur peut être convertie en valeurs numériques RVB, avec les différences de valeurs combinées dans une distance euclidienne.
Consultez la page Utiliser des données catégorielles. pour en savoir plus.
En général, une mesure de similarité manuelle doit correspondre directement à la similarité réelle. Si ce n'est pas le cas, cela signifie qu'elle n'encode pas les informations que vous souhaitez encoder.
Prétraitez soigneusement vos données avant de calculer une mesure de similarité. La exemples présentés sur cette page sont simplifiés. La plupart des jeux de données du monde réel sont volumineux et complexe. Comme indiqué précédemment, les quantiles sont un bon choix par défaut pour traiter des données numériques.
Plus les données sont complexes, plus il est difficile de créer de la similarité. Dans ce cas, passez à un mesure de similarité supervisée, où une machine supervisée de machine learning calcule la similarité. Ce point sera abordé plus en détail. plus tard.