Линейная регрессия – популярный статистический метод, используемый для моделирования и анализа взаимосвязи между зависимой переменной и одной или несколькими независимыми переменными. В этом сообщении блога мы рассмотрим различные методы реализации линейной регрессии с использованием библиотеки Scikit-Learn на Python. Мы предоставим примеры кода для каждого метода, чтобы помочь вам понять и применить их в своих проектах. Давайте погрузимся!
- Простая линейная регрессия:
Простая линейная регрессия используется, когда имеется одна независимая переменная. Он предполагает линейную связь между зависимыми и независимыми переменными. Вот пример простой линейной регрессии с использованием Scikit-Learn:
from sklearn.linear_model import LinearRegression
# Create a linear regression object
regression = LinearRegression()
# Prepare the data
X = [[1], [2], [3], [4], [5]] # Independent variable
y = [2, 4, 6, 8, 10] # Dependent variable
# Fit the model
regression.fit(X, y)
# Predict on new data
new_X = [[6], [7], [8]] # New independent variable
predictions = regression.predict(new_X)
# Print the predictions
print(predictions)
- Множественная линейная регрессия.
Множественная линейная регрессия используется при наличии нескольких независимых переменных. Он расширяет концепцию простой линейной регрессии, включив в нее несколько предикторов. Вот пример множественной линейной регрессии с использованием Scikit-Learn:
from sklearn.linear_model import LinearRegression
# Create a linear regression object
regression = LinearRegression()
# Prepare the data
X = [[1, 2], [2, 4], [3, 6], [4, 8], [5, 10]] # Independent variables
y = [3, 5, 7, 9, 11] # Dependent variable
# Fit the model
regression.fit(X, y)
# Predict on new data
new_X = [[6, 12], [7, 14], [8, 16]] # New independent variables
predictions = regression.predict(new_X)
# Print the predictions
print(predictions)
- Полиномиальная регрессия:
Полиномиальная регрессия используется, когда взаимосвязь между зависимыми и независимыми переменными не является линейной, но может быть аппроксимирована полиномиальной функцией. Scikit-Learn предоставляет класс PolynomialFeatures для предварительной обработки данных. Вот пример полиномиальной регрессии с использованием Scikit-Learn:
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
# Create a polynomial regression object
polynomial_regression = PolynomialFeatures(degree=2)
regression = LinearRegression()
# Prepare the data
X = [[1], [2], [3], [4], [5]] # Independent variable
y = [1, 4, 9, 16, 25] # Dependent variable
# Transform the data
X_poly = polynomial_regression.fit_transform(X)
# Fit the model
regression.fit(X_poly, y)
# Predict on new data
new_X = [[6]] # New independent variable
new_X_poly = polynomial_regression.transform(new_X)
predictions = regression.predict(new_X_poly)
# Print the predictions
print(predictions)
- Регуляризованная линейная регрессия.
Методы регуляризованной линейной регрессии вводят штрафной член в целевую функцию, что помогает предотвратить переобучение. Двумя популярными методами регуляризации являются регрессия Риджа и регрессия Лассо. Вот пример регрессии Риджа с использованием Scikit-Learn:
from sklearn.linear_model import Ridge
# Create a Ridge regression object
ridge_regression = Ridge(alpha=0.5)
# Prepare the data
X = [[1], [2], [3], [4], [5]] # Independent variable
y = [2, 4, 6, 8, 10] # Dependent variable
# Fit the model
ridge_regression.fit(X, y)
# Predict on new data
new_X = [[6]] # New independent variable
predictions = ridge_regression.predict(new_X)
# Print the predictions
print(predictions)
В этой записи блога мы рассмотрели несколько методов реализации линейной регрессии с помощью Scikit-Learn. Мы рассмотрели простую линейную регрессию, множественную линейную регрессию, полиномиальную регрессию и регуляризованную линейную регрессию. Каждый метод имеет свой вариант использования и может применяться к различным сценариям. Используя эти методы, вы сможете получить представление о своих данных и сделать точные прогнозы.