Fuzzy String adalah salah satu metode pencarian string yang menggunakan proses pendekatan terhadap pola dari string yang dicari. Melakukan pencarian terhadap string yang sama dan juga string yang mendekati dengan string yang lain yang terkumpul dalam sebuah penampungan atau kamus.
Levenshtein Distance merupakan Metric untuk mengukur perbedaan antara dua urutan. Umumnya, levenshtein distance antara dua kata merupakan jumlah minimal dari perubahan karakter tunggal (insert, delete, atau substitusi) yang diperlukan untuk merubah dari satu kata ke kata lainnya. Contoh hasil penggunaan algoritma ini, string “computer” dan “komputer” memiliki distance 1 karena hanya perlu dilakukan satu operasi saja untuk mengubah satu string ke string yang lain. Dalam kasus dua string di atas, string “computer” dapat menjadi “komputer” hanya dengan melakukan satu penukaran karakter “c” menjadi “k”.
Tugas dan Jawaban :
Buatlah program untuk menampilkan 5 film teratas berdasarkan 5 rasio tertinggi yang dimana inputnya berasal dari inputan user.Alur program nya:
Import dataset.
Masukkan kolom nama ke dalam sebuah list
User menginputkan nama film.
Menampilkan 5 film teratas berdasarkan 5 rasio tertinggi.
Note:
Jangan lupa upload file dengan format csv berikut ini.
Flow buat :
pip install fuzzywuzzy
from fuzzywuzzy import fuzz
import pandas as pd
import numpy as np
import fuzzywuzzy
from fuzzywuzzy import process
import chardet
df = pd.read_csv("/content/netflix_titles.csv - netflix_titles.csv.csv")
np.random.seed(0)
title = df['title'].unique()
title.sort()
title
def replace_matches_in_column(df, column, string_to_match, min_ratio = 75):
strings = df[column].unique()
matches = process.extract(string_to_match, strings,
limit=5, scorer=fuzz.token_sort_ratio)
close_matches = [matches[0] for matches in matches if matches[1] >= min_ratio]
rows_with_matches = df[column].isin(close_matches)
df.loc[rows_with_matches, column] = string_to_match
cocok = process.extract("kungfu", title, limit=5, scorer=fuzz.WRatio)
cocok
Output :
[('Chhota Bheem Kungfu Dhamaka', 90),
('K', 90),
('Chhota Bheem Kung Fu Dhamaka Series', 75),
('DreamWorks Kung Fu Panda Awesome Secrets', 75),
('Iron Fists and Kung-Fu Kicks', 75)]
2 Komentar
mantapp
Balasdemi portofolio akawkw
BalasPenulisan markup di komentar