Calcul de la distance de Hamming dans Python

Calcul de la distance de Hamming dans Python
Vous apprendrez à déterminer la distance de Hamming en Python dans cette leçon. La distance Hamming est l'ajout de tous les éléments correspondants qui varient entre les vecteurs de l'apprentissage automatique. Vous saurez quelle est la distance de Hamming et comment l'utiliser à la fin de cette leçon, ainsi que comment la calculer en utilisant Scipy, comment calculer la distance de Hamming entre les tableaux numériques binaires et comment calculer la distance de Hamming entre les réseaux de chaînes. Mais d'abord, définissons ce qu'est la distance Hamming.

Quelle est la distance de Hamming?

La distance de Hamming est une statistique qui peut être utilisée pour comparer deux chaînes de données binaires lorsque deux chaînes binaires de longueur égale sont comparées, la distance de Hamming calculée est le nombre de lieux de bits dans lesquels ils diffèrent. Les données peuvent être utilisées pour la détection des erreurs ainsi que pour réparer lorsqu'elles sont envoyées sur les réseaux informatiques. Il est également utilisé dans la théorie du codage pour comparer les mots de données de longueur comparable.

Lorsque vous comparez divers textes ou vecteurs binaires, la distance de Hamming est fréquemment utilisée dans l'apprentissage automatique. La distance de Hamming, par exemple, peut être utilisée pour comparer et déterminer à quel point les chaînes sont différentes. La distance Hamming est également fréquemment utilisée avec des données codées à un hot. Les chaînes binaires sont fréquemment utilisées pour représenter des données codées à un coup (ou bit). Les vecteurs codés à un hot sont parfaits pour déterminer les différences entre deux points en utilisant la distance de Hamming car elles sont toujours de longueur égale.

Exemple 1:

Nous utiliserons Scipy pour calculer la distance de Hamming en Python tout au long de cet exemple. Pour trouver la distance Hamming entre deux vecteurs, utilisez la fonction Hamming () dans la bibliothèque Python Scipy. Cette fonction est incluse dans le spatial.package de distance, qui comprend également d'autres fonctions de calcul de longueur utile.

Pour déterminer la distance de Hamming entre deux listes de valeurs, regardez-les d'abord. Importez le package Scipy dans le code pour calculer la distance Hamming. cavalier.spatial.distance. Hamming () prend les tableaux val_one et val_two en tant que paramètres d'entrée et renvoie le% de distance de Hamming, qui est ensuite multiplié par la longueur du tableau pour obtenir la distance réelle.

de Scipy.spatial.Distance Import Hamming
val_one = [20, 40, 50, 50]
val_two = [20, 40, 50, 60]
dis = hamming (val_one, val_two)
imprimer (dis)

Comme vous pouvez le voir dans la capture d'écran ci-dessous, la fonction a renvoyé le résultat de 0.25 dans cette situation.

Mais comment interpréter cette figure? La fraction des valeurs différentes est renvoyée par la valeur. Pour trouver le nombre d'entrées uniques dans le tableau, multipliez cette valeur par la longueur de la liste:

de Scipy.spatial.Distance Import Hamming
val_one = [20, 40, 50, 50]
val_two = [20, 40, 50, 60]
dis = hamming (val_one, val_two) * len (val_one)
imprimer (dis)

Voici le résultat lorsque nous multiplions la valeur résultante avec la longueur de la liste.

Exemple 2:

Maintenant, nous comprendrons comment calculer la distance de Hamming entre les deux vecteurs entiers. Supposons que nous ayons deux vecteurs «x» et «y» avec les valeurs [3,2,5,4,8] et [3,1,4,4,4], respectivement. La distance Hamming peut facilement être calculée en utilisant le code Python ci-dessous. Importez le package Scipy pour calculer la distance Hamming dans le code fourni. La fonction Hamming () prend les tableaux «x» et «y» en tant que paramètres d'entrée et renvoie la distance de Hamming, qui est multipliée par la longueur du tableau pour obtenir la distance réelle.

de Scipy.spatial.Distance Import Hamming
x = [4,3,4,3,7]
y = [2,2,3,3,3]
dis = hamming (x, y) * len (x)
imprimer (dis)

Ce qui suit est la sortie du code python de distance Hamming illustré ci-dessus.

Exemple 3:

Dans cette section de l'article, vous apprendrez à calculer la distance de Hamming entre Disons deux tableaux binaires. La distance de Hamming entre les deux tableaux binaires est déterminée de la même manière que nous avons fait avec le calcul de la distance de Hamming de deux tableaux numériques. Il convient de noter que la distance de Hamming ne considère que la distance à laquelle les éléments sont séparés, et non à quelle distance ils sont. Explorez l'exemple suivant de calcul de la distance de Hamming entre deux tableaux binaires à Python. Le tableau Val_one contient [0,0,1,1,0] et Val_Two Array contient des valeurs [1,0,1,1,1].

de Scipy.spatial.Distance Import Hamming
val_one = [0, 0, 1, 1, 0]
val_two = [1, 0, 1, 1, 1]
dis = hamming (val_one, val_two) * len (val_one)
imprimer (dis)

La distance de Hamming est de 2 dans cette situation puisque les premier et derniers éléments diffèrent, comme indiqué dans le résultat ci-dessous.

Exemple 4:

Le calcul de la différence entre les chaînes est une application populaire de la distance de Hamming. Parce que la méthode s'attend à des structures de type tableau, toutes les chaînes que nous voulons comparer doivent d'abord être transformées en tableaux. La méthode liste (), qui transforme une chaîne en une liste de valeurs, peut être utilisée pour y parvenir. Pour montrer à quel point les deux chaînes sont différentes, comparons-les. Vous pouvez voir que nous avons deux chaînes dans le code ci-dessous: «Catalogue» et «Amérique.'Suite à cela, les deux chaînes sont ensuite comparées, et le résultat est affiché.

de Scipy.spatial.Distance Import Hamming
premier_str = 'catalogue'
second_str = 'America'
dis = hamming (list (first_str), list (second_str)) * len (first_str)
imprimer (dis)

Le résultat du code Python ci-dessus est 7.0, que vous pouvez voir ici.

Vous devez toujours vous rappeler que les tableaux doivent être de la même longueur. Python lancera une valeur de valeur si nous essayons de comparer les chaînes de longueurs inégales. Parce que les tableaux fournis ne peuvent être appariés que s'ils sont de la même longueur. Jetez un coup d'œil au code ci-dessous.

de Scipy.spatial.Distance Import Hamming
premier_str = 'catalogue'
second_str = 'Distance'
dis = hamming (list (first_str), list (second_str)) * len (first_str)
imprimer (dis)

Ici, le code lance ValueError car les deux chaînes du code donné diffèrent en longueur.

Conclusion

Vous avez appris à calculer la distance de Hamming en Python dans ce tutoriel. Lorsque deux cordes ou tableaux sont comparés, la distance de Hamming est utilisée pour déterminer combien d'éléments diffèrent par paire. La distance de Hamming est fréquemment utilisée dans l'apprentissage automatique pour comparer les chaînes et les tableaux codés à un hot, comme vous le savez. Enfin, vous avez appris à utiliser la bibliothèque Scipy afin de calculer la distance Hamming.