Прежде чем мы начнем, давайте ответим на некоторые распространенные вопросы, которые часто возникают при изучении новых понятий.

Зачем мы это изучаем?

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

Теперь давайте углубимся в концепцию простой линейной регрессии.

  • Регрессионный анализ — это статистический метод, используемый для понимания и прогнозирования взаимосвязи между двумя или более переменными.
  • Представьте, что у вас есть набор точек данных (например, чисел), представляющих разные вещи. Например, допустим, вы хотите выяснить, как количество времени, которое вы тратите на учебу, влияет на ваши экзаменационные баллы.
  • Регрессионный анализ помогает вам найти математическое уравнение, которое лучше всего соответствует этим точкам данных, формируя линию (или кривую), которая показывает общую тенденцию взаимосвязи между двумя переменными. В нашем примере две переменные — это время, потраченное на учебу (назовем его X), и экзаменационные баллы (назовем его Y).
  • Получив эту линию, вы можете использовать ее для предсказаний. Например, если вы знаете, сколько времени вы потратите на учебу (X), вы можете использовать уравнение, чтобы оценить, каким может быть ваш экзаменационный балл (Y).
  • Имейте в виду, что регрессионный анализ не обязательно доказывает, что одна переменная вызывает изменения другой. Это просто помогает нам понять, есть ли между ними отношения и насколько они сильны.

Давайте углубимся в кодирование —

import numpy as np
from sklearn.linear_model import LinearRegression

# Sample data - hours spent studying and corresponding exam scores
hours_studied = np.array([2, 4, 6, 8, 10, 12, 14, 16, 18, 20])
exam_scores = np.array([65, 70, 75, 80, 85, 88, 90, 92, 95, 98])

# Reshape the data to be 2D (required for scikit-learn)
X = hours_studied.reshape(-1, 1)
Y = exam_scores

# Create a linear regression model
model = LinearRegression()

# Fit the model to the data
model.fit(X, Y)

# Get the coefficients (intercept and slope)
intercept = model.intercept_
slope = model.coef_[0]

# Print the coefficients
print("Intercept (β0):", intercept)
print("Slope (β1):", slope)

# Make predictions
hours_to_predict = np.array([15, 25, 30]).reshape(-1, 1)
predicted_scores = model.predict(hours_to_predict)

# Print the predictions
print("Predicted scores:", predicted_scores)

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