В моем предыдущем посте я обсуждал, как создать упрощенную модель линейной регрессии с помощью Jax. Jax — это новая библиотека, созданная Google Brain в 2018 году, которая в любом случае должна заменить библиотеку Tensorflow в исследовательских целях. В Tensorflow встроен модуль Keras, что упрощает написание кода специалистам по данным. Насколько мне известно, у Jax нет такого модуля, поэтому специалисту по данным или программисту приходится писать код с нуля. Jax был написан очень похоже на API библиотеки numpy, поэтому, если человек знает numpy, то изучить Jax не должно быть так уж сложно.

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

Я написал программу в Google Colab, бесплатном онлайн-блокноте Jupyter, размещенном на сервере Google. Google Colab — отличный сайт для написания кода на Python, но у него есть один недостаток: у него нет адекватной функции отмены. Поэтому необходимо соблюдать осторожность, чтобы случайно не перезаписать или удалить какой-либо ценный код.

Когда я создавал блокнот Jupyter, первое, что я сделал, — это импортировал библиотеки. Библиотеки, используемые в этой программе: -

  1. Случайно для создания случайных чисел,
  2. Numpy для создания массивов numpy и выполнения вычислений линейной алгебры,
  3. Csv для загрузки и чтения файла csv,
  4. Джакса для создания алгоритма линейной регрессии и
  5. Matplotlib для визуализации данных.

После того как библиотеки были импортированы в программу, я использовал модуль csv, чтобы загрузить и прочитать текстовый файл house_prices в программу и преобразовать его в файл csv.

Заголовки определяются как первая строка набора данных, поэтому я их распечатал.

Набор данных — это вторая строка набора данных до конца. Каждая строка считается отдельным массивом, а набор данных представляет собой массив массивов: