Python та інструменти

Scikit-learn: перша модель машинного навчання за 20 хвилин

3 вересня 2026 р.

Scikit-learn: перша модель машинного навчання за 20 хвилин

Scikit-learn (скорочено sklearn) — головна бібліотека для класичного машинного навчання в Python. Вона містить десятки готових алгоритмів з єдиним, продуманим інтерфейсом, тож перейти від однієї моделі до іншої часто можна, змінивши лише один рядок коду. Це ідеальна відправна точка для новачка.

Єдиний підхід до всіх моделей

Головна сила scikit-learn — послідовність. Майже будь-яка модель використовується за однаковою схемою: створити модель, викликати fit() для навчання й predict() для прогнозів. Опанувавши цей шаблон одного разу, ви зможете застосовувати його до будь-якого алгоритму.

Крок 1: підготувати дані

Спершу дані ділять на ознаки (те, на основі чого прогнозуємо) та цільову змінну (те, що прогнозуємо). За традицією їх позначають X та y:

X = df[["area", "rooms", "floor"]]
y = df["price"]

Крок 2: розділити на тренувальну і тестову вибірки

Модель треба перевіряти на даних, яких вона не бачила під час навчання. Scikit-learn робить це однією командою:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

Тут 20% даних відкладено на тестування, а random_state забезпечує відтворюваність результату.

Крок 3: обрати й навчити модель

Візьмімо для прикладу лінійну регресію:

from sklearn.linear_model import LinearRegression

model = LinearRegression()
model.fit(X_train, y_train)

Один виклик fit() — і модель навчена. Щоб спробувати інший алгоритм, наприклад випадковий ліс, достатньо замінити лише перші два рядки — решта коду залишиться незмінною.

Крок 4: зробити прогнози

predictions = model.predict(X_test)

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

Крок 5: оцінити якість

Для регресії часто дивляться на середню абсолютну помилку або коефіцієнт детермінації R²:

from sklearn.metrics import mean_absolute_error, r2_score

print(mean_absolute_error(y_test, predictions))
print(r2_score(y_test, predictions))

Для задач класифікації натомість використовують точність, precision, recall та інші метрики — але сам робочий цикл залишається таким самим.

Що ще вміє scikit-learn

Бібліотека — це не лише моделі. У ній є інструменти для масштабування ознак, кодування категоріальних змінних, підбору гіперпараметрів та побудови конвеєрів (pipelines), які обʼєднують усі кроки обробки в один обʼєкт. Це робить код чистішим і зменшує ризик помилок.

Чого scikit-learn не робить

Важливо знати межі інструмента. Scikit-learn чудовий для класичного ML на табличних даних, але не призначений для глибокого навчання — для нейронних мереж, зображень і тексту використовують PyTorch чи TensorFlow. Проте для більшості бізнес-задач класичних моделей цілком достатньо, і починати варто саме з них.

Підсумок

Scikit-learn дозволяє пройти весь шлях машинного навчання — від підготовки даних до навченої моделі та оцінки її якості — буквально за кілька рядків коду. Завдяки єдиному інтерфейсу fit/predict ви легко експериментуєте з різними алгоритмами. Це найкраща бібліотека, щоб зробити перші практичні кроки в ML і швидко побачити результат.

Шукаєте роботу?

Перегляньте відкриті вакансії у Data Science, ML та аналітиці.

До вакансій