Налаштування Python для машинного навчання - Від нуля до першого коду
Кафедра ШІзики
Автор
35 хвилин
Час читання
28.10.2025
Дата публікації
Налаштування Python для машинного навчання - Від нуля до першого коду 🐍
Хороша новина: Ви можете почати вивчати машинне навчання та запускати реальний код протягом наступних 2 хвилин. Так, справді!
Вам не потрібно бути програмістом. Вам не потрібно нічого встановлювати на комп’ютер. Вам навіть не потрібно розуміти, як працює Python. Ви навчитеся на практиці, і це найкращий спосіб.
Цей посібник переведе вас від “я ніколи не писав код” до “я аналізую дані за допомогою Python” приблизно за 35 хвилин. Поїхали!
Чому Python для машинного навчання? 🤔
Перед тим, як почати, давайте відповімо на очевидне питання:
Чому Python?
- Легко вивчити: Читається майже як англійська
- Потужні бібліотеки: Хтось уже створив інструменти для всього, що потрібно для ML
- Галузевий стандарт: Використовується Google, Netflix, NASA та практично всіма, хто займається ML
- Безкоштовний та відкритий: Нульова вартість, назавжди
- Величезна спільнота: Мільйони людей допомагають одне одному
А що з іншими мовами?
- R: Чудово для статистики, але Python більш універсальний
- Java: Потужний, але багатослівний і складніший для початківців
- Julia: Швидкий і новий, але менша спільнота
- MATLAB: Дорогий, переважно академічний
Підсумок: Якщо ви хочете займатися ML, вивчайте Python. Весь курс використовує Python, як і вся індустрія.
Шлях 1: Швидкий старт з Google Colab (Рекомендується) ⚡
Google Colab - це безкоштовний сервіс, який дозволяє писати та запускати код Python у вашому веб-браузері. Нуль установки, нуль налаштувань, тільки код.
Чому Colab спочатку?
Традиційний спосіб: Спосіб Colab:
1. Встановити Python 1. Відкрити браузер
2. Встановити бібліотеки 2. Почати кодити
3. Налаштувати середовище (Це все!)
4. Виправити баги встановлення
5. Почати кодитиПлюс, Colab дає вам:
- ☁️ Безкоштовні обчислення в хмарі (працює на серверах Google)
- 🚀 Безкоштовний доступ до GPU (для швидшого навчання моделей)
- 💾 Автоматичне збереження (на Google Drive)
- 🔗 Легкий обмін (надішліть посилання комусь)
Початок роботи за 3 кроки
Крок 1: Перейдіть до Colab
Відкрийте браузер і перейдіть на: colab.research.google.com
Вам знадобиться обліковий запис Google (той самий, що використовується для Gmail).
Крок 2: Створіть свій перший ноутбук
Натисніть “Створити блокнот” (або File → New notebook)
Ви побачите екран, подібний до цього:
[ + Код ] [ + Текст ] ← Кнопки для додавання осередків
┌─────────────────────────────────────────┐
│ # Напишіть код тут │
│ ▶ Кнопка запуску │
└─────────────────────────────────────────┘Що таке ноутбук?
- Ноутбук - це як документ, де ви можете писати код І текст
- Він має осередки (коробки) для коду
- Ви запускаєте осередки по одному, натискаючи кнопку ▶ або Shift+Enter
- Результати з’являються прямо під осередком
Крок 3: Напишіть свій перший код
У першому осередку введіть:
print("Привіт, Машинне навчання!")Тепер натисніть кнопку ▶ (або Shift+Enter)
Ви повинні побачити:
Привіт, Машинне навчання!🎉 Вітаємо! Ви щойно запустили свій перший код Python!
Встановлення бібліотек у Colab
Для машинного навчання нам потрібні спеціальні інструменти (бібліотеки). Встановити їх у Colab надзвичайно легко.
У новому осередку введіть:
!pip install pandas numpy matplotlib seaborn scikit-learnНатисніть запуск. Ви побачите багато тексту, що прокручується - це Python завантажує та встановлює бібліотеки. Зачекайте, поки це закінчиться (близько 30 секунд).
Що означає
!pip install?
!каже Colab “це команда терміналу, а не код Python”pip- це інсталятор пакетів Python- Ми встановлюємо 5 бібліотек одночасно (pandas, numpy, matplotlib, seaborn, scikit-learn)
Це потрібно зробити лише один раз за сеанс. Кожного разу, коли ви відкриваєте новий ноутбук Colab, вам потрібно буде знову запустити цей осередок установки.
Ваш перший аналіз даних
Давайте зробимо щось справжнє. Ми завантажимо деякі дані та проаналізуємо їх!
Осередок 1: Імпортувати бібліотеки
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
print("Бібліотеки успішно завантажені!")Запустіть. Ви повинні побачити: Бібліотеки успішно завантажені!
Осередок 2: Створити дані
# Створити простий датасет про замовлення піци
data = pd.DataFrame({
'день': ['Понеділок', 'Вівторок', 'Середа', 'Четвер', "П'ятниця"],
'замовлення': [120, 135, 128, 142, 210]
})
print("Датасет створено!")
print(data)Ви побачите гарну таблицю:
день замовлення
0 Понеділок 120
1 Вівторок 135
2 Середа 128
3 Четвер 142
4 П'ятниця 210Осередок 3: Обчислити статистику
# Знайти середню кількість замовлень
average = data['замовлення'].mean()
print(f"Середня кількість замовлень: {average}")
# Знайти найзавантаженіший день
busiest_day = data.loc[data['замовлення'].max() == data['замовлення'], 'день'].values[0]
print(f"Найзавантаженіший день: {busiest_day}")Вивід:
Середня кількість замовлень: 147.0
Найзавантаженіший день: П'ятницяОсередок 4: Створити візуалізацію
# Побудувати дані
plt.figure(figsize=(10, 6))
plt.bar(data['день'], data['замовлення'], color='steelblue')
plt.title('Замовлення піци за днем', fontsize=16)
plt.xlabel('День')
plt.ylabel('Кількість замовлень')
plt.show()Ви побачите стовпчикову діаграму! 📊
🎉 Ви щойно:
- ✅ Завантажили дані
- ✅ Обчислили статистику
- ✅ Створили візуалізацію
Це аналіз даних! Все, що ми робитимемо в ML, будується на цих основах.
Збереження вашої роботи
Важливо: Ноутбуки Colab автоматично зберігаються на Google Drive, але ви повинні дати їм змістовні назви.
Щоб перейменувати: Натисніть “Untitled0.ipynb” вгорі та введіть нову назву, як “Мій перший код ML”
Щоб завантажити: File → Download → Download .ipynb
Розуміння основ Python 🔑
Вам не потрібно освоювати Python для ML, але розуміння цих основ допоможе вам читати та змінювати код.
Змінні: Збереження інформації
# Змінні зберігають значення
name = "Аліса"
age = 25
height = 1.68 # метри
is_student = True
print(name) # Аліса
print(age) # 25Правила:
- Імена змінних не можуть починатися з цифр
- Використовуйте малі літери та підкреслення:
my_variable - Вибирайте описові назви:
user_age, а неx
Типи даних
# Integer (ціле число)
num_pizzas = 5
# Float (десяткове)
price = 12.99
# String (текст)
customer_name = "Іван Коваль"
# Boolean (True або False)
is_delivered = False
# List (колекція елементів)
toppings = ["пепероні", "гриби", "оливки"]
# Dictionary (пари ключ-значення)
order = {
"customer": "Аліса",
"pizzas": 2,
"total": 25.98
}Списки: Упорядковані колекції
# Створити список
days = ["Пн", "Вт", "Ср", "Чт", "Пт"]
# Доступ до елементів (починається з 0!)
print(days[0]) # Пн
print(days[4]) # Пт
# Додати елементи
days.append("Сб")
# Довжина
print(len(days)) # 6Словники: Пари ключ-значення
# Створити словник
customer = {
"name": "Боб",
"age": 30,
"orders": 15
}
# Доступ до значень
print(customer["name"]) # Боб
# Додати новий ключ
customer["email"] = "bob@example.com"
# Перевірити, чи існує ключ
if "age" in customer:
print("Вік збережено")Функції: Багаторазовий код
# Визначити функцію
def calculate_total(price, quantity):
total = price * quantity
return total
# Використати функцію
result = calculate_total(12.99, 3)
print(result) # 38.97Цикли: Повторення дій
# Цикл for
days = ["Пн", "Вт", "Ср"]
for day in days:
print(f"Працюю в {day}")
# Цикл while
count = 0
while count < 5:
print(count)
count += 1Умовні оператори: Прийняття рішень
temperature = 25
if temperature > 30:
print("Спекотний день!")
elif temperature > 20:
print("Гарна погода")
else:
print("Холодний день")От і все! Ці основи охоплюють 90% того, що ви побачите в коді ML.
Основні бібліотеки для ML 📚
Python стає потужним завдяки бібліотекам - заздалегідь написаному коду, який виконує складні завдання за вас.
1. Pandas: Робота з даними 🐼
Що робить: Обробляє таблиці даних (як Excel, але краще)
Імпорт: import pandas as pd
Основна концепція: DataFrame (таблиця з рядками та стовпцями)
import pandas as pd
# Створити DataFrame
data = pd.DataFrame({
'Ім\'я': ['Аліса', 'Боб', 'Чарлі'],
'Вік': [25, 30, 35],
'Місто': ['Київ', 'Львів', 'Одеса']
})
print(data)Вивід:
Ім'я Вік Місто
0 Аліса 25 Київ
1 Боб 30 Львів
2 Чарлі 35 ОдесаПоширені операції:
# Показати перші рядки
data.head()
# Отримати стовпець
data['Вік']
# Фільтрувати рядки
data[data['Вік'] > 28]
# Обчислити статистику
data['Вік'].mean()
# Перевірити відсутні значення
data.isnull()
# Заповнити відсутні значення
data.fillna(0)Чому pandas? Кожен проект ML починається з завантаження та очищення даних. Pandas робить це легко.
2. NumPy: Числа та математика 🔢
Що робить: Швидкі математичні операції на масивах
Імпорт: import numpy as np
Основна концепція: Масив (як список, але оптимізований для математики)
import numpy as np
# Створити масив
numbers = np.array([1, 2, 3, 4, 5])
# Математичні операції (поелементні)
print(numbers * 2) # [2, 4, 6, 8, 10]
print(numbers + 10) # [11, 12, 13, 14, 15]
print(np.sqrt(numbers)) # Квадратні корені
# Статистика
print(np.mean(numbers)) # 3.0
print(np.median(numbers)) # 3.0
print(np.std(numbers)) # 1.414...
# 2D масиви (матриці)
matrix = np.array([[1, 2], [3, 4]])
print(matrix)Чому NumPy? Алгоритми ML працюють з числами. NumPy робить математичні операції надшвидкими.
3. Matplotlib: Створення графіків 📊
Що робить: Створює візуалізації
Імпорт: import matplotlib.pyplot as plt
Базові графіки:
import matplotlib.pyplot as plt
# Лінійний графік
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)
plt.title('Простий лінійний графік')
plt.xlabel('Вісь X')
plt.ylabel('Вісь Y')
plt.show()
# Стовпчикова діаграма
categories = ['A', 'B', 'C']
values = [10, 20, 15]
plt.bar(categories, values, color='green')
plt.title('Стовпчикова діаграма')
plt.show()
# Гістограма
data = [1, 2, 2, 3, 3, 3, 4, 4, 5]
plt.hist(data, bins=5, edgecolor='black')
plt.title('Розподіл')
plt.show()Чому Matplotlib? “Зображення коштує тисячі чисел.” Візуалізація даних розкриває патерни.
4. Seaborn: Гарні статистичні графіки 🎨
Що робить: Matplotlib, але гарніший і легший для статистики
Імпорт: import seaborn as sns
Приклади:
import seaborn as sns
import pandas as pd
# Створити зразкові дані
data = pd.DataFrame({
'x': [1, 2, 3, 4, 5],
'y': [2, 4, 5, 4, 6],
'категорія': ['A', 'B', 'A', 'B', 'A']
})
# Діаграма розсіювання з категоріями
sns.scatterplot(data=data, x='x', y='y', hue='категорія')
plt.show()
# Box plot
sns.boxplot(data=data, x='категорія', y='y')
plt.show()
# Теплова карта (кореляція)
sns.heatmap(data[['x', 'y']].corr(), annot=True)
plt.show()Чому Seaborn? Робить складні статистичні візуалізації легкими та красивими.
5. Scikit-learn (sklearn): Машинне навчання 🤖
Що робить: Готові до використання алгоритми ML
Імпорт: from sklearn... (ми вивчимо конкретні імпорти пізніше)
Простий приклад:
from sklearn.linear_model import LinearRegression
# Дані для навчання (години навчання vs оцінка на іспиті)
hours = [[1], [2], [3], [4], [5]]
scores = [50, 60, 70, 80, 90]
# Створити та навчити модель
model = LinearRegression()
model.fit(hours, scores)
# Зробити прогноз
prediction = model.predict([[6]])
print(f"Якщо ви навчаєтесь 6 годин, прогнозована оцінка: {prediction[0]:.0f}")
# Вивід: 100Чому sklearn? Містить десятки алгоритмів ML, готових до використання. Ви будете використовувати це ДУЖЕ часто.
Слідкуйте за нашими статтями 📖
Тепер ви готові використовувати приклади коду з наших статей про якість даних та EDA!
Процес копіювання-вставки
Ось як використовувати код з наших статей:
- Прочитайте пояснення навколо блоку коду
- Скопіюйте весь блок коду
- Вставте в новий осередок у вашому ноутбуці Colab
- Запустіть (Shift+Enter)
- Прочитайте вивід і порівняйте зі статтею
- Експериментуйте! Змініть значення та подивіться, що станеться
Приклад зі статті про якість даних:
# Цей код перевіряє відсутні значення
import pandas as pd
data = pd.read_csv('your_file.csv') # ← Вам потрібен власний файл
missing = data.isnull().sum()
print(missing)Щоб це працювало:
- Вам потрібен CSV файл (завантажте зразкові датасети з Kaggle)
- Завантажте його в Colab: Натисніть іконку папки → Завантажити
- Змініть
'your_file.csv'на фактичну назву вашого файлу - Запустіть код
Розуміння ноутбуків Jupyter
Що таке осередки?
- Осередки коду: Містять код Python (має кнопку ▶)
- Текстові осередки: Містять текст markdown (пояснення)
Важливі концепції:
Порядок виконання осередків має значення!
Осередок 1: x = 10 ← Запустити першим
Осередок 2: print(x) ← Запустити другим (працює, виводить 10)
Осередок 3: print(y) ← Запустити перед визначенням y (ПОМИЛКА!)
Осередок 4: y = 20 ← Визначити y
Осередок 3 (знову): print(y) ← Тепер працюєКращі практики:
- Запускайте осередки по порядку (зверху вниз)
- Якщо отримуєте дивні помилки, перезапустіть: Runtime → Restart runtime
- Тримайте інструкції імпорту вгорі
- Додавайте коментарі, щоб пояснити ваші зміни
Поширені помилки та виправлення
Помилка 1: NameError: name 'pd' is not defined
Проблема: Ви не імпортували pandas
Виправлення:
import pandas as pdПомилка 2: FileNotFoundError: 'data.csv' not found
Проблема: Файл не існує або неправильний шлях
Виправлення:
- Завантажте файл у Colab
- Використовуйте точну назву файлу (з урахуванням регістру!)
- Або використовуйте URL:
pd.read_csv('https://...')
Помилка 3: ModuleNotFoundError: No module named 'seaborn'
Проблема: Бібліотека не встановлена
Виправлення:
!pip install seabornПомилка 4: KeyError: 'column_name'
Проблема: Стовпець не існує в DataFrame
Виправлення:
- Перевірте назви стовпців:
data.columns - Виправте опечатки в назві стовпця
- Перевірте зайві пробіли:
'name 'vs'name'
Помилка 5: SyntaxError: invalid syntax
Проблема: Python не розуміє ваш код
Виправлення:
- Перевірте відсутні двокрапки
: - Перевірте незакриті дужки
()або квадратні дужки[] - Перевірте відступи (пробіли на початку рядка)
Отримання допомоги
Коли ви застрягли:
-
Прочитайте повідомлення про помилку
- Останній рядок зазвичай говорить, що не так
- Загугліть повідомлення про помилку (знайдете відповіді на Stack Overflow)
-
Використовуйте вбудовану допомогу
help(pd.DataFrame) # Показати документацію data.head? # У Jupyter, ? показує допомогу -
Перевірте документацію
- Pandas: pandas.pydata.org/docs
- NumPy: numpy.org/doc
- Matplotlib: matplotlib.org
-
Запитайте спільноту
- Stack Overflow (спочатку пошукайте, більшість питань вже є відповіді!)
- r/learnpython (Reddit)
- Discord сервери Python
-
Використовуйте AI асистентів
- ChatGPT: “Поясни цю помилку Python…”
- GitHub Copilot (у вашому редакторі коду)
Практична вправа: Ваш перший справжній аналіз 🎯
Давайте об’єднаємо все, що ви вивчили!
Мета: Проаналізувати простий датасет та створити візуалізацію
Крок 1: Створити дані
import pandas as pd
import matplotlib.pyplot as plt
# Дані про продажі піци
pizza_sales = pd.DataFrame({
'день': ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Нд'],
'pizzas_sold': [120, 135, 128, 142, 210, 230, 180],
'revenue': [1560, 1755, 1664, 1846, 2730, 2990, 2340]
})
print("Дані завантажені!")
print(pizza_sales)Крок 2: Дослідити дані
# Базова статистика
print("\n📊 Статистика:")
print(pizza_sales.describe())
# Загальна кількість проданих піц цього тижня
total_pizzas = pizza_sales['pizzas_sold'].sum()
print(f"\nЗагалом продано піц: {total_pizzas}")
# Середній денний дохід
avg_revenue = pizza_sales['revenue'].mean()
print(f"Середній денний дохід: ${avg_revenue:.2f}")
# Найкращий день
best_day = pizza_sales.loc[pizza_sales['revenue'].idxmax(), 'день']
best_revenue = pizza_sales['revenue'].max()
print(f"Найкращий день: {best_day} (${best_revenue})")Крок 3: Створити візуалізації
# Продажі за днями
plt.figure(figsize=(12, 5))
# Графік 1: Продані піци
plt.subplot(1, 2, 1)
plt.bar(pizza_sales['день'], pizza_sales['pizzas_sold'], color='orange')
plt.title('Продані піци за днем')
plt.xlabel('День')
plt.ylabel('Кількість піц')
plt.xticks(rotation=45)
# Графік 2: Дохід
plt.subplot(1, 2, 2)
plt.plot(pizza_sales['день'], pizza_sales['revenue'], marker='o', linewidth=2, color='green')
plt.title('Дохід за днем')
plt.xlabel('День')
plt.ylabel('Дохід ($)')
plt.xticks(rotation=45)
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()Крок 4: Аналітичні питання
Відповідайте на них, використовуючи дані:
# 1. Яка ціна за піцу?
avg_price = pizza_sales['revenue'].sum() / pizza_sales['pizzas_sold'].sum()
print(f"Середня ціна за піцу: ${avg_price:.2f}")
# 2. Вихідні vs Будні
weekday_avg = pizza_sales.iloc[:5]['pizzas_sold'].mean()
weekend_avg = pizza_sales.iloc[5:]['pizzas_sold'].mean()
print(f"Середнє у будні: {weekday_avg:.0f} піц")
print(f"Середнє у вихідні: {weekend_avg:.0f} піц")
print(f"Підйом у вихідні: {((weekend_avg - weekday_avg) / weekday_avg * 100):.1f}%")
# 3. Знайти повільні дні (нижче середнього)
avg_sales = pizza_sales['pizzas_sold'].mean()
slow_days = pizza_sales[pizza_sales['pizzas_sold'] < avg_sales]
print(f"\nПовільні дні (нижче {avg_sales:.0f} піц):")
print(slow_days[['день', 'pizzas_sold']])🎉 Вітаємо!
Ви щойно:
- ✅ Завантажили та дослідили дані
- ✅ Обчислили статистику
- ✅ Створили кілька візуалізацій
- ✅ Відповіли на бізнес-питання за допомогою даних
Це саме те, що роблять дата-саєнтисти!
Шлях 2: Встановлення Python локально 💻
Коли встановлювати локально:
- Ви хочете працювати офлайн
- У вас великі датасети
- Вам потрібно більше контролю над середовищем
- Ви створюєте продакшн-додатки
Для цього курсу Colab підходить! Але ось як налаштувати локально:
Варіант А: Anaconda (Рекомендовано)
Anaconda включає Python + всі бібліотеки ML + ноутбуки Jupyter.
Завантажити: anaconda.com/download
Кроки:
- Завантажте інсталятор для вашої ОС (Windows/Mac/Linux)
- Запустіть інсталятор (займе 10-15 хвилин)
- Відкрийте “Anaconda Navigator”
- Натисніть “Launch” під Jupyter Notebook
- Браузер відкривається з Jupyter (працює як Colab!)
Плюси:
- Все включено
- Легко керувати
- Добре для початківців
Мінуси:
- Велике завантаження (3 ГБ)
- Включає багато бібліотек, які вам можуть не знадобитися
Варіант Б: Python + pip
Для досвідчених користувачів, які хочуть мінімальної установки:
- Завантажте Python з python.org
- Встановіть Python (позначте “Add to PATH”)
- Відкрийте термінал/командний рядок
- Встановіть бібліотеки:
pip install pandas numpy matplotlib seaborn jupyter scikit-learn - Запустіть Jupyter:
jupyter notebook
Віртуальні середовища (Просунутий рівень)
Що: Ізольовані середовища Python для різних проєктів
Чому: Запобігає конфліктам версій бібліотек
Як:
# Створити середовище
python -m venv ml_env
# Активувати (Windows)
ml_env\Scripts\activate
# Активувати (Mac/Linux)
source ml_env/bin/activate
# Встановити бібліотеки
pip install pandas numpy matplotlib seaborn scikit-learn
# Деактивувати після завершення
deactivateДля цього курсу: Вам це ще не потрібно. Почніть з Colab або Anaconda.
Швидка довідка 📋
Colab гарячі клавіші
Shift + Enter Запустити поточний осередок і перейти до наступного
Ctrl + Enter Запустити поточний осередок і залишитися
Ctrl + M B Вставити осередок нижче
Ctrl + M A Вставити осередок вище
Ctrl + M D Видалити осередок
Ctrl + M Z Скасувати видалення осередкаОсновні команди
# Завантаження даних
data = pd.read_csv('file.csv')
data = pd.read_excel('file.xlsx')
# Перевірка даних
data.head() # Перші 5 рядків
data.tail() # Останні 5 рядків
data.info() # Типи стовпців та підрахунки
data.describe() # Статистика
data.columns # Назви стовпців
data.shape # (рядки, стовпці)
# Відсутні значення
data.isnull().sum() # Підрахувати відсутні на стовпець
data.dropna() # Видалити рядки з відсутніми
data.fillna(value) # Заповнити відсутні значенням
# Вибір даних
data['column'] # Один стовпець
data[['col1', 'col2']] # Кілька стовпців
data[data['age'] > 25] # Фільтрувати рядки
# Базова статистика
data['column'].mean() # Середнє
data['column'].median() # Медіана
data['column'].std() # Стандартне відхилення
data['column'].min() # Мінімум
data['column'].max() # Максимум
# Побудова графіків
plt.plot(x, y) # Лінійний графік
plt.bar(x, y) # Стовпчикова діаграма
plt.scatter(x, y) # Діаграма розсіювання
plt.hist(data) # Гістограма
plt.show() # Показати графік