Линейная регрессия - отличный вход в удивительный мир машинного обучения! и самый простой алгоритм для изучения.

Я сосредоточусь больше на коде, чем на теории, потому что код интереснее :) но просто для того, чтобы активировать покоящиеся нейроны линейной регрессии в вашем мозгу.

Линейная регрессия: это метод поиска закономерностей с «наилучшей линией» (следовательно, «линейной» понимаете?) В ваших данных.

Выглядит примерно так (для любой оси x или y)

В этом примере мы будем использовать набор данных load_boston, то есть набор данных о ценах на жилье в Бостоне из scikit learn.

Полный код :)

Анализ кода:

Приведенный выше код разделен на 5 шагов.

  1. Загрузить и предварительно распечатать набор данных.

из sklearn.datasets импорт load_boston

load = load_boston ()

Первая строка выше импортирует набор данных load_boston из коллекции datasets, которая присутствует в библиотеке sklearn.

Вторая строка просто помещает load_boston в переменную load для дальнейшего использования. Достаточно просто ...

импорт pprint

pprint.pprint (бостон)

Импортируя библиотеку preetprint, она используется для того, чтобы наш вывод выглядел красиво и понятно, а затем мы просто предварительно распечатываем его.

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

2. Создайте DataFrame.

Здесь мы создадим два DataFrame, используя библиотеку pandas . Фрейм данных - это просто причудливое слово для создания наборов или массивов данных. df_x содержит данные или характеристики домов с columns = boston. features_names, который также является массивом, представленным в наборе данных для более четкого понимания, а df_y содержит, соответственно, целевые цены.

3. Выбор модели (например, LinearRegression).

Каким бы простым это ни было, мы импортируем модель LinearRegression () из библиотеки sklearn и передаем модель переменной model для дальнейшего использования в коде.

4. Разделение тестовых и обучающих наборов данных с случайностью.

Здесь мы используем train_test_split из библиотеки sklearn. Для этой функции в приведенном выше коде требуется четыре параметра: data DataFrame, target DataFrame, test_size, random_state (просто для перетасовки данных).

Примечание: в приведенной выше строке train_size автоматически задается как 0,8, поскольку test_size = 0,2, следовательно, test_size + train_size = 0,2 + 0,8 = 1

5. Обучение и Прогноз.

В приведенном выше коде функция fit (также известная как TRAINING) принимает два параметра x_train, y_train и обучает модель с заданными наборами данных.

Затем мы спрогнозируем y_test из набора данных x_test, используя выбранную модель (например, LinearRegression ()) и поместите ожидаемый массив значений в переменную result. а затем мы просто печатаем пятое предсказанное значение (т.е. результат [5]) и полный набор данных y_test. Вы должны 5 от чего-то еще, просто помните, что отсчет начинается с 0, а не с 1 в списке.

Результаты

Как видите, первый [25.43573299] - это прогноз для пятого элемента в массиве, то есть 70 - - 24,2, довольно близко. Если вам интересно, что это за первая строка случайных чисел, эээ…. Это серийный номер относительно значений набора данных y_test, который был выбран случайным образом (на 4-м шаге).

Просто гифка с линейной регрессией, чтобы понять это.

Полный код: Github

Подписывайтесь на меня на Medium, чтобы получать похожие сообщения.

Свяжитесь со мной в Facebook, Twitter, LinkedIn, Google+

Любые комментарии или если у вас есть вопросы, напишите их в комментариях.

Хлопайте! Поделиться этим! Следуй за мной!

Рад быть полезным. Престижность… ..

Предыдущие истории, которые вам понравятся:

  1. Визуализация кода перекрестной проверки: вид развлечения

2. Беспроводная клавиатура Arduino своими руками

3. Объяснение функции активации: нейронные сети

4. Что, черт возьми, такое Перцептрон?

5. Что, черт возьми, такое« тензор в TensorFlow?»