Этот проект призван на основании реальных результатов опроса клиентов авиакомпании выявить ключевые факторы, влияющие на впечатление клиентов и научиться предсказывать удовлетворённость полётом.
Проект создан в рамках буткемпа "Разработка ML-сервиса: от идеи к прототипу".
Его результаты в файле customers.ipynb
. Датасет, данные из которого были использованы.
- В данных были пропуски. Строки с пропусками и выбросами были исключены из датасета.
- Проанализирована линейная корреляция признаков.
- Построены графики распределения клиентов по классам для категориальных признаков.
- Под графиками приведены некоторые наблюдения.
- Категориальные признаки закодированы с помощью Ordinal Encoder из scikit-learn
- Все признаки масштабированы с использованием MinMaxScaler
- Обучены 3 модели: Logistic Regression, SVM и CatBoost.
- С помощью Catboost Classifier получены предсказания, выдающие результат выше 95% по всем использованным метрикам. Это наилучший результат.
- Результат получилось ещё немного улучшить.
Приложение создано с помощью Streamlit
- Поддерживаются 2 языка интерфейса - русский и английский.
- В приложении есть анкета. После заполнения можно получить предсказание удовлетворённости.
- Основной файл -
app.py
, сначала запускается он. Он отвечает за отрисовку интерфейса и обработку пользовательского ввода. - В файле
model.py
данные из анкеты подготавливаются так же, как при обучении моделейна датасете - Для предсказания загружается модель, показавшая наилучший результат - CatBoost.
- В итоге пользователь получает предсказание и вероятности.