Obliczanie odległości hamowania w Pythonie

Obliczanie odległości hamowania w Pythonie
Dowiesz się, jak określić odległość hamowania w Pythonie w tej lekcji. Odległość hamowania jest dodaniem wszystkich pasujących elementów, które różnią się między wektorami w uczeniu maszynowym. Będziesz wiedział, czym jest odległość hamowania i jak go zastosować do końca tej lekcji, a także jak ją obliczyć za pomocą scipy, jak obliczyć odległość hamowania między tablicami binarnymi i numerycznymi oraz jak obliczyć odległość hamowania między tablicami strunowymi. Ale najpierw zdefiniujmy, czym jest odległość hamowania.

Czym jest odległość hamowania?

Odległość hamowania jest statystyką, którą można użyć do porównania dwóch binarnych ciągów danych Gdy porównywane są dwa struny binarne o równej długości, obliczona odległość hamowania to liczba miejsc bitów, w których różnią się. Dane można wykorzystać do wykrywania błędów, a także do naprawy, gdy są wysyłane przez sieci komputerowe. Jest również używany w teorii kodowania do porównywania danych o porównywalnej długości.

Porównując różne teksty lub wektory binarne, odległość hamowania jest często wykorzystywana w uczeniu maszynowym. Na przykład odległość hamowania można użyć do porównania i ustalenia, jak różne są ciągi. Odległość hamowania jest również często stosowana z jednym gorącym kodowanym danymi. Sznurki binarne są często używane do reprezentowania danych zakodowanych jednoczęściowych (lub ciągów bitów). Jedno gorące wektory zakodowane są idealne do określania różnic między dwoma punktami za pomocą odległości hamowania, ponieważ są zawsze o równej długości.

Przykład 1:

Użyjemy SCIPY do obliczenia odległości hamowania w Pythonie w tym przykładzie. Aby znaleźć odległość hamowania między dwoma wektorami, użyj funkcji Hamming () w bibliotece Python Scipy. Ta funkcja jest zawarta w przestrzennym.Pakiet odległości, który obejmuje również inne pomocne funkcje obliczania długości.

Aby określić odległość hamowania między dwiema listami wartości, najpierw spójrz na nie. Zaimportuj pakiet Scipy do kodu, aby obliczyć odległość hamowania. Scipy.przestrzenny.dystans. Hamming () przyjmuje tablice VAL_ONE i VAL_TWO jako parametry wejściowe i zwraca odległość Hamming %, która jest następnie mnożona przez długość tablicy, aby uzyskać rzeczywistą odległość.

od Scipy.przestrzenny.Układanie importu odległości
val_one = [20, 40, 50, 50]
val_two = [20, 40, 50, 60]
dis = hamming (val_one, val_two)
Drukuj (DIS)

Jak widać na zrzucie ekranu poniżej, funkcja zwróciła wynik 0.25 W tej sytuacji.

Ale jak interpretujemy tę liczbę? Ułamek wartości, które są różne. Aby znaleźć liczbę unikalnych wpisów w tablicy, pomnóż tę wartość przez długość listy:

od Scipy.przestrzenny.Układanie importu odległości
val_one = [20, 40, 50, 50]
val_two = [20, 40, 50, 60]
dis = hamming (val_one, val_two) * len (val_one)
Drukuj (DIS)

Oto wynik, gdy pomnożymy wartość wynikową z długością listy.

Przykład 2:

Teraz zrozumiemy, jak obliczyć odległość hamowania między dwoma wektorami całkowitymi. Załóżmy, że mamy dwa wektory „x” i „y” z wartościami [3,2,5,4,8] i [3,1,4,4,4], odpowiednio. Odległość hamowania można łatwo obliczyć za pomocą poniższego kodu Pythona. Zaimportuj pakiet Scipy, aby obliczyć odległość hamowania w dostarczonym kodzie. Funkcja Hamming () bierze tablice „x” i „y” jako parametry wejściowe i zwraca odległość hamowania %, która jest mnożona przez długość tablicy, aby uzyskać rzeczywistą odległość.

od Scipy.przestrzenny.Układanie importu odległości
x = [4,3,4,3,7]
y = [2,2,3,3,3]
dis = Hamming (x, y) * len (x)
Drukuj (DIS)

Poniżej znajduje się wyjście kodu Pythona odległości hamowania.

Przykład 3:

W tej sekcji artykułu dowiesz się, jak obliczyć odległość hamowania między Let's Say Dwa tablice binarne. Odległość hamowania między dwoma macierzy binarnymi jest określana w taki sam sposób, jak w przypadku obliczania odległości hamowania dwóch tablic numerycznych. Warto zauważyć, że odległość hamowania rozważa tylko to, jak daleko są oddzielone, a nie jak daleko są one. Zbadaj poniższy przykład obliczania odległości hamowania między dwoma tablicami binarnymi w Pythonie. Tablica VAL_one zawiera [0,0,1,1,0] i wartości VAL_TWO zawiera wartości [1,0,1,1,1].

od Scipy.przestrzenny.Układanie importu odległości
val_one = [0, 0, 1, 1, 0]
val_two = [1, 0, 1, 1, 1]
dis = hamming (val_one, val_two) * len (val_one)
Drukuj (DIS)

Odległość hamowania wynosi 2 w tej sytuacji, ponieważ różnią się pierwsze i ostatnie elementy, jak pokazano w wyniku poniżej.

Przykład 4:

Obliczanie różnicy między strunami jest popularnym zastosowaniem odległości hamowania. Ponieważ metoda oczekuje struktur podobnych do tablicy, wszelkie ciągle, które chcemy porównać. Metodę List (), która zamienia ciąg w listę wartości, może być użyta do osiągnięcia tego. Aby pokazać, jak różne są dwa struny, porównajmy je. Widać, że mamy dwa struny w poniższym kodzie: „Katalog” i „Ameryka.„Następnie porównywane są oba ciągi, a wynik jest wyświetlany.

od Scipy.przestrzenny.Układanie importu odległości
First_str = „katalog”
second_str = „Ameryka”
dis = Hamming (List (First_str), lista (second_str)) * len (first_str)
Drukuj (DIS)

Wynik powyższego kodu Pythona wynosi 7.0, które tutaj możesz zobaczyć.

Zawsze powinieneś pamiętać, że tablice muszą być o tej samej długości. Python rzuci wartość ValueRorror, jeśli spróbujemy porównać struny o nierównych długościach. Ponieważ dostarczone tablice można dopasować tylko wtedy, gdy są o tej samej długości. Rzuć okiem na poniższy kod.

od Scipy.przestrzenny.Układanie importu odległości
First_str = „katalog”
second_str = „odległość”
dis = Hamming (List (First_str), lista (second_str)) * len (first_str)
Drukuj (DIS)

Tutaj kod rzuca ValueerRor, ponieważ dwa ciągi w danym kodzie różnią się długością.

Wniosek

Nauczyłeś się, jak obliczyć odległość hamowania w Pythonie w tym samouczku. Po porównaniu dwóch ciągów lub tablic, odległość hamowania stosuje się do ustalenia, ile pierwiastków różni się parami. Odległość hamowania jest często używana w uczeniu maszynowym w celu porównywania ciągów i jednej gorącej kodowanych tablic, jak wiesz. Na koniec nauczyłeś się korzystać z biblioteki Scipy, aby obliczyć odległość hamowania.