TGViewer
Data Science | Вопросы собесов Data Science | Вопросы собесов @easy_ds · 4.9K subscribers
Post #2633 404
🤔 Как с помощью линейной модели понять какие фичи можно сразу откинуть?

Использование линейной модели для выбора наиболее значимых признаков (фич) и отсеивания менее значимых может быть выполнено несколькими способами. Ниже я опишу наиболее популярные подходы:

Анализ коэффициентов линейной модели: В линейной модели значимость признаков определяется величиной и знаком коэффициентов при этих признаках. Если коэффициент признака мал или близок к нулю, это может указывать на его низкую значимость.
import numpy as np
from sklearn.linear_model import LinearRegression

# Пример данных
X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
y = np.array([1, 2, 3, 4])

# Создание и обучение линейной модели
model = LinearRegression()
model.fit(X, y)

# Получение коэффициентов
coefficients = model.coef_

print(f"Коэффициенты модели: {coefficients}")


Интерпретация:

🟠Коэффициенты с малыми абсолютными значениями указывают на признаки, которые менее важны для модели.
🟠Признаки с большими абсолютными значениями коэффи­циентов считаются более важными.

Регуляризация: Lasso (L1) и Ridge (L2): Методы регуляризации позволяют улучшить интерпретацию модели и выбрать значимые признаки:
🟠Lasso (L1): Принуждает некоторые коэффициенты быть равными нулю, эффективно отбирая признаки.
🟠Ridge (L2): Не отбирает признаки напрямую, но уменьшает влияние малозначимых признаков.
from sklearn.linear_model import Lasso

# Создание и обучение Lasso модели
lasso = Lasso(alpha=0.1) # Параметр alpha контролирует силу регуляризации
lasso.fit(X, y)

# Получение коэффициентов
coefficients = lasso.coef_

print(f"Коэффициенты Lasso модели: {coefficients}")


Интерпретация: Коэффициенты, которые стали нулевыми после применения Lasso, указывают на признаки, которые можно отсеять.

Методы оценки важности признаков (Feature Importance): Хотя это напрямую не относится к линейным моделям, такие методы как Random Forest или Gradient Boosting могут помочь оценить важность признаков.
from sklearn.ensemble import RandomForestRegressor

# Создание и обучение модели Random Forest
model = RandomForestRegressor()
model.fit(X, y)

# Получение важности признаков
importances = model.feature_importances_

print(f"Важность признаков: {importances}")


Ставь 👍 и забирай 📚 Базу знаний
More from @easy_ds
  1. Oct 10, 2026Post #2697
  2. Oct 10, 2026🤔 Что такое переобучение модели? Переобучение (overfitting) происходит, когда модель слиш…
  3. Oct 9, 2026Post #2695
  4. Oct 9, 2026🤔 Расскажи о Gradient-boosted trees Gradient-boosted trees — это ансамблевый метод машинн…
  5. Oct 9, 2026🤔 Какие слабые стороны есть у алгоритма кластериации ? Алгоритмы кластеризации имеют неск…
  6. Oct 8, 2026🤔 В чем разница между листом и кортежем? В Python список (list) — это изменяемая коллекци…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →