Skip to content

nadirg2/movies_prediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Movies Prediction ML Pipeline

Проект рекомендательной системы на факторизационной машине, использующий Apache Airflow для управления пайплайном, включающим этапы предобработки данных, обучения модели и оценки модели.

Структура проекта

project/
├── app/
│   ├── dags/
│   │   ├── ml_pipeline.py
│   ├── scripts/
│   │   ├── data_preprocessing.py
│   │   ├── model_training.py
│   │   ├── model_evaluation.py
│   ├── utils/
│   │   ├── logger.py
│   │   └── pickler.py
├── data/
│   ├── raw/
│   │   ├── rating.csv
│   │   ├── movie.csv
│   ├── processed/
│   │   ├── train_interactions.pkl
│   │   ├── test_interactions.pkl
│   │   ├── item_features.pkl
│   │   ├── index_to_movie_id.pkl
├── logs/
├── models/
├── notebooks/
│   ├── data_preprocessing.ipynb
│   ├── data_analysis.ipynb
│   ├── model_training.ipynb
│   ├── model_evaluation.ipynb
├── venv/
├── requirements.txt
├── .gitignore
└── README.md

Установка

  1. Клонируйте репозиторий:
git clone https://github.com/nadirg2/movies_prediction.git
cd movies_prediction
  1. Установите зависимости:
pip install -r requirements.txt
  1. Установите и настройте Apache Airflow:
pip install apache-airflow
airflow db init
airflow users create \
    --username admin \
    --password admin \
    --firstname Admin \
    --lastname User \
    --role Admin \
    --email admin@example.com

Настройте переменные окружения для Airflow:

export AIRFLOW_HOME=~/airflow
export AIRFLOW__CORE__DAGS_FOLDER=~/airflow/dags

Создайте директорию для DAGs и скопируйте ваш DAG файл:

export AIRFLOW_HOME=~/airflow
export AIRFLOW__CORE__DAGS_FOLDER=~/airflow/dags

Запуск

  1. Запустите веб-сервер Airflow:
airflow webserver --port 8080
  1. В другом терминале запустите планировщик Airflow:
airflow scheduler
  1. Откройте веб-интерфейс Airflow в браузере по адресу http://localhost:8080 и войдите с учетными данными (например, admin / admin).

  2. Найдите ваш DAG ml_pipeline, активируйте его и запустите.

Скрипты

data_preprocessing.py

Этот скрипт выполняет предобработку данных, включая загрузку данных, преобразование временных меток, создание признаков жанров и генерацию матриц взаимодействий и признаков элементов.

model_training.py

Этот скрипт обучает модель LightFM на тренировочных данных и сохраняет обученную модель.

model_evaluation.py

Этот скрипт оценивает производительность модели с использованием метрик Precision@K и AUC на тестовых данных.

Логи

Логи сохраняются в директорию logs, которая создается в текущей рабочей директории.

Контакты

Если у вас есть вопросы или предложения, пожалуйста, свяжитесь с нами по адресу gulievnadir3@gmail.com.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published