Сводка источников для просмотра, чтобы перейти к Data Science
Примечание автора. Этот пост был первоначально опубликован 10 июля 2018 г. и был размещен здесь после того, как я закрыл домен.
Я часто получаю запросы о ресурсах, которые я использовал в своем путешествии по науке о данных. Как мы все знаем, Интернет состоит из большего количества информации, чем один человек мог бы когда-либо усвоить, мягко говоря. Кроме того, часто бывает трудно понять, где искать в первую очередь, когда вы начинаете изучать эту область. В этом сообщении в блоге моя цель - перечислить мои любимые ресурсы, когда дело доходит до изучения науки о данных.
Стоит помнить, что у каждого человека свой способ обучения, и эти ресурсы - это просто те ресурсы, от которых я получил большую ценность или которые, как мне кажется, имеют большой потенциал, потому что они были рекомендованы друзьями / коллегами и т. Д.
Наука о данных настолько велика, что одному человеку требуется много времени, чтобы разобраться в этих темах. Даже если у вас есть сносные навыки в каждой из них, темы сами по себе открываются перед новыми перспективами сложности и сложности, поэтому важно сохранять спокойствие и стараться не слишком много думать о большой картине и просто работать над следующим шагом, чтобы продвигаться вперед. вперед.
Могут быть даже важные ресурсы, которые я пропустил, поэтому не забудьте поделиться интересными ресурсами, которые вы найдете.
Путь науки о данных
Когда люди приходят ко мне с просьбой о помощи в том, как начать свой путь в науке о данных. Мне часто нужно задать им пару вопросов, чтобы понять, на каком этапе пути они находятся:
- Насколько хорошо этот человек знает программирование? (Они знают Python или R?)
- Насколько хорошо они разбираются в математике?
- Что они знают о машинном обучении?
- Какой у них есть опыт очистки грязных / грязных данных?
- Насколько они знают SQL?
- Думали ли они о том, как они сообщают о своих выводах?
- Наконец, способны ли они выполнить конвейер обработки данных от начала до конца? (Подумайте о CRISP-DM)
У большинства людей где-то будет какой-то опыт. Начинать с нуля тоже нормально. Отвечая на эти вопросы для себя, вы получите хорошее представление о том, в чем заключаются ваши слабые места и с чего вам следует начать.
Одно замечание, прежде чем мы начнем. Есть действительно хороший общий ресурс, опубликованный Рэнди Лао. Он написал кучу сообщений в блогах и собрал множество бесплатных PDF-файлов и других ресурсов, поэтому я настоятельно рекомендую проверить это.
Программирование
Один из навыков, который определяет специалиста по данным выше аналитика данных, - это способность использовать языки программирования, такие как Python, R, а также другие. Я ожидаю, что по мере того, как кодирование станет более распространенным среди профессионалов-аналитиков, оно станет все меньше определяющим навыком для специалистов по анализу данных.
Независимо от того, станете ли вы профессионалом в области данных, возможность написать быстрый сценарий может сделать вас более продуктивным, поскольку вы можете начать автоматизировать работу с кликами, которую обычно выполняете с помощью графического интерфейса пользователя (графический интерфейс пользователя), и возможные несоответствия / ошибки От этого.
Изучите Python трудным путем - книга
Я уделяю большое внимание применению того, чему вы научитесь. Недостаточно просто прочитать учебник, чтобы научиться что-то делать. Learn Python The Hard Way ставит эту философию в центр своей философии обучения. Эту книгу мне порекомендовал друг по университету (Ангус Гамильтон), который сейчас работает специалистом по анализу данных в телекомпании в Эдинбурге.
Хотя я сам им не пользовался, но им также поделились разные люди в моей сети LinkedIn, поэтому я считаю, что об этом стоит упомянуть.
Обратите внимание, что в этой серии есть и другие книги, в которых изучаются Ruby, C, SQL, Javascript, Unix и регулярные выражения. (Эти авторы внесли большую ценность в свою работу, теперь, когда я думаю об этом.)
Полный PythonMasterclass - Udemy
Полный мастер-класс по Python Тима Бухалки также понимает важность написания кода для решения проблем, чтобы помочь вам учиться. Хотя я сам не закончил его курс, потому что сосредоточился на более важных вещах, я прошел некоторые из его мастер-классов по Java и много узнал с его помощью об объектно-ориентированном программировании. Для меня это было очень полезно. Задачи, которые Тим ставит в конце каждой лекции, заставляют вас убедиться, что вы действительно понимаете, чему вас учат, это позволяет концепциям программирования закрепиться в вашем сознании.
Когда Тим говорит «мастер-класс», он не шутит! Эти курсы, которые он создает, являются всеобъемлющими, и он прилагает много усилий, чтобы поддерживать свои курсы в актуальном состоянии. Проще говоря, я считаю, что содержание курса делает его достойным звания, это настоящий мастер-класс. Это даст вам твердые основы программирования, которые окупятся в долгосрочной перспективе, поэтому я настоятельно рекомендую этот курс всем, кто считает, что это им подходит.
R для науки о данных (бесплатно)
Хэдли Уикхэм широко известна в сообществе специалистов по науке о данных и является автором книги R for Data Science, которую вы можете найти бесплатно. Я думаю, что это отличный первый старт, показывающий, как использовать тидиверс в R с самого начала. (Вы можете найти схему в tidytools-манифесте.) Tidyverse - это набор пакетов для R, которые работают вместе, чтобы помочь процессу исследования данных, имея функции, которые могут выполнять сложные преобразования с относительно небольшим количеством строк кода. Если вы стремитесь стать R-мастером, как мой друг Картикеян P.T.R в LinkedIn, то вам стоит просмотреть эту книгу. Если мне когда-нибудь понадобится по-настоящему отточить свои навыки R, выходящие за рамки основ, я бы посмотрел именно здесь!
Еще раз отмечу, что сам этим ресурсом не пользовался. Я изучил R с помощью курса Кирилла Еременко по Udemy в дополнение к прохождению некоторого кода из Введение в статистическое обучение, о котором я еще раз упомяну в будущем. (Осторожно, спойлеры!)
Визуализация
Визуализация - это искусство передачи идей, полученных на основе данных, таким образом, чтобы сделать важные тенденции ясными и легкими для понимания. После изучения программирования большинство людей переходит к визуализации с помощью пакета ggplot2 в R или пакетов matplotlib / seaborn в Python. Исследовательский анализ данных - это увлекательное занятие, которое может помочь выявить закономерности, скрытые в ваших данных, и определенно является частью того, на что должен быть способен специалист по данным.
Также стоит отметить, что помимо пакетов визуализации R и Python существуют другие пакеты, такие как Tableau, MS PowerBI и Qlikview, которые часто используются для бизнес-аналитики, отчетности и создания информационных панелей. Возможно, стоит разобраться с этими программами, если вы хотите более специализироваться в этой области.
Повествование с помощью данных - книга
Эта книга, честно говоря, в представлении не нуждается. Если вы активны в каком-либо сообществе специалистов по науке о данных, вы часто будете замечать эту книгу невероятно быстро, не говоря уже о том, что я несколько раз цитировал эту книгу в этом блоге. Если вам интересно, я сделал здесь свой собственный обзор этой книги. Короче говоря, Knaflic использует множество концепций, которые она описывает, чтобы научить вас создавать визуализации, которые дают только часть конкретной информации за раз, и они должны быть построены с целью выявления проблемы и использования данных для заключения. с призывом к действию. Изученные вами техники также могут быть использованы для создания коммуникации через любую визуальную среду. (т.е. резюме) Я не могу рекомендовать эту книгу в достаточной степени.
Практическая таблица - Книга
Конечно, у вас не может быть раздела с данными vis. без какого-либо введения в Tableau. Tableau - это основной инструмент, используемый для визуализации данных, и это то, что (по состоянию на 2019–06–01) является для меня чем-то вроде ежедневного драйвера на работе. Это навык, который востребован и недооценивается сам по себе, поэтому его стоит приобрести.
Райан Слипер невероятно опытен в Tableau, и его книга Practical Tableau - не только фантастическое введение, но и описывает более продвинутые техники, которые могут помочь вам использовать Tableau в полной мере.
Математика
Если кто-то не знает, как преобразовывать числа с помощью математики, тогда аналитик не извлекает максимальную пользу из данных, которые ему предоставляются. Легко и просто. Хотя визуализация - это увлекательная и легкая игра для начала работы с наукой о данных, в конечном итоге она потребует некоторой «более тяжелой работы».
Многие люди очень опасаются математики, потому что у них был плохой опыт учебы в средней школе и университете. Когда я поступил в университет, мой положительный опыт с математикой существенно испортился, так как меня поместили на курс математики, который был более продвинутым и проходил быстрее, чем я был готов, и с учителями, которые не имели никакого представления о том, как преподносить свой предмет студентам.
Я ожидаю, что именно это происходит со многими студентами на протяжении их академической карьеры. Однако я обнаружил, что могу изменить свою судьбу, если найду в Интернете замечательных учителей, которые позволят мне изучить тему в моем собственном темпе. Мое любопытство и любовь к математике снова возродились.
В течение этого короткого периода я бы охарактеризовал математику как своего рода сбивающий с толку поток уравнений. Изучив онлайн, я понял, что в математике есть фрактальный образец, когда углубление в одну тему не только раскрывает более тонкую структуру, но и полностью взаимосвязано.
Если вы думаете, что математика «просто не для вас», дайте этим учителям шанс помочь изменить ситуацию.
Вот некоторые примеры математики в науке о данных:
- Векторизация с помощью линейной алгебры позволит вам преобразовать большое количество данных одновременно.
- Градиентный спуск и другие задачи оптимизации, на которых основаны многие методы машинного обучения, требуют понимания вычислений.
- Машинное обучение имеет прочные корни в статистике, а это означает, что понимание того, как работает статистика, и предполагаемых ею допущений, приведет вас к лучшим обобщениям и осознанию того, что они неприменимы.
Это означает, что для того, чтобы стать хорошим специалистом по данным, требуется прочная математическая база. Этого просто нет, и это мост, который вам в конце концов придется перейти, чтобы добиться успеха. (Обратите внимание, что статистика также имеет корни в линейной алгебре и исчислении.)
Khan Academy - Веб-сайт (бесплатно)
Сал Хан тоже не нуждается в представлении. Я помню, когда Khan Academy была просто случайным каналом на YouTube, когда я сдавал экзамены в старшей школе. С тех пор канал превратился в специальный веб-сайт, на котором эти лекции построены для вашего удовольствия от просмотра. Они также работают над тем, чтобы каждый раздел имел свои собственные проблемы, которые я очень высоко ценю, как вы, вероятно, уже знаете. Честно говоря, здесь можно найти всю математику, которая вам может понадобиться, но есть еще пара дополнительных ресурсов, которые я хотел бы добавить.
Линейная алгебра - MIT Opencourseware (бесплатно)
Гилберт Стрэнг - не что иное, как святой. Хотя Khan Academy действительно предлагает лекции по линейной алгебре, я считаю, что они не так хорошо преподаются, как курс Гилберта Стрэнга 18.06 MIT по этому предмету. Хотя это всего лишь серия видеороликов на YouTube, но если вы сделаете рукописные заметки и изо всех сил постараетесь решить проблемы по мере приближения Стрэнга к ним, вы все равно сможете многому научиться! После этого вы освоите линейную алгебру, которая будет полезна, если вы захотите пройти курсы машинного обучения и информатики.
Стоит отметить, что MIT-OCW также предоставляет другие классы, такие как многомерное исчисление (18.02). Я рекомендую пройти курсы MIT-OCW или Khan Academy по мере необходимости, в зависимости от ваших приложений. Постарайтесь не потеряться на этих сайтах. Хотя хорошо иметь прочную математическую основу, 80% пользы можно получить с помощью 20% математических понятий.
Машинное обучение
Наконец, мы подошли к сути науки о данных - машинному обучению. Надеюсь, вы уже хорошо разбираетесь в программировании как на R, так и на Python, так что это больше не будет для вас препятствием. То же самое и с математикой, которую я показал выше.
Прогнозная аналитика в наши дни стала очень популярной, поскольку наши вычислительные возможности резко выросли. Мы используем предиктивную аналитику, чтобы помочь автоматизировать процессы, сэкономить ресурсы и повысить эффективность. Часто машинное обучение может делать прогнозы лучше, чем люди, когда доступны правильные данные. Это, безусловно, интересная сфера.
Машинное обучение от А до Я - Удеми
Мы еще не закончили со старым добрым Кириллом! Это был второй курс машинного обучения, который я прошел онлайн, и до сих пор он был одним из моих любимых. Хорошая сторона машинного обучения от А до Я заключается в том, что Еременко преподает концепции, лежащие в основе машинного обучения, без необходимости доступа ко всей сложной математике, стоящей за ним, предпочитая более эвристический подход. Другие курсы в этом списке требуют большего математического понимания, но я думаю, что знание того, что алгоритмы делают на концептуальном уровне, прежде чем углубляться в математику, может многое прояснить.
Курс написан как на Python, так и на R и дает вам несколько «рецептов кода из поваренной книги», которые вы можете реализовать, если когда-нибудь захотите реализовать свои собственные проекты машинного обучения. После этого курса вы не станете мастером, но, по моим оценкам, это действительно хороший первый шаг, если вы готовы потратить немного денег.
Введение в статистическое обучение - книга (бесплатно) и онлайн-курс (бесплатно)
Введение в статистическое обучение с примерами в R (ISLR) и Элементы статистического обучения (ESL) являются наиболее цитируемыми учебниками, когда речь идет о машинном обучении, без исключений. Стоит отметить, что ESL требует твердого понимания статистики, линейной алгебры и исчисления, тогда как уровень понимания в старшей школе, вероятно, достаточен для понимания ISLR.
Обратите внимание, что чтение статистических обозначений может быстро утомить. Я обнаружил, что прохождение связанного курса лекций по Стэнфорд Лагунита очень помогло мне усвоить информацию, отображаемую в книге. Получив концептуальное понимание от Кирлла, эта книга во многом поможет понять математические основы алгоритмов, не прибегая к излишней линейной алгебре.
Машинное обучение - Coursera
Эндрю Нг также широко известен, когда речь идет о машинном обучении и глубоком обучении. Связанные с ним курсы на Coursera немного сложнее, поскольку вам необходимо реализовать концепции машинного обучения с нуля (часто с использованием векторизации) с использованием Matlab / Octave. Это означает, что сначала вы должны иметь хорошее представление о том, как работает машинное обучение, а также о некоторой линейной алгебре. Убедитесь, что вы подаете заявку на финансовую помощь, так как Coursera может разрешить вам проходить курсы бесплатно, если у вас есть веские причины и желание довести курс до конца.
Udacity Nanodegrees
Наконец, я также хотел бы сказать пару слов о наноразмерных степенях машинного обучения, глубокого обучения, искусственного интеллекта и науки о данных, предлагаемых Udacity. Я прошел Data Analyst Nanodegree и сейчас беру Data Scientist Nanodegree, потому что мне очень понравился первый. (Если вы хотите прочитать о моем опыте работы с Data Analyst Nanodegree, см. Здесь.) В основном, что мне действительно нравится в наностепенях, так это возможность применять то, что вы изучаете, как в классе, так и в проектах, которые вам нужны. делать.
Лично я бы порекомендовал пройти наноразмеры машинного обучения и глубокого обучения с помощью Udacity, а затем узнать о визуализации, программировании и управлении базами данных в другом месте. Это означает, что вы сможете получить максимальную отдачу от наноразмеров. AI Nanodegree слишком сфокусирован на AI в целом.
Nanodegrees могут быть немного дороже - 1000 евро за штуку. Конечно, есть много других ресурсов, которые я цитировал в этой статье. Большая часть ценности, которую вы получаете от Udacity, - это проекты, которые вы в любом случае можете делать самостоятельно с помощью Kaggle.com или чего-то подобного. Не чувствую себя обязанным это делать, но если вы заинтересованы и привержены делу, я настоятельно рекомендую это сделать.
SQL и инженерия данных
SQL и проектирование баз данных от А до Я - Udemy
SQL очень важен, когда дело доходит до изучения науки о данных. Некоторое время назад я написал в LinkedIn сообщение о том, как важно знать свой SQL, и получил много положительных отзывов и лайков. Почему? Потому что большую часть времени реляционная база данных, с которой вы будете работать, будет на языке SQL. В противном случае, даже если вы используете NO-SQL (т.е. не только SQL) , языки, такие как Hive, будут означать, что вы все равно будете использовать SQL. Такие языки, как Pig, структура которых очень похожа на SQL, вам будет намного легче выучить и понять.
И снова Крилл Еременко был очень плодовит и вместе со своим младшим братом создал курс SQL. Он не только научит вас программировать на SQL с использованием Postgres и MS SQL Server, но также научит вас нормальным формам, объединениям и логике реляционных баз данных. Проблема с SQL в том, что с ним нелегко попрактиковаться за пределами офиса. Однако Джонатан Ма из Joma Tech на YouTube. описывает некоторые другие способы освоить SQL для подготовки к собеседованию. (Источник 1, Источник 2, Источник 3.)
Hadoop / Spark / и т. Д. - Книги
Предупреждение: большинству компаний не нужны большие данные, поэтому обучение такого рода навыкам обычно не требуется. Я учился с помощью курсов Udemy Ultimate Hands on Hadoop и Spark от Фрэнка Кейна, но я не рекомендую вам учиться таким образом, потому что вы делаете недостаточно, чтобы действительно иметь какие-либо заслуживающие доверия навыки в этой области с этими курсами. . Вместо этого Кейн говорит, что основывает свои курсы на книгах О'Рейли для каждого связанного инструмента. Так что, возможно, стоит прочитать эти книги, если вам когда-нибудь понадобится изучить эти инструменты:
Подкасты
Одна из самых важных вещей, которую нужно делать специалисту по данным, - это искать опыт у тех, кто уже хорошо зарекомендовал себя в этой области. Подкасты - отличный способ быть в курсе самых разных интересных тем и понять пути ученых, которые работали до вас. Таким образом, прослушивание подкастов станет важной частью вашего образования. Я не разбирался в науке о данных полностью, пока не начал слушать таким образом, и это позволило мне узнать «достаточно, чтобы быть опасным» по широкому кругу вопросов.
Заключение
Преимущество того, что я трачу время на написание такого сообщения в блоге, заключается в том, что я могу поместить все соответствующие курсы, с которыми я столкнулся, в одном месте. Я ожидаю, что со временем я захочу обновлять этот пост по мере изменения среды обучения, но на данный момент это должно быть достаточно хорошим началом. Как я уже сказал в начале, это очень много, и вам потребуется много времени, чтобы проработать ресурсы в этом списке, особенно если вы работаете полный рабочий день.
Просто сосредоточьтесь на обучении понемногу каждый день. Если вы работаете с 40-часовой рабочей неделей, то 1–1,5 часа в день в течение недели и, возможно, 3 часа в выходные, вероятно, будет достаточно. Вам не нужно работать над этим долгие часы, просто убедитесь, что вы продолжаете возвращаться, и у вас будет прогресс.
Я желаю вам удачи в вашем путешествии по науке о данных. Если у вас есть какие-либо вопросы, не стесняйтесь обращаться ко мне через LinkedIn или по электронной почте для получения дополнительной информации.