TGViewer
Интеллект в коде: Python, AI, Data Science Интеллект в коде: Python, AI, Data Science @ai_in_progress · 125 subscribers
Post #129 46
🎯 Как работает модель "Случайный лес"? Разбор кода и логики шаг за шагом 🌲🌲🌲

Привет, коллеги! 👋 Сегодня разберем, как обучить модель "Случайный лес" (Random Forest🌲) для классификации. Этот алгоритм отлично подходит для задач, где нужно учесть множество факторов и избежать переобучения. Давайте посмотрим на пример кода и разберем каждый этап!

1. Подготовка данных 📊
import pandas as pd
df = pd.read_csv('vehicles_dataset_prepared.csv')
df_prepared = df.copy()

➖Импорт данных: Загружаем данные из CSV-файла vehicles_dataset_prepared.csv с помощью библиотеки pandas.
➖Копирование датафрейма: Создаем копию данных, чтобы исходный датафрейм остался неизменным.

2. Разделение на признаки и целевую переменную 🎯
x = df_prepared.drop(['price_category'], axis=1)
y = df_prepared.price_category

➖Признаки (X): Удаляем столбец price_category (целевая переменная) из данных. Все остальные колонки — это признаки, на основе которых модель будет делать предсказания.
➖Целевая переменная (Y): Это именно то, что мы хотим предсказать — категория цены.

3. Разделение данных на тренировочные и тестовые 🧩
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=42)

➖train_test_split: Разбиваем данные на две части:
70% — тренировочные данные (x_train, y_train),
30% — тестовые данные (x_test, y_test).
➖random_state=42: Фиксируем "случайность" для воспроизводимости результатов.

4. Обучение модели "Случайный лес" 🌳🌳🌳
from sklearn.ensemble import RandomForestClassifier
rf_clf = RandomForestClassifier()
rf_clf.fit(x_train, y_train)

➖RandomForestClassifier: Создаем классификатор. По умолчанию используется 100 деревьев.
➖fit(): Модель обучается на тренировочных данных, анализируя взаимосвязи между признаками и целевой переменной.

5. Предсказания и оценка точности 📈
from sklearn.metrics import accuracy_score

predicted_train_rf = rf_clf.predict(x_train)
predicted_test_rf = rf_clf.predict(x_test)

print(accuracy_score(y_train, predicted_train_rf)) # Точность на тренировочных данных
print(accuracy_score(y_test, predicted_test_rf)) # Точность на тестовых данных

➖predict(): Модель делает предсказания для тренировочных и тестовых данных.
➖accuracy_score(): Считает долю правильных ответов. Например, если accuracy = 0.95, модель верно предсказала 95% случаев.

💡 Что важно заметить?
➖Если точность на тренировочных данных близка к 1 (например, 0.99), а на тестовых — значительно ниже, это признак переобучения*️⃣.
➖Случайный лес автоматически "усредняет" результаты множества деревьев, что снижает риск переобучения по сравнению с одним деревом.

*️⃣Признак переобучения — это когда модель демонстрирует почти идеальную точность на тренировочных данных (например, 99%), но значительно хуже работает на новых данных (например, 70% на тестовой выборке). Это происходит из-за того, что модель «запоминает» шумы и детали тренировочного набора вместо выявления общих закономерностей. 🌳➡️📉

⭐️Дальше обсудим как найти правильные параметры для модели

#МашинноеОбучение #DataScience #СлучайныйЛес #Переобучение #Классификация #ML
  • 🔥 3
  • ⚡ 1
  • 🤔 1
More from @ai_in_progress
  1. Mar 4, 2026Seedance 2.0 теперь стоит копейки. Официальные цены API вышли сегодня! ByteDance только чт…
  2. Mar 2, 2026🔥ГЛАВНЫЕ НОВОСТИ ИИ ЗА СЕГОДНЯ ➖Grok Imagine взорвал всех Новая фича Расширение от кадра…
  3. Mar 1, 2026Seedance 2.0 - модель, о которой сейчас говорят почти все, кто следит за развитием AI-виде…
  4. Feb 28, 2026Небольшое обновление формата канала📊 Изначально этот канал создавался исключительно для м…
  5. Feb 10, 2026Аналитический пайплайн: двигатель, который превращает данные в решения Вы слышали модное «…
  6. Feb 7, 2026С возвращением в мир данных! 🌐 Ваш канал по аналитике снова в активной фазе. Перерыв окон…
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 →