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

Осенний семестр

Введение в анализ текста и парсинг данных

Этот курс был широким обзором анализа текста и методов NLP в области науки о данных, в основном с помощью приложений в R. Мы узнали о методах в классе и практиковали их в различных упражнениях, но класс был сосредоточен вокруг финального проекта. Мы работали над этим проектом в течение всего семестра, применяя техники по мере того, как мы их изучали в классе, и собирая отзывы от нашего преподавателя по ходу работы. Наша команда решила проанализировать депрессивные настроения в различных источниках социальных сетей (Reddit, Twitter, Tumblr и блоги/форумы), чтобы найти любые тенденции или идеи, которые могли бы помочь в целенаправленной работе. Мы собрали/вытащили наши данные с сайтов социальных сетей, а затем проверили наши методы на каждом наборе данных, что дало нам прекрасную возможность научиться справляться с беспорядочными данными. В конце концов, в конце семестра мы поделились своими мыслями с остальным классом, и наши слайды можно найти здесь:

https://github.com/vkumaresan/Text-Analysis-Final-Project/blob/master/Text%20Analysis%20Final_%20Expression%20of%20Depression.pdf

Моделирование и представление данных

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

Системы управления базами данных

В этом курсе мы познакомились с различными системами баз данных и поняли, как они работают в производственных средах. Начав с SQL, а затем перейдя к платформам NoSQL и Hadoop, мы узнали о преимуществах и недостатках каждой системы, а также узнали о синтаксисе и о том, как использовать каждый язык для доступа к данным. Наш последний проект состоял из анализа госпитализаций в отделения неотложной помощи по причинам психического здоровья в различных больницах Северной Каролины, поэтому я не могу публиковать данные или анализ здесь. Мы использовали интерфейс PySpark для доступа к данным и выполнения запросов к ним, хотя мы также использовали MapReduce для нескольких более масштабных идей, которые мы хотели собрать.

Весенний семестр

Данные для принятия решения

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

Университеты со всей страны проводят это мероприятие, которое спонсируется и проводится Американской статистической ассоциацией. Так случилось, что Университет Дьюка принимал у себя соревнование в регионе Северной Каролины, поэтому в наш кампус на выходные приехали участники из колледжей со всего штата. Каждой команде был предоставлен один и тот же набор данных, который в этом году поступил от канадской женской олимпийской организации по регби-7. Я не могу поделиться здесь какими-либо данными или методами, поскольку это их собственные знания, но их вопрос был связан с разработкой лучшего метода для понимания усталости игроков и соответствующей корректировки режимов тренировок. Набор данных включал множество различных типов данных, включая ответы на опросы, информацию о тренировках и даже данные GPS игрока. Было бы легко потеряться во всех этих данных, но моя команда решила сосредоточиться на том, что мы изучали в нашем классе «От данных к решению», и сравнить информацию, полученную из модели с объективными игровыми данными, с субъективными данными. Мы также использовали внешние данные, включая данные о погоде и игровом процессе, в дополнение к функциям, которые мы создали для внутриигрового ускорения. В конечном счете, мы представили наши результаты дважды и выиграли в номинации «Лучшее использование внешних данных». Для нас это была отличная возможность научиться, бросить вызов и построить полезную модель за ограниченное время.

Принципы машинного обучения

Этот курс послужил обзором методов машинного обучения, которые в настоящее время используются в промышленности. Мы рассмотрели много материала в этом классе, включая обучение с учителем, обучение без учителя, глубокое обучение и обучение с подкреплением. Поскольку у нас был только один семестр, чтобы пройти весь этот материал, лекции были динамичными и информативными, но у нас также была возможность учиться на чтениях и домашних заданиях. Чтения были взяты из широко известных в отрасли книг, в том числе «Введение в статистическое обучение» (ISL), «Глубокое обучение» Яна Гудфеллоу и «Обучение с подкреплением: введение» Саттона и Барто. Наши домашние задания представляли собой комплексные мини-проекты, направленные на глубокое погружение в область машинного обучения; эти задания выполнялись в блокнотах Python Jupyter Notebooks, где мы прорабатывали концепции и создавали программы на Python, демонстрирующие наше понимание в таких областях, как логистическая регрессия, кластеризация и обучение с подкреплением. Мои блокноты можно найти в моем репозитории GitHub для класса:

https://github.com/vkumaresan/ECE590

У нас было два проекта в этом классе: первый был посвящен классификации изображений солнечных батарей на крышах домов с использованием данных аэрофотосъемки. Наша команда пробовала различные подходы, включая логистическую регрессию, кластеризацию K-средних и нейронные сети. В конечном счете, нейросетевой подход лучше всего работал на тестовом наборе данных, поэтому мы настраивали наши гиперпараметры, пока не достигли производительности (AUC) 0,99161. Этот проект научил нас многому о построении нейронных сетей и различных способах улучшения производительности модели.

Наш последний проект был командным проектом, где мы могли выбрать любую тему по нашему выбору. В конечном итоге мы остановились на анализе того, как доступ к различным видам транспорта влияет на стоимость городского жилья, особенно в Нью-Йорке. Мы получили общедоступные данные о жилье, а также данные о поездках Uber, поездках на такси, местоположениях остановок метро и мест проката велосипедов. После очистки и обработки данных мы опробовали различные методы регрессии, чтобы увидеть, какой из них в конечном итоге достиг максимальной производительности, включая линейную регрессию, кластеризацию K-средних, CART, регрессию случайного леса и нейронную сеть. В конечном счете, модель случайного леса работала лучше всего, хотя мы, вероятно, могли бы добиться более высокой производительности с помощью нейронной сети, если бы у нас было больше времени для дальнейшей обработки данных. Но модель Random Forest также смогла дать нам оценки важности признаков, что полезно для интерпретации. Мы написали отчет о наших выводах (который можно найти в моем репозитории Github выше), а также создали видео, в котором резюмируются наши выводы, которые можно найти здесь:

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

Логика данных, визуализация и рассказывание историй

Это был полусеместровый курс, который научил нас основам визуализации данных, в том числе тому, как структурировать информационные панели и графики, как интегрировать отзывы заинтересованных сторон и как создавать убедительные истории для клиентов. Мы выполнили все упражнения класса в Tableau, изучая, как использовать вычисляемые поля и различные другие функции Tableau для создания различных визуализаций. Для последнего проекта в этом классе у нас были данные от клиента NASCAR, и нам было поручено создать панель инструментов, которая позволит им лучше использовать свои текущие данные и улучшить процесс принятия решений во время гонки. Для свободы настройки наша команда решила использовать RShiny для создания этой панели инструментов, и мы создали различные функции, которые, по нашему мнению, помогут команде с их временем пит-стопа. У нас не было времени, чтобы напрямую спросить мнение заинтересованной стороны, что мы хотели бы сделать, если бы это был более длительный проект, но я многое узнал о RShiny (которую я никогда не использовал до этого проекта), а также о том, как для перехода от данных к приборной панели.

Этика науки о данных

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

Выводы

После всей этой работы есть несколько общих выводов, которые я оставлю при себе:

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

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

Знание предметной области и программирование не являются двумя отдельными сущностями.

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

Учиться у других людей с разным опытом — это мощно.

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

Отправляясь на летнюю стажировку в Verily, я возьму с собой эти идеи (и многие другие), надеясь использовать их и продолжить свое путешествие в качестве специалиста по данным. Это был невероятный первый год в Duke, и я не могу дождаться, что будет дальше!

Первоначально опубликовано на http://datainallthings.wordpress.com 7 мая 2019 г.