Table des matières:
Vidéo: Créer un formulaire personnalisé pour saisir des données sur Excel 2024
Parfois, les données brutes que vous obtenez de diverses sources ne disposent pas des fonctionnalités nécessaires pour effectuer des tâches d'apprentissage automatique. Lorsque cela se produit, vous devez créer vos propres fonctionnalités afin d'obtenir le résultat souhaité. Créer une fonctionnalité ne signifie pas créer des données à partir de rien. Vous créez de nouvelles fonctionnalités à partir de données existantes.
Comprendre la nécessité de créer des fonctionnalités
Une grande limite des algorithmes d'apprentissage automatique est qu'il est impossible de deviner une formule qui pourrait lier votre réponse aux fonctionnalités que vous utilisez. Parfois, cette incapacité à deviner se produit parce que vous ne pouvez pas mapper la réponse en utilisant les informations dont vous disposez (ce qui signifie que vous n'avez pas les bonnes informations). Dans d'autres cas, les informations que vous avez fournies n'aident pas l'algorithme à apprendre correctement.
Par exemple, si vous modélisez le prix des biens immobiliers, la surface du terrain est assez prédictive parce que les grandes propriétés ont tendance à coûter plus cher. Mais si au lieu de la surface, vous fournissez votre algorithme d'apprentissage automatique avec la longueur des côtés du terrain (les coordonnées de latitude et de longitude de ses coins), votre algorithme peut ne pas savoir quoi faire avec les informations que vous avez fournies. Certains algorithmes parviendront à trouver la relation entre les caractéristiques, mais la plupart des algorithmes ne le feront pas.
La réponse à ce problème est la création de fonctionnalités. La création d'une entité est la partie de l'apprentissage automatique qui est considérée plus comme un art que comme une science parce qu'elle implique une intervention humaine dans le mélange créatif des caractéristiques existantes. Vous effectuez cette tâche au moyen de l'addition, la soustraction, la multiplication et le ratio pour générer de nouvelles fonctions dérivées avec plus de puissance prédictive que les originaux.
Connaître le problème et comprendre comment un être humain pourrait le résoudre fait partie de la création de caractéristiques. Donc, en se connectant à l'exemple précédent, le fait que la surface terrestre se connecte au prix de la propriété est une connaissance commune. Si la surface est manquante dans vos entités lorsque vous tentez de deviner la valeur d'une propriété, vous pouvez récupérer ces informations à partir des données existantes, ce qui augmente les performances des prédictions.
Peu importe si vous comptez sur votre bon sens, vos connaissances communes ou votre expertise spécialisée, vous pouvez faire beaucoup pour votre algorithme de machine si vous déterminez d'abord quelle information devrait être la meilleure pour le problème, puis essayez de le rendre disponible ou dérivez-le parmi vos caractéristiques.
Création automatique de fonctions
Vous pouvez créer automatiquement de nouvelles fonctionnalités.Une façon d'obtenir la création automatique de caractéristiques consiste à utiliser l'expansion polynomiale. Des moyens spécifiques sont disponibles pour réaliser une expansion polynomiale afin de créer automatiquement des entités dans R et Python. Pour le moment, vous devez saisir les concepts derrière l'expansion polynomiale.
Dans l'expansion polynomiale, vous créez automatiquement des interactions entre les entités et créez des puissances (par exemple, calcul du carré d'une entité). Les interactions reposent sur la multiplication des fonctionnalités. La création d'une nouvelle entité à l'aide de la multiplication permet de suivre la manière dont les entités ont tendance à se comporter dans leur ensemble. Par conséquent, il aide à cartographier les relations complexes entre vos fonctionnalités qui peuvent faire allusion à des situations particulières.
Un bon exemple d'interaction est le bruit émis par une voiture et le prix de la voiture. Les consommateurs n'apprécient pas les voitures bruyantes à moins d'acheter une voiture de sport, auquel cas le bruit du moteur est un plus qui rappelle au propriétaire de la puissance de la voiture. Il fait également remarquer aux spectateurs la voiture cool, donc le bruit joue un grand rôle dans la démonstration parce que le bruit attirera certainement l'attention des autres. D'un autre côté, le bruit lorsque vous conduisez une voiture familiale n'est pas très cool.
Dans une application d'apprentissage automatique, en essayant de prédire le taux de préférence pour une certaine voiture, des caractéristiques telles que le bruit et le prix de la voiture sont prédictives par elles-mêmes. Toutefois, en multipliant les deux valeurs et en les ajoutant à l'ensemble des caractéristiques, vous pouvez sans équivoque faire allusion à un algorithme d'apprentissage selon lequel la cible est une voiture de sport (lorsque vous multipliez les niveaux de bruit élevés par un prix élevé).
Les pouvoirs aident en créant des relations non linéaires entre la réponse et les caractéristiques, faisant allusion à des situations spécifiques.
Imaginez que vous deviez prévoir les dépenses annuelles d'une personne. L'âge est un bon prédicteur, car à mesure que les gens vieillissent et mûrissent, leur vie et leur situation familiale changent aussi. Les étudiants commencent par être pauvres mais trouvent ensuite du travail et peuvent fonder une famille. D'un point de vue général, les dépenses tendent à augmenter tout comme l'âge jusqu'à un certain point. La retraite marque généralement un point où les dépenses ont tendance à diminuer. L'âge contient de telles informations, mais c'est une caractéristique qui a tendance à croître, et relier les dépenses à sa croissance n'aide pas à décrire l'inversion qui se produit à un certain âge.
L'ajout de la fonction au carré aide à créer un effet de contre-vieillissement, qui est petit au début mais grandit rapidement avec l'âge. L'effet final est une parabole, avec une croissance initiale caractérisée par un pic de dépenses à un certain âge, puis une diminution.
Comme mentionné précédemment, connaître à l'avance une telle dynamique (bruit et voiture de sport, consommation et âge avancé) peut vous aider à créer les bonnes caractéristiques. Mais si vous ne connaissez pas ces dynamiques à l'avance, l'expansion polynomiale les créera automatiquement pour vous parce que, dans un certain ordre, cela créera des interactions et des pouvoirs de cet ordre. L'ordre indiquera le nombre de multiplications et la puissance maximale à appliquer aux entités existantes.
Donc une expansion polynomiale d'ordre 2 élève toutes les caractéristiques à la deuxième puissance et multiplie chaque caractéristique par toutes les autres. (Vous obtenez la multiplication de toutes les combinaisons de deux fonctionnalités.) Clairement, plus le nombre est élevé, plus de nouvelles fonctionnalités seront créées, mais beaucoup d'entre elles seront redondantes et contribueront à rendre votre algorithme d'apprentissage automatique plus adapté aux données.
Lorsque vous utilisez l'expansion polynomiale, vous devez faire attention à l'explosion des fonctionnalités que vous créez. Les puissances augmentent linéairement, donc si vous avez cinq fonctions et que vous avez besoin d'une extension d'ordre 2, chaque fonctionnalité est augmentée jusqu'à la deuxième puissance. L'augmentation de l'ordre d'un ajout d'une nouvelle fonctionnalité d'alimentation pour chaque fonction d'origine. Au lieu de cela, les interactions augmentent en fonction des combinaisons des fonctionnalités jusqu'à cet ordre.
En fait, avec cinq fonctions et un développement polynomial d'ordre 2, toutes les dix combinaisons uniques du couplage des entités sont créées. Augmenter l'ordre à 3 nécessitera la création de toutes les combinaisons uniques de deux variables, plus les combinaisons uniques de trois variables, c'est-à-dire 20 caractéristiques.