Прежде чем мы начнем, было бы полезно узнать, что такое наука о данных и машинное обучение. Итак, если вы не знаете, вот несколько основных определений:
Наука о данных - это междисциплинарная область научных методов, процессов, алгоритмов и систем для извлечения знаний или идей из данных в различных формах, как структурированных, так и неструктурированных.
Машинное обучение - это область информатики, которая часто использует статистические методы, чтобы дать компьютерам возможность «учиться» с данными без явного программирования.
Glassdoor оценил специалистов по обработке данных как работу номер один в Америке со средней зарплатой в 120 000 долларов и более чем 4500 вакансиями (на момент написания этой статьи). С такими числами определенно есть много людей, которые хотят попробовать себя в карьере в области науки о данных, что создает спрос на курсы по науке о данных, чтобы помочь им повысить свои навыки.
Со спросом приходит и предложение, поэтому существует так много курсов по науке о данных и машинному обучению, доступных в Интернете и в разных учреждениях. Это представляет собой еще одну проблему - выбрать правильный курс, который поможет вам начать свое путешествие по науке о данных и машинному обучению.
Последние несколько недель я проходил один из этих курсов - Python for Data Science and Machine Learning Bootcamp{.udemy-link} , который доступен только на Udemy{.udemy-link} . В этой статье я представляю свой взгляд на этот онлайн-курс.
Инструктор
Этот курс - работа Хосе Портилла{.udemy-link} , опытного специалиста по данным с несколькими годами работы в этой области и основателя Pierian Data. Хосе Портилья входит в число лучших инструкторов Удеми, у него более полумиллиона студентов и 15 курсов. Большинство его курсов сосредоточены на Python, глубоком обучении, науке о данных и машинном обучении, охватывая последние 2 темы как на Python, так и на R.
Хосе Портилла имеет степень бакалавра и магистра в области машиностроения, на его имя имеется несколько публикаций и патентов. Для получения дополнительной информации вы можете проверить его профиль на Udemy{.udemy-link} .
Целевая аудитория
Вероятно, это первый вопрос, который вы задаете по любому курсу, чтобы узнать, подходит ли он вам.
Машинное обучение и наука о данных - это сложные темы в математике и программировании. Следовательно, для понимания этих концепций требуется довольно крутая кривая обучения, поэтому еще более важно иметь хороший ресурс, на котором можно учиться.
Вы не можете перейти от новичка к эксперту. Вы должны пройти различные этапы обучения: Новичок, Средний, Продвинутый, затем Эксперт.
Для этого курса у вас должен быть некоторый опыт программирования. На любом языке важно иметь базовые знания об основных концепциях программирования, таких как структуры данных, условные операторы и т. Д. Было бы предпочтительно иметь опыт работы с Python , языком программирования, используемым на протяжении всего курса. Однако знание Python не является обязательным, поскольку курс действительно начинается с ускоренного курса Python , который поможет вам понять Python и следовать его курсам.
Обзор содержания
Это один из самых захватывающих курсов, с которыми мне приходилось сталкиваться. С почти 150 видеороликами, продолжительность которых составляет чуть более 21 часа. Этот курс проводит учащегося через углубленное обучение по ряду тем, начиная от ускоренного курса Python, обзора библиотек анализа данных, обзора библиотек визуализации данных и алгоритмов машинного обучения, среди многих других.
В этом курсе также используются блокноты Jupyter, которые помогают в совместном использовании кода и предоставляют игровую площадку для всего написанного и выполняемого кода.
Jupyter Notebook - это веб-приложение с открытым исходным кодом, которое позволяет создавать и обмениваться документами, содержащими живой код, уравнения, визуализации и повествовательный текст. Области применения: очистка и преобразование данных, численное моделирование, статистическое моделирование, визуализация данных, машинное обучение и многое другое.
В следующих разделах мы более подробно рассмотрим фактическое содержание этого курса.
Ускоренный курс Python
Из названия курса вы, вероятно, догадались, что в материале будет использоваться Python для изучения науки о данных и машинного обучения, поэтому неудивительно.
Раздел ускоренного курса Python познакомит вас с основами и познакомит с несколькими концепциями языка программирования Python для начинающих. Ускоренный мини-курс познакомит вас с несколькими концепциями Python, включая типы данных, условные операторы и инструкции, циклы, лямбда-выражения и многое другое.
Большая часть необходимых вам знаний о Python содержится в этом разделе, поэтому вам не нужно беспокоиться о том, чтобы стать экспертом по Python перед тем, как пройти этот курс. Однако важность того, чтобы потратить время на лучшее понимание языка, прежде чем переходить к другим этапам, нельзя переоценить, так как тогда вы сможете сосредоточиться на концепциях машинного обучения, а не на мелких деталях программирования. язык.
Анализ данных
Очень простой способ описать науку о данных - это извлечение знаний и идей из набора данных. Чтобы иметь возможность обрабатывать данные и извлекать из них идеи и информацию, вы должны уметь их анализировать.
Возникает вопрос: что такое анализ данных?
Анализ данных - это процесс проверки, очистки, преобразования и моделирования данных с целью обнаружения полезной информации, предложения выводов и поддержки принятия решений.
Учитывая, насколько важен анализ данных, этот курс требует времени, чтобы познакомить вас с несколькими библиотеками анализа данных в Python, о которых я расскажу ниже.
- NumPy : библиотека Python, добавляющая поддержку больших многомерных массивов и матриц, а также большой набор высокоуровневых математических функций для работы с этими массивами.
- Pandas : библиотека Python для обработки и анализа данных. В частности, он предлагает структуры данных и операции для управления числовыми таблицами и временными рядами.
Визуализация данных
Визуализация данных имеет решающее значение, поскольку помогает ясно и эффективно передавать информацию пользователям с помощью статистических графиков, графиков, информационных графиков и других инструментов.
Визуализация данных относится к методам, используемым для передачи данных или информации путем кодирования их как визуальных объектов.
Этот курс знакомит учащегося с несколькими библиотеками визуализации данных в Python, демонстрируя учащемуся, как создавать различные визуализации для широкого диапазона наборов данных с использованием различных библиотек. Некоторые из библиотек визуализации, изучаемые в этом курсе, включают:
- Matplotlib : библиотека для построения 2D-графиков Python, которая производит показатели качества публикации в различных форматах печатных копий и в интерактивных средах на разных платформах.
- Seaborn : библиотека визуализации Python, основанная на matplotlib. Он предоставляет высокоуровневый интерфейс для рисования привлекательной статистической графики.
- Pandas : библиотека данных, которая имеет возможности как анализа, так и визуализации.
- Сюжет : интерактивная библиотека визуализации.
- Запонки : библиотека, которая помогает соединить Plotly с Pandas.
- Географическое построение: создание картограмм для визуализации географических данных.
Машинное обучение
Это вторая часть курса, в которой учащийся знакомится с несколькими алгоритмами машинного обучения. Курс состоит из нескольких шагов, которые помогают студентам понять алгоритм, предлагая инструкции по теории, дополнительные материалы для чтения, реализацию алгоритма на языке Python, упражнения по алгоритму и решения к упражнениям.
Курс широко охватывает различные типы алгоритмов машинного обучения, а именно обучение с учителем, обучение без учителя и обучение с подкреплением.
Некоторые из алгоритмов машинного обучения, рассматриваемых в этом курсе,{.udemy-link} включают:
- Линейная регрессия: используется для оценки реальных значений на основе непрерывных переменных.
- Логистическая регрессия: используется для оценки дискретных значений на основе заданного набора независимых переменных.
- K Ближайший сосед: kNN - это простой алгоритм, который хранит все доступные варианты и классифицирует новые варианты на основе меры сходства.
- Обработка естественного языка: применение вычислительных методов для анализа и синтеза естественного языка и речи.
- Нейронные сети и глубокое обучение: нейронные сети - это компьютерная система, смоделированная на основе человеческого мозга и нервной системы. Глубокое обучение, мощный набор методов обучения в нейронных сетях.
- Машины опорных векторов: SVM - это контролируемый алгоритм машинного обучения, который можно использовать как для классификации, так и для задач регрессии.
- Кластеризация K-средних: Кластеризация K-средних нацелена на разделение наблюдений на кластеры, в которых каждое наблюдение принадлежит кластеру с ближайшим средним значением, служащим прототипом кластера.
Другие алгоритмы, рассматриваемые в курсе, включают большие данные и Spark с Python, анализ основных компонентов и системы рекомендаций.
Курс также знакомит учащегося с библиотекой Scikit-Learn , которая представляет собой библиотеку Python с реализацией нескольких алгоритмов машинного обучения. По сути, это «швейцарский армейский нож» Python для машинного обучения.
Добро
Безусловно, это потрясающий курс. Из-за большого количества материалов курса мне потребовалось время, чтобы рассмотреть его, а для того, чтобы углубиться в детали, нужно время из-за большого количества концепций, охваченных в этом курсе.
Ускоренный курс Python
Одним из основных недостатков большинства курсов является предположение, что студенты могут самостоятельно поднять уровень в требуемом стеке. Этот курс не использует этот шанс, проводя студента через ускоренный курс Python, чтобы пользователь мог комфортно пройти курс и не увязнуть в деталях, не связанных с основным материалом.
Вдаваясь в подробности
Этот курс не уклоняется от глубокого погружения в концепции. Курс требует времени, чтобы глубоко погрузиться в важные концепции, чтобы студент полностью усвоил тему. Иногда одна концепция даже разделяется на несколько разных разделов, чтобы обеспечить полную реализацию всей концепции.
Кроме того, учащимся предоставляется (по желанию) дополнительный материал для чтения, чтобы расширить свои знания в рассматриваемых алгоритмах. Например, в качестве сопутствующей книги к курсу используется Введение в статистическое обучение Гарета Джеймса.{.amazon-link}
Заметки
В этом курсе есть тщательно написанные заметки, как на экране, когда инструктор просматривает контент, чтобы помочь с отслеживанием контента, так и до или после видеороликов, чтобы объяснить несколько концепций. Эти заметки имеют решающее значение для помощи учащимся в выполнении, особенно при изучении более сложных понятий.
Код общего доступа (Jupyter Notebook)
На протяжении всего курса, благодаря практическому подходу, записывается много кода. Инструктор использует Jupyter Notebooks, чтобы поделиться всем кодом, описанным в курсе. В курсе есть «Папка ресурсов», которая содержит хорошо организованные блокноты Jupyter для каждого раздела.
Эти записные книжки помогают учащимся получить доступ к коду, чтобы они могли легче следить за лекциями, а также имеют доступ к коду, чтобы позже практиковаться.
Упражнения и решения
Лучший способ чему-то научиться и понять - это сделать это на самом деле. Этот курс понимает этот важный шаг в изучении новых концепций и содержит индивидуальные упражнения почти для каждого раздела курса. Далее предлагаются решения для упражнений в каждом разделе.
Эти упражнения призваны помочь студенту усвоить концепции, изложенные в этом разделе. Для различных алгоритмов машинного обучения учащемуся предоставляется набор реальных данных с вопросами, требующими от них использования изученных концепций для его решения. Студенту также предоставляются средства для получения дополнительных наборов данных для повышения квалификации с помощью таких ресурсов, как Kaggle.
Сообщество
Одна из самых сложных вещей, которую нужно решить при прохождении онлайн-курса, - это столкнуться с блокировщиками. Без какой-либо помощи вы застряли на каком-то этапе курса или, что еще хуже, не понимаете некоторых концепций.
Хосе работал над созданием сообщества вокруг своего курса, чтобы помочь учащимся помогать друг другу с проблемами, с которыми они сталкиваются на этом пути. Большинство проблем, с которыми студент может столкнуться в ходе курса, на самом деле уже есть в разделе часто задаваемых вопросов по курсу, что облегчает учащимся поиск решений.
Не очень хорошо
Слишком много информации
Это всего лишь мое мнение, но когда кто-то доходит до уровня изучения сложных тем, таких как наука о данных и машинное обучение, у вас, вероятно, уже есть понимание основных концепций программирования, и поэтому курс такого уровня не должен тратить так много времени на объяснения основные понятия.
Однако из-за практического подхода, который используется в этом курсе, он в конечном итоге объясняет множество базовых концепций программирования, что в конечном итоге занимает много времени, что делает курс еще более длинным.
Заключение
Python for Data Science and Machine Learning Bootcamp{.udemy-link}
- действительно потрясающий курс. Он очень хорошо детализирован, с большой поддержкой, чтобы вы вышли из него хорошо подготовленным, чтобы начать работать над проблемами машинного обучения и науки о данных.
Но , как вы знаете, практика делает совершенным, так происходит только через этот курс не сделает вас ученым данные Kick Ass или машинного обучения инженеру потребности промышленности. Вам нужно будет потрудиться, чтобы выполнить упражнения в курсе, и больше попрактиковаться в различных библиотеках и алгоритмах, чтобы достичь вершины.