Недавно я прошел бесплатный курс Udacity «Введение в машинное обучение», пытаясь обновить и усовершенствовать свой текущий набор навыков. По завершении курса я решил написать пост о том, что я изучал, и о проектах, которые я предпринял, чтобы изучить материал курса и, надеюсь, продвинуться в своей профессии: -

Урок 1

Урок 1 курса был вводным уроком, в котором описывалось то, что я должен был узнать на курсе. Предполагалось, что курс продлится около четырех месяцев, но я торопился закончить его, потому что хотел охватить новые темы и узнать как можно больше о машинном обучении, чтобы помочь мне достичь моей цели — выиграть соревнование Kaggle. в какой-то момент. Кроме того, в августе Kaggle проводит 30-дневный курс машинного обучения, и я хотел пройти курс Udacity, прежде чем приступать к этому новому курсу Kaggle.

Урок 2

Урок 2 посвящен наивному байесовскому классификатору, который представляет собой простой вероятностный классификатор, основанный на теореме Байеса с сильными предположениями о независимости между признаками. Этот тип классификатора прост, но точен, если он сочетается с оценкой плотности ядра.

Ссылку на сообщение в блоге, которое я написал на Уроке 2, Наивный Байес, можно найти здесь: https://tracyrenee61.medium.com/how-to-use-machine-learning-to-make-predictions-on- очень маленький набор данных-cc8c6f7f7575»

Урок 3

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

Ссылку на пост, который я написал на Уроке 3, SVM, можно найти здесь: https://medium.com/mlearning-ai/how-to-use-the-support-vector-machine-svm-as- a-классификатор-e3b597d1b125

Ссылку на второй пост, который я написал на Уроке 3, SVM, относительно сокращения наборов данных, можно найти здесь: https://medium.com/mlearning-ai/a-quick-and-easy-way-to-make -предсказания-на-очень-больших-наборах-данных-4c0e62bb1897

Урок 4

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

Ссылку на пост, который я написал на Уроке 4, Деревья решений, можно найти здесь: https://tracyrenee61.medium.com/how-to-create-a-dataset-of-blobs-and-then-make -предсказания-на-этом-2d787da53a32»

Ссылку на второй пост, который я написал на Уроке 4, Деревья решений, где вместо этого я решил использовать Дополнительные деревья, можно найти здесь: https://tracyrenee61.medium.com/how-to-create-two-circles -в-sklearn-и-делать-предсказания-на-это-691a94e64f81»

Урок 5

Урок 5 представлял собой урок, на котором ученику предлагается выбрать собственный алгоритм выполнения мини-проекта:

Ссылку на Урок 5, где я создал программу с использованием алгоритма К ближайших соседей, можно найти здесь: https://tracyrenee61.medium.com/how-to-make-a-classification-dataset-and -predict-on-it-in-python-feaea3844052»

Урок 6

Урок 6 был проектом, касающимся набора данных Enron, но я не смог его завершить, потому что не хотел загружать этот огромный файл на свой ноутбук. Я посмотрел на GitHub и Kaggle, но не смог использовать файлы pkl, потому что у меня нет в этом опыта. Было бы неплохо, если бы Udacity поместил все файлы в формате csv в репозиторий GitHub или на Kaggle, и тогда, возможно, у меня было бы немного больше уверенности в завершении проекта.

Урок 7

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

Ссылку на сообщение в блоге, которое я сделал относительно Урока 7, Линейная регрессия, можно найти здесь: https://tracyrenee61.medium.com/how-to-create-a-linear-regression-dataset-with-sklearn- и-делать-предсказания-на-этом-53b7337bbe3a

Ссылку на второй пост в блоге, который я сделал относительно Урока 7, Многомерная регрессия, можно найти здесь: https://tracyrenee61.medium.com/how-to-create-a-multivariate-regression-and-make-predictions -он-это-аа9108019810»

Урок 8

Урок 8 посвящен выбору и удалению обнаружения и удаления выбросов. Выбросы — это наблюдения в наборе данных, которые каким-то образом не подходят, и их присутствие может негативно повлиять на прогноз модели, если их не удалить.

Ссылку на сообщение в блоге, которое я сделал относительно Урока 8, Выбросы, можно найти здесь: https://medium.com/mlearning-ai/how-to-find-and-remove-outliers-from-a-regression -в-питоне-449bc9e13101»

Я сделал второй пост, который я сделал, чтобы прояснить предыдущий пост для Урока 8, его можно найти здесь: https://medium.com/mlearning-ai/how-to-find-outliers-in-the-california- набор данных о цене дома-f29411ee7fd8

Урок 9

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

Я сделал пост для Урока 9, который включает в себя использование кластеризации KMeans, а затем создание прогнозов с использованием этого алгоритма, и его можно найти здесь: https://tracyrenee61.medium.com/how-to-use-kmeans-clustering- делать-предсказания-на-sklearns-blobs-6eeb8e6739ec»

Поскольку я хотел узнать больше о кластеризации KMeans из урока 9, я написал еще один пост, используя в качестве примера набор данных Titanic, и ссылку на пост можно найти здесь: https://tracyrenee61.medium.com/using- kmeans-кластеризация-для-предсказания-выживших-в-титаническом-ae3d3e959eb8»

Урок 10

Урок 10 посвящен масштабированию объектов, которое называется нормализацией. При прогнозировании данных важно делать прогнозы с нормализованными, а затем ненормализованными данными и выбирать метод, обеспечивающий наиболее точную оценку. Также важно, что некоторые оценки не нуждаются в нормализации, но лучше проверить, насколько точность каждой модели лучше с нормализацией или без нее. В библиотеке sklearn есть функции, позволяющие масштабировать данные, но я предпочитаю нормализовать данные самостоятельно.

Следующий урок курса, урок 10, посвящен нормализации данных перед тем, как делать на их основе прогнозы. Ссылка на этот курс: https://tracyrenee61.medium.com/the-effect-normalisation-has-on-making-predictions-on-datasets-bf1563ef8078.

Урок 11

Урок 11 посвящен обработке естественного языка или НЛП. НЛП изучает, как машины взаимодействуют с человеческим языком.

Урок 11 посвящен обработке естественного языка, или НЛП, и прикрепленная ссылка охватывает эту тему: набор данных-527644d42f4e»

Урок 12

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

Ссылку на пост, который я написал для Урока 12, в котором основное внимание уделялось выбору функций, можно найти здесь: набор данных на основе текста-f43e77df6791»

В уроке 12 модель регрессии Лассо обсуждается как подходящая модель регрессии признаков, и я написал следующий пост, чтобы проиллюстрировать эту тему: https://tracyrenee61.medium.com/how-lasso-regression-is-a-value- инструмент выбора функций-aac502819f99

В уроке 12 также рассказывается, как использовать параметры в алгоритме дерева решений для обрезки деревьев во избежание переобучения. Ссылку на пост, который я написал на эту тему, можно найти здесь: https://tracyrenee61.medium.com/how-to-prune-a-decision-tree-to-prevent-overfitting-in-python-df134b6b8960

Урок 13

В уроке 13 обсуждались размерность данных и сокращение компонентов.

В уроке 13 обсуждался выбор функций и, в частности, SelectKBest от sklearn. Поэтому я написал пост, посвященный SelectKBest, и его можно найти здесь: https://medium.com/mlearning-ai/how-to-select-features-using-selectkbest-in-python-c5a5239969f0.

Урок 13 также касался PCA, и я написал пост, чтобы рассказать об этом: https://tracyrenee61.medium.com/how-to-impose-principal-component-analysis-on-a-house-price-regression-254b8dfd6ddc

Урок 14

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

В Уроке 14 были рассмотрены методы перекрестной проверки. Я написал пост о простейшей форме перекрестной проверки, ссылка здесь: https://tracyrenee61.medium.com/how-to-use-the-simplest-cross-validation-technique-in-python- 36257a21ff83

В уроке 14 также рассматривалась более глубокая перекрестная проверка, которая представляет собой gridsearchcv sklearn. Я использовал эту методологию в наборе данных Kaggle Титаник и написал сообщение о своих выводах здесь: https://tracyrenee61.medium.com/get-stuck-in-to-gridsearchcv-to-predict-on-the-survivors. -из-титаника-842b46941b7c?sk=c06677e89f4f638d3380ccce5669a5ac

Урок 15

В уроке 15 обсуждаются методы оценки, которые говорят нам, насколько хорошо работает наша модель.

На уроке 15 были рассмотрены метрики оценки, которые состоят из матрицы путаницы и отчета об оценке. Ссылку на пост, посвященный Уроку 15, можно найти здесь: -

https://tracyrenee61.medium.com/taking-the-mystery-out-of-sklearns-confusion-matrix-and-classification-report-2cc73dfebaa6?sk=1fbebf9af17a31213b408d05ae726d47

Урок 16

Урок 16 подытожил то, что было изучено на предыдущих 15 уроках.

Краткий обзор четырех принципов, изученных в этом курсе, был:

  1. Набор данных и вопрос
  2. Выбор функций
  3. Алгоритм
  4. Проверка

Скриншот с курса можно увидеть ниже:

Урок 17

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

Резюме

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

Ссылку на некоторые программы, которые я написал, чтобы узнать больше о материале этого курса, можно найти здесь: https://github.com/TracyRenee61/Udacity-Course/blob/main/Udacity_Machine_Learning_Course.ipynb