Skip to content
This repository has been archived by the owner on Jun 3, 2019. It is now read-only.

gazon1/testing-task-Avito

Repository files navigation

Задача

Обучите классификатор, предсказывающий категорию объявления на Авито по его заголовку, описанию и цене. Метрика для оценки качества – accuracy. Необходимо предоставить прокомментированный код (желательно на Python 2.x или 3.x, можно в Jupiter Notebook) для всех этапов решения задачи и результат скоринга файла test.csv с помощью предложенного классификатора (csv-файл с двумя столбцами: item_id, category_id).

Категории имеют иерархическую структуру, описанную в файле сategory.csv. Посчитайте также accuracy вашей модели на каждом уровне иерархии.

Для решения задачи можно использовать любые внешние модели, но не внешние данные. В случае сомнений по поводу возможности использования чего-либо напишите нам.

форма подачи заявки на стажировку

Данные

Ссылка на данные от организаторов

Код, обученные модели и все данные, как исходные, так и промежуточные, лежат на гугл диске

Решение

Чтобы запустить решение, нужно зайти на гугл диск и запустить ноутбуки из папки code в google collab

Предобработка заключалась в лемматизации и удалении пунктуации из title и desciption (см. файл Preprocessing.ipynb)

Итоговая модель - это стекинг xgboost и fastText (см. файл Stacking_xgboost_of_fasttext.ipynb). FastText обучен на объединенных строках desription + title. Его предсказания 5-ти самых вероятных категорий и их вероятности используются как фичи для обучения xgboost.

Кроме того, в xgboost идут фичи:

  • длина desciption
  • кол-во слов в desciption
  • средняя длина слова в desciption
  • цена одного слова
  • цена одной буквы
  • средняя длина одного слова

Описание файлов на гугл диске

гугл диск с решением и данными

Предсказания модели для тестовой выборки лежат в файле Предсказания для тестовой выборки.csv в папке data

Обученные в ходе решения модели fastText и xgboost - в папке models

Весь код - в папке code. Его копия также здесь в репозитории

лемматизированные данные, из которых убрана пунктуация:

  • test_lemmatized.csv
  • train_lemmatized.csv
  • preprocessed_train.csv
  • preprocessed_test.csv

предобработанные данные для fasttest:

  • fasttext_input.train.txt
  • fasttext_input.val.txt
  • fasttext_input.txt
  • fasttext_test.txt

данные для обучения xgboost (фичи на тексте, цене + предсказания fasttext):

  • xgb_test_data.csv
  • xgb_val_data.csv
  • xgb_train_data.csv

Оценка качества решения

Посчитаны accuracy по каждому уровню иерахии(см. файл “Accuracy без разделения на уровни иерархии.txt”) и accuracy без разделения на иерахии + их среднее (см. файл “Accuracy по каждому уровню иерархии.txt”)

Также, если файл в другой кодировки или нечитаем, эти метрики посчитаны в ноутбуке Stacking_xgboost_of_fasttext

About

Тестовое задание на стажировку в Авито 2019-05-05

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages