1. Какой набор данных вы анализировали?
  • Мы проанализировали набор данных Amazon Employee Access в рамках конкурса Kaggle «Employee Access Challenge».

2. Какие модели показали лучшие результаты? Что не сделал? Почему?

  • Модель логистической регрессии (оценка = 87%. См. ниже) работала лучше, чем модели случайного леса или дерева решений. Вероятно, это связано с тем, что модель логистической регрессии устойчива к прогнозированию бинарных (0,1) результатов.

3. Какие методы выбора функций и разработки функций вы пробовали?

  • Для того, чтобы привести функции в правильную форму, мне нужно выполнить некоторую разработку функций. Во-первых, я попробовал однократное кодирование — процесс, в котором все уникальные значения в столбце преобразуются в сам признак с единицами там, где присутствует значение, и нулями в других местах. Одно горячее кодирование улучшило точность моего классификатора Random Forest. Я также попробовал «get_dummies», который улучшил результаты моей логистической регрессии. Наконец, я рассмотрел важность каждой функции по отношению к случайному лесу. Заметив, что «ROLE_TITLE» и «ROLE_CODE» по сути являются одной и той же функцией, я удалил «ROLE_CODE».

4. Как вы оптимизировали свои гиперпараметры?

  • Я оптимизировал параметры с помощью «RandomizedSearchCV», что позволило мне выбрать набор параметров, обеспечивающий максимальную точность. Я выбрал эту функцию вместо «GridSearchCV», потому что GridSearchCV очень медленный и требует много времени для запуска.

5. Как вы думаете, почему выбранная вами модель работает лучше других?

  • Выбранная мной модель, логистическая регрессия, работает лучше, чем дерево решений или классификаторы случайного леса, потому что логистическая регрессия очень хорошо предсказывает двоичные результаты {0,1}, что имеет место в этом наборе данных.

6. Что бы вы хотели сделать в будущем, чтобы повысить свою производительность?

  • Чтобы повысить производительность, я бы рассмотрел возможность добавления дополнительных классификаторов (таких как SVM), которые более устойчивы к прогнозированию бинарных результатов, чем деревья решений.

7. Несколько предложений о том, как вы рассматривали проблему переобучения/недообучения.

  • Проблема переобучения возникает, когда на данных обучается классификатор типа «дерево» (случайные леса или дерево решений). Дерево обучается так, чтобы оно идеально соответствовало обучающим данным, что вызывает проблемы, когда модель изменяется или применяется к тестовым данным.

8. Визуализация ROC-кривой вашей окончательной модели и исходной модели с некоторыми комментариями по улучшению.

  • Здесь мы видим, что в классификаторе случайного леса даже настройка гиперпараметров не дает такой высокой производительности, как логистическая регрессия.