Je dois prétraiter les données en nombres pour pouvoir appliquer des algorithmes ML dans un ensemble de données, mais il y a cette fonctionnalité qui est presque arborescente avec des chaînes dont je n'ai aucune idée. comment transformer. Ici va un exemple:Apprentissage automatique des chaînes de prétraitement à des nombres basés sur la similarité des chaînes
Feature -> Value I would like to transform to (example):
X Y Z foo -> 0.5
X Y Z bar -> 0.501
A B C foo -> 4.1
W B C foo -> 5
Essentiellement la chaîne transformerait en un nombre réel unique, où ce nombre serait très proche d'autres chiffres si leurs chaînes étaient presque identiques, ce qui donne plus de poids aux premiers mots qui viennent premier sur la chaîne.
Ma question, existe-t-il un algorithme déjà existant pour résoudre ce problème?
Vous demandez d'intégrer un espace de plus grande dimension dans un espace à une dimension. C'est généralement impossible sauf approximativement. Voir https://en.wikipedia.org/wiki/Nonlinear_dimensionality_reduction pour les pointeurs, mais vous devrez également décider quelle est votre métrique de distance. –