Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Побудова Лінійної Регресії за Допомогою NumPy | Проста Лінійна Регресія
Quizzes & Challenges
Quizzes
Challenges
/
Лінійна регресія з Python

bookПобудова Лінійної Регресії за Допомогою NumPy

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

Завантаження даних

Маємо файл simple_height_data.csv з даними з наших прикладів. Завантажимо файл і переглянемо його:

123456
import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file print(df.head()) # Print the first 5 instances from a dataset
copy

Отже, набір даних має два стовпці: перший — це 'Father', який є вхідною ознакою, а другий — 'Height', що є нашою цільовою змінною.

Ми призначимо цільові значення змінній y, а значення ознаки — X та побудуємо діаграму розсіювання.

1234
X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
copy

Знаходження параметрів

NumPy має зручну функцію для знаходження параметрів лінійної регресії.

Лінійна регресія є поліноміальною регресією першого ступеня (про поліноміальну регресію буде розглянуто у наступних розділах). Саме тому необхідно встановити deg=1, щоб отримати параметри для лінійної регресії.
Ось приклад:

123
beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
copy
Note
Примітка

Якщо ви не знайомі з синтаксисом beta_1, beta_0 = np.polyfit(X,y,1), це називається розпаковкою. Якщо у вас є ітератор (наприклад, список, масив NumPy або серія pandas), який містить два елементи, запис

a, b = my_iterator

еквівалентний

a = my_iterator[0]
b = my_iterator[1]

Оскільки результат функції polyfit() — це масив NumPy з двома значеннями, ми можемо використовувати таку розпаковку.

Створення прогнозів

Тепер можна побудувати лінію та передбачити нові змінні, використовуючи знайдені параметри.

123
plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
copy

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

123
X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
copy

Отримати параметри лінійної регресії досить просто. Однак деякі бібліотеки можуть також надати додаткову інформацію.

question mark

Параметри простої лінійної регресії можна знайти за допомогою функції NumPy:

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 3

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain what the parameters beta_0 and beta_1 represent?

How can I interpret the scatterplot and the fitted line?

What extra information can other libraries provide for linear regression?

Awesome!

Completion rate improved to 5.26

bookПобудова Лінійної Регресії за Допомогою NumPy

Свайпніть щоб показати меню

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

Завантаження даних

Маємо файл simple_height_data.csv з даними з наших прикладів. Завантажимо файл і переглянемо його:

123456
import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file print(df.head()) # Print the first 5 instances from a dataset
copy

Отже, набір даних має два стовпці: перший — це 'Father', який є вхідною ознакою, а другий — 'Height', що є нашою цільовою змінною.

Ми призначимо цільові значення змінній y, а значення ознаки — X та побудуємо діаграму розсіювання.

1234
X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
copy

Знаходження параметрів

NumPy має зручну функцію для знаходження параметрів лінійної регресії.

Лінійна регресія є поліноміальною регресією першого ступеня (про поліноміальну регресію буде розглянуто у наступних розділах). Саме тому необхідно встановити deg=1, щоб отримати параметри для лінійної регресії.
Ось приклад:

123
beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
copy
Note
Примітка

Якщо ви не знайомі з синтаксисом beta_1, beta_0 = np.polyfit(X,y,1), це називається розпаковкою. Якщо у вас є ітератор (наприклад, список, масив NumPy або серія pandas), який містить два елементи, запис

a, b = my_iterator

еквівалентний

a = my_iterator[0]
b = my_iterator[1]

Оскільки результат функції polyfit() — це масив NumPy з двома значеннями, ми можемо використовувати таку розпаковку.

Створення прогнозів

Тепер можна побудувати лінію та передбачити нові змінні, використовуючи знайдені параметри.

123
plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
copy

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

123
X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
copy

Отримати параметри лінійної регресії досить просто. Однак деякі бібліотеки можуть також надати додаткову інформацію.

question mark

Параметри простої лінійної регресії можна знайти за допомогою функції NumPy:

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 3
some-alt