Исчерпывающий список ресурсов по науке о данных для начинающих (ссылки включены!)

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

В моем последнем сообщении в блоге были выделены базовые навыки, которые необходимо развить, чтобы начать работу в области науки о данных. Проработав в этой области несколько лет, я понимаю, насколько может быть затоплено, делая правильный выбор из множества доступных ресурсов. Мне, как новичку, очень трудно было найти ресурсы, которые объясняли бы вещи тем, кто никогда раньше не слышал об этом предмете (потому что в некоторых случаях я не слышал). Многие учебники, видео и онлайн-курсы, с которыми я сталкивался, в основном предполагали некоторый предыдущий опыт. Это действительно расстроило меня и замедлило мое обучение. Ресурсы, которые были помечены как удобные для новичков, переходили от шага A к шагу D без объяснения шагов B и C. Иногда мне приходилось работать с разными материалами одновременно, переключаясь между каждым, чтобы иметь возможность полностью усвоить предмет. Это неплохо, но иногда бывает просто ненужно и неудобно.

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

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

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

При этом перейдем к делу!

Ресурсы для технических навыков

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

  1. Python. Изучение Python Марка Лутца. Эта книга спасла мне жизнь. Я прошел путь от полного незнания о программировании на Python до возможности кодировать алгоритмы машинного обучения с нуля. Всем этим я обязан этой книге - и огромному количеству практики. Сам Марк охарактеризовал ее как книгу вводного уровня, в которой используется восходящий подход и нет предварительных условий. Однако нужно хотя бы уметь пользоваться компьютером. Эта книга не только научит вас программированию на Python, но и содержит множество сложных практических упражнений, которые действительно помогают развить ваши навыки программирования на Python.
  2. Панды и Нумпи. Это пакеты в среде Python, которые в основном полезны для манипулирования данными и абсолютно необходимы для изучения, если вы специалист по данным. Если честно, обучение использованию Pandas и Numpy - это больше практика, чем что-либо еще. Я лично узнал, ища подсказки на ПЕРЕПОЛНЕНИЕ СТЕКА. Теперь, если вы пишете код, вы знаете, что Stack Overflow - это, по сути, палочка-выручалочка для программиста. Единственные навыки, которые вам нужны для использования Stack Overflow: A) хорошее представление о том, что вы ищете, чтобы, когда вы видите это в любом варианте, вы могли понять его, и B) зная, как использовать правильные ключевые слова в вашем поисковом запросе, чтобы дать вам действительно желаемые результаты. В качестве общего введения в Pandas и Numpy и для обеспечения базового понимания, на котором вы можете опираться, я рекомендую серию YouTube Кори Шафера. К вашему сведению, Кори родился, чтобы учить !! Он действительно хорошо объясняет даже самые сложные концепции. У него также есть другие действительно интересные видеосерии, которые могут вам пригодиться.
  3. SQL. Все, что вам нужно знать о SQL, - это Режим и W3schools. Между этими двумя ресурсами у вас не должно возникнуть проблем с написанием SQL-запросов после их изучения. Хотя эти ресурсы отлично подходят для обучения, я считаю их не слишком эффективными для практики. Для практики я бы порекомендовал LeetCode. На Leetcode вы можете найти практические вопросы для начинающих, среднего и продвинутого уровня по всем языкам программирования, включая SQL.
  4. Вероятность. Единственная проблема, с которой я столкнулся с вероятностью обучения, заключается в том, что существует не так много ресурсов вероятности, которые были бы очень исчерпывающими. Большинство из них доступны в качестве дополнений к учебникам Статистика и вероятности, где только 2 или 3 главы посвящены данной теме, и это всегда казалось немного поспешным. Однако я нашел учебник, написанный кем-то, кто учит теории вероятностей, как никто из тех, с которыми я когда-либо сталкивался. Димитри П. Берцекас и Джон Н. Цициклис - профессора электротехники и информатики в Массачусетском технологическом институте, и у них есть книга под названием Введение в вероятность, которой очень легко следовать, но при этом очень тщательно. У Джона Цициклиса есть серия видео по этому предмету в MIT Open Courseware, и я настоятельно рекомендую вам использовать ее вместе с учебником.
  5. Статистика. Как и проблема с вероятностью, было немного сложно найти ресурс начального уровня, который был бы просто посвящен статистике, не пытаясь втиснуть некоторую поспешную вероятность и продвинутые статистические концепции, такие как Schostastic процессы и многомерные модели. Теперь, хотя вероятность и статистика подобны разнояйцевым близнецам, каждый из которых нереалистично имеет полный смысл без другого, я думаю, что во многих отношениях они также индивидуалистичны. Первый ресурс, который я бы порекомендовал, - это Изучение статистики с помощью R Энди Филда, Джереми Филд Майлза и Зои Филд (ссылка недоступна). Эта книга прекрасна, но у нее есть свои плюсы и минусы. Плюс в том, что он охватывает все основы и многое другое, а также служит введением в R (который вам также следует изучить как специалист по данным), обучая внедрению статистического анализа в среде R. Минус в том, что суть книги скрыта во множестве пустяков и замысловатых историй, которые могут сильно отвлекать. Тем не менее, это по-прежнему хорошая книга. К сожалению, я не могу юридически предоставить ссылку на версию этой книги в формате pdf, поэтому вам придется найти ее самостоятельно :). Если вы находите эту книгу слишком отвлекающей и трудной для понимания, Введение в статистику колледжа Openstax также подойдет вам. Если вы хорошо разбираетесь в математике, вы также можете проверить Вся статистика »Ларри Вассермана.
  6. Линейная алгебра. Гилберт Стрэнг - американский математик, профессор математики в Массачусетском технологическом институте, и его книга под названием Линейная алгебра и ее приложения - одна из тех, что мне удалось быть самым полезным. Эта книга в настоящее время находится в 5-м издании, но я могу найти только ссылку на 4-е издание. Насколько мне известно, это не должно вызывать никаких проблем. Вы также можете найти видеолекции Гилберта по линейной алгебре на веб-сайте открытого курса Массачусетского технологического института. Это может быть использовано в поддержку учебника.
  7. Исчисление. Чтобы полностью разобраться в некоторых уравнениях и выводах машинного обучения, вам нужно хотя бы базовое представление об исчислении. Мой рекомендуемый ресурс для легкого и легкого подхода к пониманию математического анализа - это 1-й том Учебник по математическому анализу от OpenStax, написанный известными профессорами, одним из которых является Гилберт Стренг, о котором я уже упоминал ранее. Для людей с сильным математическим образованием у Гилберта также есть учебник, доступный на MIT Open Courseware. Исчисление1 или Дифференциальное исчисление в Khan Academy также являются действительно полезными видеоуроками по этой теме.
  8. Машинное обучение. Чтобы понять основополагающие концепции машинного обучения, посмотрите Введение в статистическое обучение (ISL) Дж. Джеймса и др. Он ясен и прост и написан в понятном для всех стиле. Эта книга также научит вас применять концепции, которые вы изучаете на R. Я, однако, рекомендую вам сначала попрактиковаться в Python, а затем в R, поскольку машинное обучение с использованием Python больше поддерживается на таких платформах, как Stack Overflow, которые я гарантия, что вы будете использовать много. Если у вас хорошее математическое образование и вы бы предпочли что-то более глубокое, у авторов ISL также есть более продвинутая версия под названием « Элементы статистического обучения ». Что касается видео-ресурса машинного обучения, Эндрю Нг, профессор Стэнфордского университета, прошел вводный курс по машинному обучению. Обратите внимание, что этот курс направлен на ознакомление с фундаментальными теориями / концепциями, а не на практике.

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

Как обычно, приветствуются ваши комментарии и предложения. Я что-нибудь упустил? Хотели бы вы также увидеть некоторые расширенные рекомендации? дай мне знать.

Up Next: рекомендуемый учебный план для обучения навыкам Data Science. Как видите, вам нужно овладеть как минимум 8 различными навыками. Теперь, когда у вас есть ресурсы, следующий вопрос - с чего начать. В следующем посте я предложу план того, как лучше всего подойти к изучению этих навыков. Например, я бы посоветовал изучить статистику и программирование на Python, прежде чем пытаться изучать машинное обучение. В противном случае вы можете пройти через ненужную борьбу и почувствовать, что тема сложнее, чем она есть на самом деле.

Следите за обновлениями и до скорой встречи!