Побудова Лінійної Регресії за Допомогою NumPy
Ви вже знаєте, що таке проста лінійна регресія та як знайти пряму, яка найкраще підходить до даних. Тепер ви пройдете всі етапи побудови лінійної регресії для реального набору даних.
Завантаження даних
Маємо файл simple_height_data.csv з даними з наших прикладів. Завантажимо файл і переглянемо його:
123456import 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
Отже, набір даних має два стовпці: перший — це 'Father', який є вхідною ознакою, а другий — 'Height', що є нашою цільовою змінною.
Ми призначимо цільові значення змінній y, а значення ознаки — X та побудуємо діаграму розсіювання.
1234X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
Знаходження параметрів
NumPy має зручну функцію для знаходження параметрів лінійної регресії.
Лінійна регресія є поліноміальною регресією першого ступеня (про поліноміальну регресію буде розглянуто у наступних розділах). Саме тому необхідно встановити deg=1, щоб отримати параметри для лінійної регресії.
Ось приклад:
123beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
Якщо ви не знайомі з синтаксисом 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 з двома значеннями, ми можемо використовувати таку розпаковку.
Створення прогнозів
Тепер можна побудувати лінію та передбачити нові змінні, використовуючи знайдені параметри.
123plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
Тепер, коли параметри знайдено, можна використати рівняння лінійної регресії для прогнозування нових значень.
123X_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)
Отримати параметри лінійної регресії досить просто. Однак деякі бібліотеки можуть також надати додаткову інформацію.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
Побудова Лінійної Регресії за Допомогою NumPy
Свайпніть щоб показати меню
Ви вже знаєте, що таке проста лінійна регресія та як знайти пряму, яка найкраще підходить до даних. Тепер ви пройдете всі етапи побудови лінійної регресії для реального набору даних.
Завантаження даних
Маємо файл simple_height_data.csv з даними з наших прикладів. Завантажимо файл і переглянемо його:
123456import 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
Отже, набір даних має два стовпці: перший — це 'Father', який є вхідною ознакою, а другий — 'Height', що є нашою цільовою змінною.
Ми призначимо цільові значення змінній y, а значення ознаки — X та побудуємо діаграму розсіювання.
1234X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
Знаходження параметрів
NumPy має зручну функцію для знаходження параметрів лінійної регресії.
Лінійна регресія є поліноміальною регресією першого ступеня (про поліноміальну регресію буде розглянуто у наступних розділах). Саме тому необхідно встановити deg=1, щоб отримати параметри для лінійної регресії.
Ось приклад:
123beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
Якщо ви не знайомі з синтаксисом 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 з двома значеннями, ми можемо використовувати таку розпаковку.
Створення прогнозів
Тепер можна побудувати лінію та передбачити нові змінні, використовуючи знайдені параметри.
123plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
Тепер, коли параметри знайдено, можна використати рівняння лінійної регресії для прогнозування нових значень.
123X_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)
Отримати параметри лінійної регресії досить просто. Однак деякі бібліотеки можуть також надати додаткову інформацію.
Дякуємо за ваш відгук!