- Парунин Павел
- Якубовский Павел
- Марин Антон
- Тураев Адам
- Черняков Илья
Задание рассматривалось как задача регрессии.
Данные были проанализированы и разбиты на обучающую и тестовую выборки (см. файл "data preprocessing - original data.ipynb") в отношении 80%:20% соответственно.
В дополнение к обучающей выборке, были добавлены отзывы об интернет-провайдерах с сайта: http://www.moskvaonline.ru/rating (дополнительные ~20.000 отзывов, см. файл "data preprocessing - additional data.ipynb")
Полученные данные были обработаны с использованием двух основных подходов:
-
word based, word2vec (каждому слову сопоставлялся соответствующий вектор, подробнее: https://nlpub.ru/Russian_Distributional_Thesaurus).
-
character based (отзывы были разбиты по буквам, был составлен словарь из букв, отзывы заменялись последовательностью индексов букв в словаре)
Целевая переменная(рейтинг комментрия) не нормировалась.
Использованные метрики: MSE, MAE, Median AE, R2 score.
Целевая метрика: MSE
Для решения задачи были испробованы различные методы машинного обучения:
- Linear Regression,
- Ridge Regression,
- SVR,
- RandomForestRegressor,
- XGBoost,
- нейронные сети.
Лучшие результаты были получены с использованием нейронных сетей, поэтому в этом репозитории мы решили включить только их.
word-based
Файл с обучением: "training model_1(keras==1.2.2).ipynb"
Обученная модель: "saved_models/trained_model_1(keras==1.2.2)"
Файл с оценкой качества: "evaluating_word.ipynb"
word-based
Файл с обучением: "training model_2(keras==2.0.8).ipynb"
Обученная модель: "saved_models/trained_model_2(keras==2.0.8)"
Файл с оценкой качества: "evaluating_word.ipynb"
character-based
Файл с обучением: "training model_3(keras==2.0.8).ipynb"
Обученная модель: "saved_models/trained_model_3(keras==2.0.8)"
Файл с оценкой качества: "evaluating_char.ipynb"
Модель\Метрика | MSE | MAE | Median AE | r2 score |
---|---|---|---|---|
Модель №1 | 0,9136 | 0,6817 | 0,4942 | 0,471 |
Модель №2 | 0,9058 | 0,6832 | 0,5121 | 0,4741 |
Модель №3 | 1,0244 | 0,7631 | 0,6162 | 0,4067 |