Автор оригинала: Kitavi Joseph.
Прежде чем мы начнем, было бы полезно узнать, что такое наука о данных и машинное обучение на самом деле. Так что на случай, если вы не знаете, вот несколько основных определений:
Наука о данных-это междисциплинарная область научных методов, процессов, алгоритмов и систем для извлечения знаний или идей из данных в различных формах, как структурированных, так и неструктурированных
Машинное обучение-это область компьютерных наук, которая часто использует статистические методы, чтобы дать компьютерам возможность “учиться” с данными, не будучи явно запрограммированными.
Glassdoor оценил data scientist как работу номер один в Америке со средней зарплатой в 120 000 долларов и более чем 4500 вакансиями (на момент написания этой статьи). С такими цифрами определенно есть большое количество людей, которые хотят попробовать себя в науке о данных, что создает спрос на курсы по науке о данных, чтобы помочь им повысить уровень своих навыков.
Вместе со спросом приходит предложение, и именно поэтому существует так много курсов по науке о данных и машинному обучению, доступных онлайн и в различных учреждениях. Что представляет собой еще одну проблему-выбор правильного курса, который поможет вам начать свое путешествие в науку о данных и машинное обучение.
Последние несколько недель я посещаю один из тех курсов, которые доступны только на . На протяжении всей этой статьи я представляю свой взгляд на этот онлайн-курс.
Инструктор
Этот курс является работой , опытного специалиста по данным с несколькими годами работы в этой области и основателя Pierian Data. Хосе Портилья входит в число лучших инструкторов на Udemy с более чем полумиллионом студентов и 15 курсами. Большинство его курсов сосредоточены на Python, Deep Learning, Data Science и Machine Learning, охватывая последние 2 темы как в Python, так и в R.
Хосе Портилья является обладателем степени бакалавра и магистра в области машиностроения, имеет несколько публикаций и патентов на свое имя. Для получения дополнительной информации вы можете проверить его .
Целевая аудитория
Это, вероятно, первый вопрос, который вы задаете на любом курсе, чтобы узнать, подходит ли он вам.
Машинное обучение и наука о данных-это продвинутые темы в математике и программировании. Таким образом, существует довольно крутая кривая обучения, которая ведет к пониманию этих концепций, и именно поэтому еще более важно иметь хороший ресурс для обучения.
Вы не можете перейти от Новичка к Эксперту. Вы должны пройти через различные стадии обучения Новичка, среднего, Продвинутого, а затем Эксперта.
Для этого курса вы должны обладать некоторым опытом программирования. В любом языке важно иметь базовое понимание основных понятий программирования, таких как структуры данных, условные операторы и т. Д. Было бы предпочтительнее иметь этот опыт в Python , который является языком программирования, используемым на протяжении всего этого курса. Тем не менее, знание Python не является необходимостью , так как курс начинается с Python Crash Course , который поможет вам понять Python и следовать в курсе.
Обзор контента
Это один из самых захватывающих курсов, с которыми я сталкивался. С почти 150 видео, тактовая частота которых составляет чуть более 21 часа. Этот курс проводит учащегося через углубленное обучение по ряду тем, начиная от ускоренного курса Python, обзора библиотек анализа данных, обзора библиотек визуализации данных и алгоритмов машинного обучения, среди многих других.
Этот курс также использует Jupyter NoteBooks , который помогает в совместном использовании кода и обеспечивает игровую площадку для всего написанного и выполненного кода.
Jupyter Notebook-это веб-приложение с открытым исходным кодом, которое позволяет создавать и обмениваться документами, содержащими живой код, уравнения, визуализации и повествовательный текст. Использование включает в себя: очистку и преобразование данных, численное моделирование, статистическое моделирование, визуализацию данных, машинное обучение и многое другое.
В следующих разделах мы более подробно рассмотрим фактическое содержание этого курса.
Ускоренный курс Python
Из названия курса вы, вероятно, поняли, что материал будет использовать Python для изучения науки о данных и машинного обучения, так что ничего удивительного в этом нет.
Раздел ускоренного курса Python знакомит вас с основами и несколькими начальными концепциями языка программирования Python. Мини-ускоренный курс проведет вас через несколько концепций Python, включая типы данных, условные операторы и операторы, циклы, лямбды и многое другое.
Большая часть знаний Python, которые вам понадобятся, содержится в этом разделе, поэтому вам не нужно беспокоиться о том, чтобы быть экспертом по Python, прежде чем пройти этот курс. Тем не менее, важность того, чтобы занять время, чтобы лучше понять язык, прежде чем переходить к другим этапам, нельзя переоценить, так как тогда вы сможете сосредоточиться на концепциях машинного обучения, а не на мелких деталях языка программирования.
Анализ данных
Очень простой способ описания data science заключается в том, что он включает в себя извлечение знаний и идей из набора данных. Чтобы иметь возможность обрабатывать данные и извлекать из них инсайты и информацию, вы должны уметь их анализировать.
Напрашивается вопрос: Что же такое анализ данных?
Анализ данных-это процесс проверки, очистки, преобразования и моделирования данных с целью обнаружения полезной информации, предложения выводов и поддержки принятия решений.
Учитывая, насколько важен анализ данных, этот курс займет некоторое время, чтобы провести вас через несколько библиотек анализа данных в Python, которые я коснусь ниже.
- NumPy : Библиотека Python, добавляющая поддержку больших многомерных массивов и матриц, а также большую коллекцию высокоуровневых математических функций для работы с этими массивами.
- Pandas : Библиотека Python для обработки и анализа данных. В частности, он предлагает структуры данных и операции для манипулирования числовыми таблицами и временными рядами.
Визуализация данных
Визуализация данных имеет решающее значение, поскольку она помогает четко и эффективно передавать информацию пользователям с помощью статистической графики, графиков, информационной графики и других инструментов.
Визуализация данных относится к методам, используемым для передачи данных или информации путем кодирования их в виде визуальных объектов.
Этот курс знакомит слушателя с несколькими библиотеками визуализации данных на языке Python, демонстрируя ему, как создавать различные визуализации для широкого спектра наборов данных с использованием различных библиотек. Некоторые из библиотек визуализации, преподаваемых в этом курсе, включают:
- Matplotlib : Библиотека 2D-графиков Python, которая производит показатели качества публикации в различных печатных форматах и интерактивных средах на разных платформах.
- Seaborn : Библиотека визуализации Python на основе matplotlib. Он обеспечивает высокоуровневый интерфейс для рисования привлекательной статистической графики.
- Pandas : Библиотека данных, обладающая возможностями как анализа, так и визуализации.
- Plotly : Интерактивная библиотека визуализации.
- Запонки : Библиотека, которая помогает сюжетно соединиться с пандами.
- Географическое построение: Создание карт choropleth для визуализации географических данных.
Машинное обучение
Это вторая часть курса, которая знакомит слушателя с несколькими алгоритмами машинного обучения. Курс состоит из нескольких шагов, чтобы помочь студентам понять алгоритм, предлагая инструкции по теории, дополнительное чтение, реализацию алгоритма на Python, упражнения по алгоритму и решения упражнений.
Курс охватывает различные типы алгоритмов машинного обучения, а именно контролируемое обучение, неконтролируемое обучение и обучение с подкреплением.
Некоторые из алгоритмов машинного обучения включают в себя:
- Линейная регрессия: Используется для оценки реальных значений на основе непрерывных переменных.
- Логистическая регрессия: Используется для оценки дискретных значений на основе заданного набора независимых переменных.
- K Ближайший сосед: kNN-это простой алгоритм, который хранит все доступные случаи и классифицирует новые случаи на основе меры сходства.
- Обработка естественного языка: Применение вычислительных методов к анализу и синтезу естественного языка и речи.
- Нейронные сети и глубокое обучение: Нейронные сети-это компьютерная система, смоделированная на основе человеческого мозга и нервной системы. Глубокое обучение, мощный набор методов обучения в нейронных сетях.
- Машины опорных векторов: SVM-это контролируемый алгоритм машинного обучения, который может быть использован как для задач классификации, так и для задач регрессии.
- Кластеризация K-средних направлена на разбиение наблюдений на кластеры, в которых каждое наблюдение принадлежит кластеру с ближайшим средним значением, служащему прототипом кластера.
Другие алгоритмы, рассмотренные в курсе, включают big data и Spark с Python, анализ основных компонентов и рекомендательные системы.
Курс также знакомит слушателя с библиотекой Scikit-Learn , которая представляет собой библиотеку Python с реализацией довольно большого количества алгоритмов машинного обучения. Это в основном “Швейцарский армейский нож” Python для машинного обучения.
Хорошее
Руки вниз, это удивительный курс. При очень большом объеме содержания курса мне потребовалось некоторое время, чтобы просмотреть его, курс требует времени, чтобы вдаваться в детали из-за количества концепций, рассмотренных в этом курсе.
Ускоренный курс Python
Одним из основных недостатков большинства курсов является предположение, что студенты могут самостоятельно повысить уровень требуемого стека. Этот курс не использует этот шанс, проводя студента через ускоренный курс Python, чтобы пользователь мог комфортно пройти курс и не увязнуть в деталях, не связанных с основным материалом.
Вдаваясь в подробности
Этот курс не уклоняется от глубокого погружения в концепции. Курс требует времени, чтобы глубоко погрузиться в важные концепции, чтобы убедиться, что студент получает полное представление о теме. Иногда одна концепция даже разбивается на несколько различных разделов только для того, чтобы обеспечить полную реализацию всей концепции.
Кроме того, учащимся предоставляется (по желанию) дополнительный материал для чтения, чтобы расширить свои знания в описываемых алгоритмах. Например, курс использует Введение в статистическое обучение Гарета Джеймса в качестве сопутствующей книги.
Записи
Этот курс содержит тщательно написанные заметки, как на экране, когда инструктор проходит через контент, чтобы помочь ему следовать за контентом, так и до или после видео, чтобы объяснить несколько концепций. Эти заметки имеют решающее значение для того, чтобы помочь учащимся следовать за ними, особенно в отношении более сложных концепций.
Общий код (Jupyter Notebook)
На протяжении всего этого курса, благодаря его практическому подходу, записывается много кода. Преподаватель использует блокноты Jupyter для совместного использования всего кода, описанного в курсе. В курсе есть “Папка ресурсов”, которая содержит хорошо организованные блокноты Jupyter для каждого раздела.
Эти тетради помогают учащимся иметь доступ к коду, чтобы они могли легче следить за лекциями, а также иметь доступ к коду, чтобы позже больше практиковаться.
Упражнения и решения
Лучший способ узнать и понять что-то-это действительно сделать это. Этот курс понимает этот важный шаг в изучении новых концепций и имеет специальное упражнение почти для каждого раздела курса. Далее он предлагает решения для упражнений в каждом разделе.
Эти упражнения предназначены для того, чтобы помочь ученику усвоить понятия, преподаваемые в этом разделе. Для различных алгоритмов машинного обучения учащемуся предоставляется набор данных реального мира с вопросами, требующими от него использования изученных им понятий для его решения. Студенту также предоставляется возможность получить больше наборов данных для оттачивания своих навыков с помощью таких ресурсов, как Kaggle.
Сообщество
Одна из самых трудных вещей, которую можно получить, проходя онлайн-курс, – это столкнуться с блокировщиками. Без какой-либо помощи вы застреваете на каком-то этапе курса или, что еще хуже, не понимаете некоторых понятий.
Хосе работал над созданием сообщества вокруг своего курса, чтобы помочь ученикам помогать друг другу с проблемами, с которыми они сталкиваются на этом пути. Большинство проблем, с которыми студент может столкнуться в ходе курса, на самом деле уже есть в FAQ для курса, что делает его еще более легким для учащихся, чтобы найти решения.
Не Очень-То Хорошо
Слишком Много Информации
Это только мое мнение, но когда кто-то добирается до уровня изучения сложных тем, таких как data science и machine learning, вы, вероятно, уже имеете представление об основных понятиях программирования, и как таковой курс такого уровня не должен тратить столько времени на объяснение основных понятий.
Однако из-за практического подхода, который использует этот курс, он в конечном итоге объясняет множество основных концепций программирования, что в конечном итоге занимает много времени, делая курс еще длиннее.
Вывод
это действительно удивительный курс. Он очень хорошо детализирован, с большой поддержкой, чтобы вы вышли из него хорошо подготовленными, чтобы начать работать над проблемами машинного обучения и науки о данных.
Но, как вы все знаете, практика делает совершенным, поэтому прохождение только этого курса не сделает вас надрать задницу ученым по данным или инженером по машинному обучению, в котором нуждается отрасль. Вам придется приложить немало усилий, чтобы пройти через упражнения в курсе и больше практиковаться на различных библиотеках и алгоритмах, чтобы добраться до вершины.