Добавить в корзинуПозвонить
Найти в Дзене
Анастасия Софт

🧠 Машинное обучение для обычных людей. 🔹 Часть 1: Что такое машинное обучение на пальцах

"Машинное обучение? Это как магия, но с питоном вместо волшебной палочки."
— кто-то с кофе в руках и багом в голове Что вообще такое машинное обучение? Если по-простому: машинное обучение (ML) — это способ научить компьютер делать что-то без явного программирования. То есть, не писать: if температура > 30:
напиши("На улице жарко") А сказать компьютеру: "Вот тебе куча данных о погоде и людских реакциях, научись сам понимать, когда жарко". И он научится. Компьютер сам строит модель (математическую), на основе которой принимает решения. Всё это — машинное обучение. А теперь — не просто теория, а пять реальных задач, от простого к сложному. Все на Python, с пояснениями каждой строки. Начнём с самого лайтового. У нас есть список продуктов и их калорийность. Надо научить модель предсказывать калории нового продукта. from sklearn.feature_extraction.text import CountVectorizer
from sklearn.linear_model import LinearRegression
# 1. Наши данные: продукты и их калории
products = ["яблоко",
Оглавление
Что такое машинное обучение на пальцах
Что такое машинное обучение на пальцах

"Машинное обучение? Это как магия, но с питоном вместо волшебной палочки."

— кто-то с кофе в руках и багом в голове

📍 Начнём с самого начала.

Что вообще такое машинное обучение?

Если по-простому: машинное обучение (ML) — это способ научить компьютер делать что-то без явного программирования. То есть, не писать:

if температура > 30:
напиши("На улице жарко")

А сказать компьютеру: "Вот тебе куча данных о погоде и людских реакциях, научись сам понимать, когда жарко". И он научится.

Компьютер сам строит модель (математическую), на основе которой принимает решения. Всё это — машинное обучение.

🔧 Как это работает?

  1. Собираем данные
  2. Обрабатываем их
  3. Обучаем модель
  4. Проверяем, хорошо ли она работает
  5. Используем в реальных задачах

А теперь — не просто теория, а пять реальных задач, от простого к сложному. Все на Python, с пояснениями каждой строки. Начнём с самого лайтового.

🧁 Пример 1: Угадай калорию по названию продукта (наивно, но весело)

Задача:

У нас есть список продуктов и их калорийность. Надо научить модель предсказывать калории нового продукта.

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.linear_model import LinearRegression

# 1. Наши данные: продукты и их калории
products = ["яблоко", "шоколад", "огурец", "бургер", "банан"]
calories = [52, 546, 16, 295, 89]

# 2. Преобразуем слова в числа (машины не понимают текст)
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(products)

# 3. Создаём модель линейной регрессии
model = LinearRegression()

# 4. Обучаем модель
model.fit(X.toarray(), calories)

# 5. Пробуем предсказать калории
test = vectorizer.transform(["пицца"])
prediction = model.predict(test.toarray())

print(f"Пицца по мнению модели содержит примерно {prediction[0]:.0f} ккал.")

👉 Комментарий: Модель пока глуповата — она просто смотрит на буквы в слове. Но для начала — сойдёт!

🧪 Пример 2: Определяем, спам ли письмо

Задача:

Получаем текст письма и хотим понять — это спам или нет.

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB

# 1. Примеры писем и их метки: 1 — спам, 0 — не спам
emails = [
"Вы выиграли 1 000 000 рублей",
"Привет, как дела?",
"Купите сейчас и получите подарок!",
"Давайте встретимся в пятницу",
"Срочно! Вы должны это увидеть"
]
labels = [1, 0, 1, 0, 1]

# 2. Векторизация текста
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(emails)

# 3. Обучение модели
model = MultinomialNB()
model.fit(X, labels)

# 4. Тестирование
test_email = "Получите подарок прямо сейчас"
test_vector = vectorizer.transform([test_email])
result = model.predict(test_vector)

print("СПАМ" if result[0] == 1 else "НЕ СПАМ")

👉 Комментарий: Простая модель, но уже вполне рабочая. Используется на практике в антиспам-фильтрах.

📊 Пример 3: Предсказываем цену квартиры (для аналитиков)

Задача:

Предсказывать цену на квартиру по количеству комнат, этажу и площади.

import pandas as pd
from sklearn.linear_model import LinearRegression

# 1. Пример данных
data = {
"rooms": [1, 2, 3, 2, 4],
"floor": [1, 3, 5, 2, 10],
"area": [35, 50, 70, 45, 90],
"price": [3.5, 5.0, 7.5, 4.8, 9.0] # миллионы рублей
}
df = pd.DataFrame(data)

# 2. Подготовка признаков и целевой переменной
X = df[["rooms", "floor", "area"]]
y = df["price"]

# 3. Модель
model = LinearRegression()
model.fit(X, y)

# 4. Прогноз
new_flat = [[2, 4, 55]]
prediction = model.predict(new_flat)
print(f"Прогнозируемая цена: {prediction[0]:.2f} млн рублей")

👉 Комментарий: Линейная регрессия — классика. Удивительно, насколько много можно предсказать с её помощью.

🕹️ Пример 4: Играем в угадай число с нейросетью (немного фана)

Задача:

Модель пытается научиться угадывать число от 0 до 100 по подсказкам "меньше/больше".

(Это полуигровой пример — покажу основу в следующей части, здесь пока идею.)

🧠 Пример 5: Распознавание рукописных цифр (ближе к реальному ML)

Задача:

Обучаем модель распознавать цифры 0-9 по изображениям. Используем датасет MNIST.

from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# 1. Загружаем изображения цифр
digits = load_digits()
X = digits.data # Пиксели (64 признака)
y = digits.target # Цифры (0-9)

# 2. Делим на тренировку и тест
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 3. Обучаем модель случайного леса
model = RandomForestClassifier()
model.fit(X_train, y_train)

# 4. Тестируем
y_pred = model.predict(X_test)
print("Точность:", accuracy_score(y_test, y_pred))

👉 Комментарий: Это уже ближе к настоящим нейросетям. Хотя и не Deep Learning, но результат очень достойный!

💡 Подведём итоги

Машинное обучение — это не магия, а просто умная статистика. Даже без сложной математики вы уже можете:

  • Научить модель определять спам
  • Предсказывать цены
  • Узнавать цифры
  • И просто играть с текстами

🤔 А что дальше?

Если тебе понравилось — жми "сохранить", делись с другом или пиши мне, если остались вопросы.
"Часть 2: Как работает ML на Python".