Как я начал науку о данных и первый опыт.

Начало путешествия

После работы инженером-электронщиком меня заинтересовала область Data Science. Я начал искать Moocs в этой области. Вот список, который мне помогли в моем путешествии,

Все эти курсы объясняют основные алгоритмы машинного обучения. Кроме того, в курсе машинного обучения Coursera Эндрю Н.Г. объяснил математические основы этих алгоритмов. Если вы хотите узнать, что такое машинное обучение и как его использовать, я настоятельно рекомендую вам пройти все три курса.

Изучив основы машинного обучения, я начал поиск платформы для проверки своих знаний. Это время, когда я встретился с Каггл. (Https://www.kaggle.com)

В Kaggle есть множество наборов данных, в которых вы можете проверить свои знания. Вы можете загрузить данные или использовать ядро ​​Kaggle для написания и тестирования кода. Лучшая часть платформы Kaggle - это совершенно БЕСПЛАТНО!

Я начал делать некоторые EDA, рисовать графики и запускать некоторые базовые алгоритмы машинного обучения (линейная регрессия, логистическая регрессия, случайный лес и т. Д.). Но все эти работы становятся рутинными, и мне нужен мотивационный толчок, чтобы продолжить свой путь. Тогда я решил принять участие в соревновании.

Пусть игра начнется…

Все время, которое я потратил на Kaggle, я видел соревнования, но никогда не осмеливался их проводить.

У меня было предубеждение насчет конкурса, что если вы хотите подать заявку на участие в конкурсе, вам должно быть не менее 8 из 10. Что является бессмысленной идеей?

Моя первая заявка на конкурс была случайной. Пока я читал правила конкурса, я просто нажимаю кнопку «Я согласен», и бац, я участвую в конкурсе.

Время Kaggle

Соревнование, в котором я участвовал, было Microsoft Malware Prediction (https://www.kaggle.com/c/microsoft-malware-prediction/), которое предназначено для прогнозирования вероятности заражения компьютера Microsoft вредоносным ПО.

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

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

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

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

Мой совет всем новичкам: сначала прочитайте опыт людей, чтобы не повторять одни и те же ошибки.

Затем я начал писать код с использованием ядра Kaggles. Это время, когда я столкнулся со своей первой реальной жизненной проблемой. Мощности компьютера ядра недостаточно для чтения данных поезда. Этот вопрос обсуждался на странице обсуждения, и было предложено какое-то решение. Но после загрузки данных у меня будет такая же проблема с вычислительной мощностью из-за алгоритмов машинного обучения. Поэтому я решил загрузить данные и работать на своем персональном компьютере.

Я загружаю данные; выберите самый известный алгоритм машинного обучения на странице обсуждения и нажмите «Выполнить». И у меня есть вторая реальная жизненная проблема. Мощности моего компьютера также недостаточно для запуска этого алгоритма. Поскольку количество функций (столбцов) и количество наблюдений (строк) огромно, определенно существует потребность в разработке функций. Также есть много функций с пропущенными значениями, которые не так часто встречаются в наборе данных Kaggle. Но это реальная жизнь, а в реальной жизни всегда отсутствуют ценности.

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

По мере того, как я уменьшаю количество функций, я подбираю данные для алгоритма машинного обучения. И проверьте матрицу путаницы. Тадаа !! У меня% 54 (Лучше, чем подбросить монетку, да!) Roc Auc за тестовый набор. Пришло время запустить модель на тестовом наборе для создания файла представления.

Я попытался запустить модель с тестовыми данными, где у меня есть третий реальный опыт. До этого времени я всегда работал с одним набором данных и разбивал его для обучения и тестирования данных для модели. Но в реальной жизни у вас есть данные для обучения и тестирования отдельно, и если вы выполняете некоторую разработку функций (удаление функции, создание новой функции, изменение типа данных и т. Д.), Вы должны сделать то же самое для тестовых данных. Я усвоил это на собственном горьком опыте. Я попытался запустить свою обученную модель на тестовом наборе и через 2 часа ожидания получил ошибки. Затем разберитесь в ситуации, о которой я упоминал выше. Я забыл про разработку некоторых функций для тестовых данных.

Это было мое первое решение реальной жизненной проблемы, которое так важно для меня. Затем я пытаюсь улучшить свое решение и начинаю экспериментировать с функциями. На данный момент я улучшил свой результат до 60%, и мне еще есть чем заняться.

Заключение

В заключение, если вы хотите работать в области Data Science, никогда не будьте пессимистичны, никогда не отчаивайтесь. Всегда оставайтесь мотивированными, жаждущими новой информации, читайте качественный контент.

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

Ссылка на Github проекта: https://github.com/ большаяvolkansahn «/Microsoft-Malware-Prediction

Если вы хотите поддержать мою работу, это моя ссылка на Patreon: https://www.patreon.com/volkansahin