множинна лінійна регресія

Множинна лінійна регресія відрізняється від простої лінійної регресії тим, що вона застосовується до кількох ознак, а не лише до однієї. У цьому прикладі машинного навчання ми побачимо множинну лінійну регресію, отже, з більшою кількістю функцій у вхідних даних.

Перш ніж продовжити, я рекомендую вам прочитати три короткі статті, де ви знайдете різні визначення:

  1. Що таке машинне навчання, що воно таке та його цілі
  2. Типи машинного навчання
  3. Приклад машинного навчання з Python: проста лінійна регресія

Оскільки ми будемо використовувати Python, якщо у вас його ще немає на ПК, прочитайте також Як встановити Python на Microsoft Windows

Для множинної лінійної регресії ми також будемо використовувати scikit-вчитися, оскільки він є надзвичайно гнучким, роблячи все дійсним, що ми бачили вприклад простої лінійної регресії.

Тоді ми матимемо доступний метод відповідати за навч.-метод передбачати для передбачення. Ми також будемо використовувати клас знову Лінійна регресія.

Також з функцією make_regression ми створимо тестовий набір даних на основі наданих параметрів. Таким чином базова структура готова до виконання лінійної регресії. Ми нагадаємо про make_regression sfruttando l’assegnazione multipla caratteristica di Python, а саме:

x, y = make_regression (n_samples = 500, n_features = 5, noise = 10)

Отже, набір даних матиме такі характеристики: 500 значень, організованих у 5 функціях, і ми додаємо шум, різницю помилок 10, щоб набір даних не здавався надто регулярним.

Давайте тепер розділимо набір даних на частину, корисну для навчання, і частину, корисну для тестування. Ми могли б придумати 80 зразків для тестування, а решта – для навчання. Для цього ми використовуємо функцію train_test_split який розділяє два списки x e y in x_train, y_train e x_test, y_test

з sklearn.model_selection імпортувати train_test_split

x_train, x_test, y_train, y_test = train_test_split (x, y, test_size = 80)

в результаті матимемо

((420, 5), (80, 5), (420,), (80,))

Тепер ми переходимо до регресії, яка відбувається повністю аналогічно простій лінійній регресії, але без переробити оскільки в цьому випадку make_regression.

з sklearn.linear_model імпорт LinearRegression

модель = лінійна регресія ()

model.fit (x_train, y_train)

Нижче наведено обчислені параметри для регресії, а також коефіцієнти та відрізок

model.coef_ приймає таке значення

масив ([90.65, 23.45, 66.43, 42.54, 24.35])

model.intercept_ приймає таке значення

-0.4564

За допомогою навченої моделі ми можемо зробити прогноз на основі тестових даних і оцінити його за допомогою деяких показників:

прогноз = model.predict (x_test)

середня_абсолютна_помилка (y_test, прогноз)

6.964857

re_score (y_test, прогноз)

0.9876

Хоча ми використовували дані в освітніх цілях, результати показують, що наша модель працює. Він отримав освіту, здатний робити прогнози, а також зафіксував значення метрики R-квадрат практично на максимальному рівні.

Авторе

Вам може бути цікаво…