В моем последнем видео я обсуждал, как создать кривую s и изобразить ее на графике (а также сделать прогнозы на ее основе). Ссылку на этот пост можно найти здесь: - https://medium.com/geekculture/how-to-make-and-plot-a-s-curve-using-sklearn-17c98ddbeb4d

В этом посте я намерен обсудить, как использовать библиотеку машинного обучения Python для создания рулета по швейцарскому рулету, нанесения его на график и прогнозирования на его основе.

И кривая s, и швейцарский рулет являются частью множества наборов данных sklearn. Многообразное обучение — это подход к нелинейному уменьшению размерности. Алгоритмы для этой задачи основаны на идее, что размерность многих наборов данных искусственно завышена.

Я написал сценарий, в котором я создал рулет в Google Colab, который представляет собой бесплатный онлайн-блокнот Jupyter, доступный для всех, у кого есть компьютер, подключение к Интернету и поисковая система. Можно использовать и другие ноутбуки Jupyter, такие как Microsoft Azure и Saturn Cloud, но эти платформы платные. Поскольку с деньгами туго, я предпочитаю использовать бесплатные ресурсы, когда это возможно. Единственный реальный недостаток, который я вижу, это тот факт, что Google Colab не имеет функции отмены, поэтому необходимо соблюдать осторожность, чтобы не перезаписать или удалить ценный код. В файловом меню Google Colab есть функция, называемая функцией игровой площадки, которая позволяет людям экспериментировать с кодом, не теряя исходный код, но лично я никогда ею не пользовался.

Как только я создал программу, я импортировал библиотеки, которые мне понадобятся для ее выполнения. В этом случае я импортировал pandas, numpy, math, sklearn, seaborn и matplotlib. Pandas создает кадры данных и манипулирует ими, numpy выполняет алгебраические вычисления и создает массивы, math выполняет сложные математические вычисления, sklearn содержит множество функций машинного обучения, а seaborn и matplotlib отображают точки данных на графике, чтобы показать, как они ведут себя в компьютере. объем памяти:-

После того, как библиотеки были созданы, я использовал sklearn для создания швейцарского рулета. Обратите внимание, что переменные X и y, будучи независимыми и зависимыми соответственно, также были определены во время создания швейцарского рулона:

Затем я использовал библиотеку matplot для создания 3D-изображения швейцарского рулета. На этом изображении показано, как это выглядит в памяти компьютера:

Затем я нормализовал переменную X и преобразовал все точки данных в нее в значения от нуля до единицы. Я выполнил эту операцию, потому что модель способна более эффективно делать прогнозы, когда точки данных находятся в непосредственной числовой близости друг к другу:

Затем я использовал sklearn train_test_split, чтобы разделить набор данных X и Y на наборы для обучения и проверки:

Именно в этот момент я выбрал модель. Я выбрал PolynomialFeatures с LinearRegression и настроил его на третью степень. Я достиг 99% точности, когда использовал эту модель: -

Затем я предсказал на проверочном наборе и также достиг точности 99%: -

Затем я использовал matplotlib для создания графика, который сравнивает фактические значения с прогнозируемыми значениями, и можно увидеть, что использование PolynomialFeatures очень хорошо показало себя при прогнозировании созданного швейцарского рулона:

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

Код к этому сообщению можно полностью найти в моей личной учетной записи Google Colab, ссылка находится здесь: https://colab.research.google.com/drive/104uFkXq3Lv3ggj_WnGy9NUb1R52Xg9C-?usp=sharing