Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Praca jest skierowana na opracowanie systemu rekomendacji lokali gastronomicznych (restauracji) dla poszczególnych użytkowników. Główny fokus pracy polegał na wstępnym przetwarzaniu złożonego, wielotabelowego zbioru danych oraz budowie modelu, który jest w stanie prognozować, czy danej restauracji spodoba się konkretnemu użytkownikowi.

Celem było stworzenie funkcji prognozowania (rekomendacji) oceny restauracji dla użytkownika na podstawie danych profili użytkowników oraz ich wcześniejszych ocen. To znaczy wykonanie zadania User-based collaborative filtering z wykorzystaniem KNN.

Kroki do wykonania:
• Załadowanie i połączenie danych z pięciu różnych źródeł.
• Wykrywanie i przetwarzanie brakujących oraz niespójnych wartości w danych.
• Oczyszczenie i normalizacja danych geograficznych oraz meta-danych użytkowników i restauracji.
• Stworzenie modelu systemu rekomendacji.

Wykorzystane dane
Projekt wykorzystuje zbiór danych restaurant-data-with-consumer-ratings, który składa się z 9 tabel, z których wykorzystano pięć powiązanych plików CSV:
1. geoplaces2.csv: Charakterystyki geograficzne i atrybuty lokali (np. przedział cenowy, alkohol, dress code itp.).
2. rating_final.csv: Ostateczne oceny użytkowników dla lokali (ogólna ocena, ocena jedzenia, ocena obsługi).
3. userprofile.csv: Demograficzne i behawioralne profile użytkowników (np. poziom spożycia alkoholu, nikotyny, budżet itp.).
4. usercuisine.csv: Preferencje użytkowników dotyczące kuchni.
5. chefmozcuisine.csv: Typy kuchni oferowane przez lokale.

Modelowanie
• Zastosowano koncepcję User-Based Collaborative Filtering (UBCF), gdzie KNN był używany do wyszukiwania K-najbliższych sąsiadów na podstawie metryk podobieństwa kosinusowego (Cosine Similarity).
• Optymalizacja: Usunięto problemy skalowalności klasycznego UBCF poprzez zastosowanie zoptymalizowanych metod, potwierdzono konieczność przejścia do ważonej średniej (Weighted Average) dla dokładnej prognozy oceny, która opiera się na odległościach i indeksach sąsiadów.
• Funkcja rekomendacji: Opracowano funkcję recommend_restoran(), która przyjmuje docelowy lokal (target_placeID), docelowego użytkownika (target_userID) oraz liczbę sąsiadów (k) do prognozowania oceny.
• Kryterium rekomendacji: Prognozowana ocena jest zaokrąglana, a jeśli jest równa lub przekracza próg (recommend_threshold), restauracja jest rekomendowana.

Wykorzystane technologie
Język programowania: Python
Biblioteki:
• pandas, numpy: Przetwarzanie i manipulacje danymi.
• requests: Do wywoływania zewnętrznego serwisu geograficznego (GPS-Coordinates.net).
• sklearn (Scikit-learn): Wykorzystanie metryk.

P.S Na zrzucie ekranu pokazano ilości braków danych w tabelach, z którymi pracowałem, finalną macierz do obliczeń oraz 3 wyniki działania funkcji.

#ML #machinelearining #datascience #database #analitycs #dataanalysis
Szczegóły pracy
Dodana 2 października 2025
146 wyświetleń
Freelancer
Illia Yermachenkov
Ukraina Krzywego Rogu
Brak opinii

Gotowy do podjęcia pracy Gotowy do podjęcia pracy
W serwisie 1 rok