Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Робота спрямована на розробку системи рекомендацій закладів харчування (ресторанів) для окремих користувачів. Основний фокус роботи полягав у попередній обробці складного, багатотабличного набору даних та побудові моделі, яка здатна прогнозувати, чи сподобається певний ресторан конкретному користувачеві.

Метою було створити функцію прогнозування (рекомендації) рейтингу ресторану для користувача на основі даних профілів користувачів та їхніх попередніх оцінок. Тобто виконання задачі User-based collaborative filtering з використанням KNN.

Кроки для виконання:
• Завантаження та об'єднання даних із п'яти різних джерел.
• Виявлення та обробка пропущених і неконсистентних значень у даних.
• Очищення та нормалізація географічних і мета-даних користувачів та ресторанів.
• Створення моделі рекомендаційної системи.

Використані дані
Проект використовує набір даних restaurant-data-with-consumer-ratings, що складається з 9 таблиць, з яких були використані п'ять взаємопов'язаних CSV-файлів:
1. geoplaces2.csv: Географічні характеристики та атрибути закладів (наприклад, ціновий діапазон, алкоголь, дрес-код та ін.).
2. rating_final.csv: Фінальні оцінки користувачів закладам (загальний рейтинг, рейтинг їжі, рейтинг обслуговування).
3. userprofile.csv: Демографічні та поведінкові профілі користувачів (наприклад, рівень споживання алкоголю, нікотину, бюджет та ін.).
4. usercuisine.csv: Переваги користувачів щодо кухні.
5. chefmozcuisine.csv: Типи кухні, які пропонують заклади.

Моделювання
• Застосовано концепцію User-Based Collaborative Filtering (UBCF), де KNN використовувався для пошуку K-найближчих сусідів на основі метрик подібності косинуса (Cosine Similarity)
• Оптимізація: Усунуто проблеми масштабованості класичного UBCF шляхом використання оптимізованих методів, підтверджено необхідність переходу до зваженого середнього (Weighted Average) для точного прогнозу рейтингу, яка базується на відстанях та індексах сусідів.
• Функція рекомендації: Розроблено функцію recommend_restoran(), яка приймає цільовий заклад (target_placeID), цільового користувача (target_userID) і кількість сусідів (k) для прогнозування рейтингу.
• Критерій рекомендації: Прогнозний рейтинг заокруглюється, і якщо він дорівнює або перевищує порогове значення (recommend_threshold), ресторан рекомендується.

Використані технології
Мова програмування: Python
Бібліотеки:
• pandas, numpy: Обробка та маніпуляції з даними.
• requests: Для виклику зовнішнього гео-сервісу (GPS-Coordinates.net).
• sklearn (Scikit-learn): Використання метрик.

P.S На скріншоті показані кількості пропусків даних в талицях з якими я працював, фінальна матриця для розрахунків та 3 результати роботи функції.

#ML #machinelearining #datascience #database #analitycs #dataanalysis
Деталі роботи
Додано 2 жовтня 2025
146 переглядів
Фрилансер
Ілля Єрмаченков
Україна Кривий Ріг
Немає відгуків

Вільний для роботи Вільний для роботи
На сервісі 1 рік