Art of DS

Вигляд

Палітра
Тема
Доступ $20 одноразово
Увійти або створити акаунт

Вхід до Art of DSСтворіть акаунт Art of DS

Ми надішлемо на пошту посилання й шестизначний код. Увійти можна будь-яким із них; пароля немає.Введіть свою пошту. Ми надішлемо посилання й шестизначний код, щоб її підтвердити, — пароль не потрібен. Акаунт безкоштовний.

  • Ви повернетеся на цю сторінку, туди, де зупинилися.
  • Уже маєте акаунт? З тією самою адресою ви просто ввійдете.

Продовжуючи, ви приймаєте Умови та Політику конфіденційності.

Ваш акаунт

Безкоштовний акаунтДоступ назавжди

складність 2/5 Безкоштовно

Linear regression

Визначення

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

Спершу прочитайте MSE Увесь шлях — на мапі
Формула
y^=β0+β1x1+⋯+βpxp\hat{y} = \beta_0 + \beta_1 x_1 + \dots + \beta_p x_p

Інтуїція

У вас є хмара точок, і ви хочете одну пряму крізь неї, яка хибить якомога менше. Лінійна регресія і є та пряма, узагальнена на будь-яку кількість входів.

Кожен вхід дістає вагу. Прогноз — це входи, помножені на свої ваги й додані. Підігнати модель означає шукати той набір ваг, який робить сумарну квадратичну похибку найменшою [2, §3.1.1.2].

Слово «лінійна» описує ваги, а не картинку. Модель лінійна, бо прогноз є зваженою сумою — ви й далі можете подати їй піднесену до квадрата чи прологарифмовану ознаку й дістати криву.

Формальне визначення

Для спостереження з ознаками від x1x_1 до xpx_p модель передбачає зважену суму плюс вільний член. Коефіцієнти обирають так, щоб мінімізувати суму квадратів залишків — сумарні квадрати розривів між тим, що спостерігали, і тим, що передбачає пряма.

У матричній формі scikit-learn формулює ціль, яку мінімізує LinearRegression, як квадрат евклідової норми вектора залишків [1, §1.1.1].

Як це працює

02468102468ознака xціль yзалишокквадрат залишкуСума квадратів залишківлінія підбору4,49крутіша пряма6,45
Метод найменших квадратів обирає пряму, для якої квадрати в сумі дають найменше значення. Кожен штриховий відрізок — це залишок, тобто розрив між спостереженою точкою і тим, що прогнозує пряма, а кожен квадрат має цей залишок за сторону. Саме зведення в квадрат робить один довгий відрізок дорожчим за кілька коротких: найдовший тут не досягає й половини довжини шести найкоротших разом, але його квадрат важить більше, ніж усі шість їхніх. Якщо нахилити пряму, сума зростає.

Процедура підгонки пряма, а не ітеративна. Оскільки квадратична похибка є гладкою функцією коефіцієнтів у формі чаші, вона має рівно одну найнижчу точку, доки жоден вхід не є лінійною комбінацією інших, і цю точку можна розв’язати в замкненій формі [2, §3.1.1.3]. Немає ні швидкості навчання, ні випадкової ініціалізації — ті самі дані завжди дають ті самі коефіцієнти.

Саме цей розв’язок у замкненій формі робить лінійну регресію дешевою в підгонці. Це найпоширеніший метод моделювання [3, §4.1.4.1], і саме її зазвичай беруть за базовий рівень, який усе інше має побити.

Де застосовується

Лінійна регресія виринає всюди, де числовий прогноз треба не просто дістати, а й комусь пояснити [3, Advantages]:

  • Ціноутворення й оцінювання — оцінити ціну будинку за площею, кількістю кімнат і розташуванням, де покупець очікує побачити, який саме чинник зрушив число.
  • Кредитний і ризиковий скоринг — умови, де вплив моделі на рішення треба пояснити коефіцієнт за коефіцієнтом.
  • Дослідження «доза–відгук» — оцінити, як результат змінюється на одиницю впливу, з довірчим інтервалом на цю оцінку.
  • Базові рівні прогнозування — перша модель, підігнана на новій задачі, щоб установити похибку, яку складніша модель має поліпшити.
  • Просіювання ознак — читати величини й значущість коефіцієнтів, щоб вирішити, які входи варто тримати.

Чому і коли

Обирайте її, коли інтерпретовність важить так само, як точність. Кожен коефіцієнт читається звичайною мовою: якщо тримати все інше сталим, одна зайва одиниця цього входу зсуває прогноз ось настільки [5, §5.1.4]. Дуже мало родин моделей таке пропонують.

Вона також багато припускає, і ці припущення і є критеріями вибору:

  • зв’язок між входами й ціллю справді адитивний і лінійний [3, §4.1.4.1]
  • похибки приблизно незалежні, з приблизно сталим розкидом [4, §4.2.1]
  • входи не є майже дублікатами один одного [1, §1.1.1]

Беріть щось інше, коли зв’язок видимо викривлений або має взаємодії, яких ознаки не кодують (градієнтний бустинг, сплайни) [3, Disadvantages], коли входів незрівнянно більше, ніж спостережень (Ridge або Lasso) [5, §7.3], або коли точність важить куди більше за можливість пояснити модель.

Практичний приклад

Python 17 рядків Показати код Сховати код
from sklearn.datasets import fetch_california_housing
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split

X, y = fetch_california_housing(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=0
)

model = LinearRegression().fit(X_train, y_train)
pred = model.predict(X_test)

print(f"MSE {mean_squared_error(y_test, pred):.3f}")
names = fetch_california_housing().feature_names
for name, coef in zip(names, model.coef_):
    print(f"{name:>10} {coef:+.3g}")

Вивід

MSE 0.529
    MedInc +0.433
  HouseAge +0.00929
  AveRooms -0.0986
 AveBedrms +0.593
Population -7.56e-06
  AveOccup -0.00475
  Latitude -0.421
 Longitude -0.434

Перший рядок — це MSE на відкладених даних, тобто та величина, яку підгонка мінімізувала, тепер виміряна на рядках, яких модель ніколи не бачила [1, §1.1.1].

Коефіцієнти і є весь сенс виводу. Додатна вага на медіанному доході (+0.433) каже, що, за фіксованих інших ознак, райони з вищим доходом несуть вищу вартість житла — твердження, з яким ви можете піти до когось і яке можете відстояти.

Не кожен знак читається так чисто. Середня кількість кімнат отримує від’ємну вагу, а середня кількість спалень — велику додатну, і кожна має знак, протилежний тому, що дає підгонка лише на ній. Ці два стовпці корелюють на рівні 0.85 — це ті самі майже дублікати серед входів, про які попереджено вище, — і з такими ознаками оцінка найменших квадратів «стає дуже чутливою до випадкових похибок у спостережуваній цілі» [1, §1.1.1].

Варіанти

ВаріантЩо змінюєтьсяКоли брати
RidgeДодає штраф на квадрат величини коефіцієнтаОзнаки корельовані, або ознак більше, ніж рядків
LassoДодає штраф на модуль величини коефіцієнтаВи хочете, щоб модель занулила непотрібні ознаки геть
Еластична сіткаЗмішує обидва штрафиКорельовані групи ознак, які ви хочете відбирати разом
Поліноміальна регресіяДодає степені ознакЗв’язок викривлений, але все ще гладкий

Усі чотири лишаються лінійними за коефіцієнтами, тож кожен коефіцієнт зберігає своє прочитання. Ridge зберігає розв’язок у замкненій формі [5, §7.1.1], як і поліноміальна регресія — це найменші квадрати на розширених ознаках [1, §1.1.16]. Lasso від нього відмовляється й підганяється ітеративно, покоординатним спуском [1, §1.1.3], як і еластична сітка, яка натомість тримає корельовані ознаки разом, а не вибирає одну навмання [1, §1.1.5].

Типові помилки

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

Висока оцінка не є доброю підгонкою. Додавання будь-якої ознаки — включно з чистим шумом — ніколи не знижує оцінку на навчанні. Модель може мати добру оцінку і при цьому бути хибною в усьому, що важить.

Екстраполяція нічим не підперта. Підгонка описує діапазон навчальних даних. Передбачати далеко за його межами — це арифметика, а не свідчення.

Ще не прочитаноДочитайте сторінку до кінця — і вона вважатиметься прочитаною.

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

Відкрити доступ

Перевірте себе

3 запитання

Кожну відповідь пояснено: який розділ вона перевіряє і з якого джерела.

На шпаргалці: Linear models →

Джерела

  1. scikit-learn User Guide — Linear Modelsdocs · звірено 2026-08-29https://scikit-learn.org/stable/modules/linear_model.html
  2. Zhang, Lipton, Li, Smola. Dive into Deep Learning — 3.1 Linear Regressionbookhttps://d2l.ai/chapter_linear-regression/linear-regression.html
  3. NIST/SEMATECH. e-Handbook of Statistical Methods — 4.1.4.1 Linear Least Squares Regressionstandard · звірено 2026-10-04https://www.itl.nist.gov/div898/handbook/pmd/section1/pmd141.htm
  4. NIST/SEMATECH. e-Handbook of Statistical Methods — 4.2.1 Typical underlying assumptions in process modelingstandard · звірено 2026-10-04https://www.itl.nist.gov/div898/handbook/pmd/section2/pmd21.htm
  5. Goodfellow, Bengio, Courville. Deep Learning (2016)bookhttps://www.deeplearningbook.org/

Маєте промокод?

Код зі знижкою 100% одразу відкриває все. Менша знижка віднімається від ціни у вікні оплати: введіть там той самий код.

Написати в підтримку

Питання, проблема з доступом, повернення коштів? Напишіть нам, і ми відповімо листом.

Про що це?

Адресу використаємо лише для відповіді вам.

Повідомлення надіслано

Дякуємо. Відповімо листом на адресу, яку ви вказали.

Або напишіть нам напряму

support@artofds.com

Повідомлення надіслано Дякуємо. Відповімо листом на адресу, яку ви вказали.

Перевірте адресу пошти: вона потрібна, щоб відповісти.

Це наша адреса. Вкажіть свою, щоб відповідь дійшла до вас.

На цю адресу не можна надіслати лист. Перевірте, чи немає помилки.

Напишіть трохи більше: щонайменше 10 символів.

Забагато повідомлень за короткий час. Спробуйте за кілька хвилин.

Не вдалося надіслати повідомлення. Напишіть нам напряму: support@artofds.com