МОИ СОВЕТЫ ДЛЯ УДОБНЫХ ДАННЫХ И АНАЛИТИКОВ

Набор инструментов быстрого и грязного машинного обучения для решения проблем классификации

Начните свой ML с помощью этого набора инструментов

Подобно тому, как электричество преобразовало почти все 100 лет назад, сегодня мне сложно представить себе отрасль, в которой, как я думаю, искусственный интеллект (AI) не изменится в ближайшие несколько лет ». ~ Эндрю Нг

Машинное обучение всегда имеет первостепенное значение, чтобы стать успешным специалистом по обработке данных и аналитиком. Благодаря машинному обучению мы научились запускать процедуры, позволяющие превращать необработанные данные в аналитические данные и прогнозы.

Однако, когда вы начнете анализ определенного случая, с чего бы вы начали?

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

Я искренне надеюсь, что эта статья может стать отправной точкой для запуска ваших первоначальных исследований на любом наборе данных. Я также создал Data Visualization Toolbox, основываясь на моем опыте и повторяющихся исследованиях, которые помогут вам запустить ваши проекты данных.



Набор инструментов Quick and Dirty ML

Это повторяющиеся фрагменты кода, которые я лично повторял во время моих исследований данных в Google и Visa - моем наборе инструментов для быстрого и грязного исследования машинного обучения.

К концу этой статьи вы должны реализовать эти коды и запустить начальные итерации исследования машинного обучения. Вы можете выполнить эти шаги и извлечь полезную информацию.

Ниже приводится последовательность начальных исследований:

  1. Подготовка данных
  2. ML обучение
  3. Оценка ML
  4. (Бонус) Эксперимент с несколькими классификаторами

Для этого сценария мы будем использовать Данные об удержании кадров t, которые имитируют типичную задачу классификации.

кто собирается уйти из вашей компании

Не стесняйтесь посещать эту ссылку Colab и запускать их.



Итак, приступим!

Требования к библиотеке

Импорт Matplotlib и Seaborn для рассказывания историй

Для тех из вас, кто не знает Сиборна, стыдно за то, что не сказал вам раньше. На мой взгляд, это одно из самых больших сокровищ, с которым должен быть знаком каждый аналитик и ученый! (не шутка!).

Seaborn позволит вам создавать потрясающие графики и визуализации за секунды. Таким образом, это очень важный инструмент для совершенствования ваших методов повествования как эффективных специалистов по данным / аналитикам.

Seaborn - это библиотека визуализации данных Python, основанная на matplotlib. Он предоставляет высокоуровневый интерфейс для рисования привлекательных и информативных статистических графиков. - Организация Seaborn Pydata

Импорт SkLearn for ML Toolkit

Scikit Learn (SkLearn) - это библиотека машинного обучения для Python. Он имеет модульные функции, необходимые для запуска различных функций машинного обучения, таких как классификация, кластеризация и регрессия.

SkLearn работает с научными библиотеками Python, такими как NumPy и SciPy, и поддерживает такие алгоритмы, как SVM (машина опорных векторов), дерево решений и логистическая регрессия.

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

Моя рекомендация

Я всегда рекомендую SkLearn, Matplotlib и Seaborn для выполнения ›80% типичной визуализации данных. Если вы используете Colab, все эти библиотеки готовы для вас. Если нет, запустите в диспетчере пакетов следующее.

pip install matplotlib
pip install seaborn
pip install sklearn

Подготовка данных

Обдумайте свои категориальные переменные

Представьте, что у вас есть функция «University_names», которая включает такие ярлыки, как «Harvard», «Georgia Tech», «National University of Singapore» и т. Д. Как вы представляете их для машинного обучения на основе расстояния, такого как логистическая регрессия и K Nearest Neighbor (KNN )?

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

Думмификация удалила закодированные переменные и добавила уникальное целочисленное значение в переменную is_ [feature] (например: is_harvard_graduate, is_yale_graduate). Они представлены как 0 (Ложь) или 1 (Истина), что используется для ML на основе расстояния.

Вам следует использовать это, когда… вы используете категориальные целевые переменные для машинного обучения на основе регрессии / расстояния.

Выбор функции

Представьте себе проблему удержания персонала в небольшом стартапе. Вы обязаны предсказать, кто покинет вашу компанию. Вы собрали все данные, о которых вы только можете подумать: их семейное прошлое, их послужной список и производительность за последний год.

Вы счастливы, потому что у вас есть более 100 функций, и вы чувствуете себя достаточным, чтобы передать их в нейронную сеть.

Это ловушка для проклятия размерности ( Ричард Э. Беллман) . Фактически, когда у вас есть широкий набор данных, но короткие наборы данных (большие n_features, но небольшой размер данных). Очень легко переоснастить вашу модель машинного обучения, потому что она запомнит все наблюдения с учетом уникальных наборов функций.

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

Теперь, какие функции выбрать?

Мы используем простой алгоритм, называемый рекурсивным устранением признаков (RFE). Этот метод повторно запускает фильтрацию функций одну за другой, пока набор не будет погашен, чтобы обеспечить лучшую обучаемость.

Представьте себе школьный баскетбольный клуб. Каждый год тренер собирает заинтересованных учеников и исключает нескольких в каждом плей-офф. Конечным результатом является набор игроков с последовательными навыками и командной работой.

Вы оцениваете набор функций в зависимости от того, насколько они важны в наборе.

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

Тренировка тестового сплит

Представьте свои последние академические экзамены. Как ты готовился? Вы запомнили все ответы на пробные экзамены, но не сдали заключительный экзамен? Если да, вам необходимо понять свои пробные экзамены (тренинг), чтобы получить результаты на выпускных экзаменах (тест).

Разделение набора данных для обучения и тестирования важно для оценки способности модели точно отображать реальность.

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

  • Обучающий набор обеспечивает известный вывод с обобщенными данными.
  • Набор тестов оценивает, как наша модель работает с невидимым набором данных.
  • Проверочный набор тестов для оценки настройки и переподготовки.

Вам следует использовать это, когда… вы оцениваете любую модель машинного обучения.

ML обучение

Логистическая регрессия

Представьте себе своих нынешних коллег в офисе. Не могли бы вы выбрать трех человек, которые, скорее всего, покинут небольшие стартапы?

Вы выбрали миллениалов (20–30 лет)?

Как насчет того, чтобы я показал вам, кто хорошо работает за последний год? Вы можете угадать получше?

Логистическая регрессия - это модель, основанная на вероятности, которая использует максимальное правдоподобие в качестве функций расстояния. Он вычисляет вероятность предсказать определенное значение с учетом входных данных.

На мой взгляд, один из лучших вариантов использования - это определение правильного веса. Они лучше всего объясняют веса признака X, который удобен для системы обнаружения на основе скоринга (кредитный риск или риск бегства).

Предупреждение: остерегайтесь проблем с моралью (прочтите Оружие математического разрушения).

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

Вы должны использовать это, когда… вы запускаете модель на основе регрессии, анализируете ее коэффициенты и прогнозируете проблемы классификации.

Древо решений

Цель дерева решений - разбить данные на группы, чтобы получить максимальную информацию.

Самым большим преимуществом дерева решений является интуиция и легкость получения информации даже с неочищенными и ненормализованными данными. Его не беспокоят выбросы и разделение верхних функций с помощью правил.

На мой взгляд, лучший вариант использования - найти профили, которые лучше всего объясняют определенный класс. Например, симптомы увольнения сотрудников: low_satisfaction и low_last_evaluation.

Вам следует использовать это, когда… вы запускаете модель на основе правил, анализируете ее правила для профилирования классов и прогнозируете проблемы классификации.

Оценки ML

Метрики замешательства и статистика предварительной оценки

Метрики путаницы сравнивают предсказание модели с реальностью, что позволяет нам понять характеристики модели и ответить на бизнес-задачи - Data School:

  • истинные положительные результаты (TP): мы предсказали, что он уйдет (он уйдет).
  • истинные негативы (TN): мы предсказали, что он не уйдет (он не уйдет)
  • ложные срабатывания (FP): мы предсказали, что он уйдет (но он не уйдет) - ошибка типа I.
  • ложноотрицательные (FN): мы предсказали, что он не уйдет (но он уйдет) - ошибка типа II.
  • Дополнительная статистика: точность, коэффициент ошибочной классификации, точность и отзывчивость

Вам следует использовать это, когда… вы оцениваете любую модель на предмет проблем классификации.

Кривые AUC ROC

AUC (Area Under Curve) - ROC (Оптимальная кривая) устанавливает порог в настройке моделирования для измерения уверенности в вердиктах классификации. Он сообщает, насколько модель способна различать класс, указав процент.

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

При обнаружении спама в электронной почте такие высокие стандарты могут не потребоваться.

Вам следует использовать это, когда… вы анализируете модели на предмет проблем классификации и определяете надежность, прежде чем запускать модель в производство.

(Бонус) Эксперименты с несколькими классификаторами

В большинстве случаев вам нужно поэкспериментировать с различными типами классификационных моделей и определить наиболее эффективные. Вы можете выбрать из множества базовых и ансамблевых моделей, например:

  1. KNeighborsClassifier - машинное обучение на основе экземпляров для прогнозирования классов на основе близости наблюдения к другим экземплярам.
  2. Классификатор опорных векторов - пытается разделить классы на основе ядра с максимальным разделительным расстоянием.
  3. Классификатор дерева решений - машинное обучение на основе правил для прогнозирования классов на основе правил путем разделения функций, которые эвристически обеспечивают оптимальное получение информации.
  4. Классификатор случайного леса - ансамбль дерева решений, основанный на нескольких моделях, работающих на разных данных и наборах функций.
  5. Классификатор Ada Boost - ансамбль дерева решений, который смешивает несколько пней дерева функций, чтобы сформировать ансамбль дерева с нуля.
  6. так далее

следует использовать это, когда… вы хотите поэкспериментировать, какая модель дает наивысшую точность (качество прогноза) и наименьшие потери в журнале (получение информации).

Последние мысли

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

Как всегда, по любым вопросам обращайтесь ко мне в Linkedin. Буду рад ответить на ваши вопросы, когда позволит время.

Соли Део Глория

об авторе

Винсент борется со злоупотреблениями в Интернете с помощью ML @ Google. Винсент использует расширенную аналитику данных, машинное обучение и разработку программного обеспечения для защиты пользователей Chrome и Gmail.

Помимо работы в Google, Винсент также является ведущим автором журнала Towards Data Science Medium, который направляет начинающих практиков машинного обучения и обработки данных с более чем 500 тысячами зрителей по всему миру.

В свободное время Винсент учится на степень магистра ML в Технологическом институте Джорджии и готовится к триатлону / велосипедным поездкам.

Наконец, свяжитесь с Винсентом через LinkedIn, Medium или Youtube Channel.