TGViewer
Channel Public Channel
Интеллект в коде: Python, AI, Data Science

Интеллект в коде: Python, AI, Data Science

@ai_in_progress

Обучаюсь Data Science и делюсь практикой: Python, аналитика данных, машинное обучение и новости AI.
Конспекты, разборы задач, примеры кода и свежие технологии, всё по делу и без «воды».
Для тех, кто идёт в AI от нуля к проектам.

Связь: @Ml_panda_user
Subscribers
125
Photos
195
Videos
22
Links
65

Showing posts older than #143 · Back to latest

Older Posts 11 shown
Post #142 57
В сети обнаружили мегашпаргалку с самыми полезными нейросетями на все случаи жизни.
  • 🔥 6
  • ❤ 1
  • 🤔 1
Post #141 54
24 модуль

📊 Что такое метрики в аналитике? Просто о сложном!
Привет, друзья! Сегодня разберемся с тем, что такое метрики и зачем они нужны в аналитике. Никакого занудства — только понятные примеры и жизненные сценарии!

1️⃣Что такое метрики?
Метрики — это цифровые показатели, которые помогают измерить эффективность чего угодно: от сайта до рекламной кампании.
👉 Проще говоря: это как градусник для бизнеса. Холодно (плохо) или жарко (отлично) — покажут цифры!
🎯 Пример: Если ваш интернет-магазин посещают 1000 человек в день, но покупают только 10 — это метрика. Она говорит: «Эй, тут что-то не так!»

2️⃣ Топ-3 метрик, которые нужно знать

📈 Конверсия (Conversion Rate)
Что это: Процент пользователей, которые выполнили нужное действие (купили, подписались, скачали).
Формула: (Количество целевых действий / Общий трафик) × 100%.
💡 Пример: Из 200 посетителей сайта 20 оформили заказ. Конверсия = 10%.
Зачем: Понять, насколько эффективно ваш сайт превращает гостей в клиентов.


📉 Bounce Rate (Показатель отказов)
Что это: Процент людей, которые ушли с сайта, не совершив никаких действий.
Формула: (Число «отскочивших» / Все посетители) × 100%.
💡 Пример: Блог привлек 500 читателей, но 300 закрыли страницу за 5 секунд. Bounce Rate = 60%.
Зачем: Выявить проблемы с контентом или дизайном («Слишком долго грузится? Или заголовок вводит в заблуждение?»).


▶️ CTR (Click-Through Rate)
Что это: Процент кликов по ссылке, баннеру или кнопке относительно показов.
Формула: (Клики / Показы) × 100%.
💡 Пример: Рекламный баннер показали 10 000 раз, а кликнули 200 человек. CTR = 2%.
Зачем: Оценить, насколько цепляет ваша реклама или email-рассылка.


Визуализация:
Дашборд — это интерактивная панель с ключевыми показателями бизнеса в виде графиков, диаграмм и таблиц.

Для чего используется:
➖Быстрый мониторинг состояния бизнес
➖Визуализация сложных данных
➖Принятие решений на основе актуальной информации
➖Автоматизация отчетности
Пример: дашборд в интернет-магазине показывает продажи, конверсию и источники трафика в реальном времени.

#аналитика #бизнес #данные
  • 👍 4
  • 🔥 3
  • 🤩 1
Post #140 64
🔥 Microsoft запускает бесплатные курсы по ИИ для всех.

Microsoft представила масштабную образовательную инициативу — AI Skills Fest, где каждый может бесплатно освоить навыки работы с ИИ. Программа подходит как новичкам, так и опытным специалистам — от основ ML до работы с Azure и Copilot.

Обучение доступно на 40+ языках, включая русский, а материалы разбиты на модули: введение в ИИ, CV, NLP и создание приложений. Участники, прошедшие курс, получат бейдж для LinkedIn и шанс выиграть один из 50 тысяч сертификационных ваучеров. GitHub также предлагает скидку 50% на экзамен по Copilot для тех, кто завершит их модуль.

Чтобы присоединиться, достаточно зарегистрироваться на сайте Microsoft и выбрать подходящий уровень сложности. Помимо основного блока, доступны хакатоны, форумы и самообучение в удобном темпе.

🟡 microsoft.com

#course #ai #ml #freeeducation
  • 👍 3
  • 🔥 1
Post #134 50
Топ-5 техник для ЖЁСТКОГО буста памяти — забудьте про «вылетело из головы»

Запоминаем как звери — вот методы, которые реально работают:

👽 Повторение по графику
Начинайте с ежедневного повторения, потом через день, затем раз в неделю. Мозг ловит ритм — и знания уходят в долгосрочную память.

🎃Пересказ без подсказок
Прочитали — перескажите своими словами. Это не только закрепляет материал, но и показывает, поняли вы что-то или просто прочитали мимо.

😽Ассоциации и привязка к пространству
Свяжите информацию с местом, действием или образом. Мозг активирует больше нейронных цепей — и вспоминает быстрее. Можно даже выделить дома «учебную зону», где мозг будет автоматически входить в режим концентрации.

🙀Делите на части
Разбейте материал на логические блоки. Вместо 12 цифр — три по четыре, вместо сложной темы — по главам и тезисам.

👋Визуализация
Сделайте схему, рисунок или метафору для каждой идеи. Чем ярче образ — тем прочнее память. Это способ дать мозгу визуальные якоря, которые держатся дольше текста.

Пробуйте вместе — и память станет вашей сильнейшей стороной.
  • 🔥 1
  • 👏 1
  • 😱 1
  • 🤨 1
  • 🫡 1
Post #132 57
📊 Линейная регрессия за 5 минут: как предсказывать числа?
Привет! 👋Сегодня разберем, что такое линейная регрессия — самый простой алгоритм машинного обучения. Никакой сложной математики, только суть!

Что это?
Линейная регрессия помогает предсказывать числа на основе других чисел. Например:
💰 Стоимость квартиры → от площади, этажа, количества комнат.
⏱ Время доставки пиццы → от расстояния до вашего дома.
Это как провести прямую линию через точки на графике, чтобы найти закономерность.

Как это работает?
1️⃣ Формула:
Прямая линия описывается уравнением:
y = k * x + b
➖x — то, от чего зависит результат (например, площадь квартиры).
➖y — то, что предсказываем (например, цена).
➖k — насколько сильно влияет x на y (например, +50 000 ₽ за каждый м²).
➖b — базовая величина (например, стоимость участка без дома).

2️⃣ Пример:
Допустим, квартиры продаются так:
➖50 м² → 5 млн ₽
➖70 м² → 6 млн ₽
Модель найдет: Цена = 50 000 * Площадь + 2 500 000.
→ Квартира 80 м² будет стоить 6.5 млн ₽.


Как модель учится?
Она подбирает k и b, чтобы ошибки (разница между предсказанием и реальностью) были минимальными.
Простая аналогия:
Представьте, что вы двигаете линейку на графике, пока расстояние от нее до всех точек не станет самым маленьким.
from sklearn.linear_model import LinearRegression

# Данные: площадь квартиры (X) и цена (y)
X = [[50], [70], [90]] # м²
y = [5_000_000, 6_000_000, 7_000_000] # ₽

# Обучаем модель
model = LinearRegression()
model.fit(X, y)

# Предсказываем цену для 80 м²
print(model.predict([[80]])) # Выведет ≈6 500 000 ₽


Итог
✅ Линейная регрессия — это провести линию через данные.
✅ Чем круче линия (k), тем сильнее влияние x на y.
✅ Используйте ее, чтобы предсказывать числа: цены, время, расходы.

#машинное_обучение #данные #анализ #для_новичков

Картинка 1: одна фича
Картинка 2: несколько фич
  • 🔥 6
  • 🤔 1
  • 🎉 1
Post #131 63
🌟 TripoSG и TripoSF — это новые модели генеративного ИИ для создания высококачественных 3D-моделей.

TripoSG 1.5B преобразует одиночные 2D-изображения (фото, эскизы, мультяшные картинки) в детализированные 3D-сетки (meshes).

TripoSF - это продвинутый инструмент: он работает с более сложными топологиями, создает высокое разрешение (до 1024³) и может моделировать даже внутренние детали объектов, например, сложные механизмы.

😶Как работают эти модели?
TripoSG использует rectified flow transformers (трансформеры с выпрямленным потоком). Это метод, который упрощает процесс генерации, соединяя данные и шум по прямой линии (в отличие от традиционных диффузионных моделей, где путь более сложный).
Дифференцируемое представление данных, которое позволяет экономить память при работе с высоким разрешением .

😶Данные для обучения: Модель обучена на специально подготовленном наборе данных из 2 миллионов пар "изображение-SDF" (SDF — signed distance function, функция, описывающая расстояние до поверхности объекта).

😶Процесс работы: Вы загружаете одно изображение (например, фото статуи или рисунок персонажа). Модель анализирует его, используя вариационный автоэнкодер (VAE) с геометрическим надзором, и генерирует 3D-сетку с высокой детализацией.

😶Результат: На выходе получаем 3D-модель, которую можно использовать в играх, анимации или 3D-печати.
TripoSF

Модель может обрабатывать сложные топологии (например, открытые поверхности или внутренние структуры) и обучена с использованием вокселей, учитывающих перспективу (frustum-aware voxels).

Tripo известны своим сотрудничеством со Stability AI. Ранее они выпустили TripoSR — модель для быстрой реконструкции 3D-объектов из одного изображения, которая тоже стала open-source. TripoSG и TripoSF — это более продвинутые версии, которые расширяют возможности 3D геенрацит: от простых объектов до сложных структур с высоким разрешением.
  • 🔥 5
  • 🤔 1
  • 🫡 1
Post #130 85
🌳 Что такое гиперпараметры?
Гиперпараметры — это настройки модели, которые задаются до начала обучения и управляют процессом обучения. Они не обучаются на данных (в отличие от параметров модели, например, весов нейросети), а подбираются вручную или автоматически.

Примеры гиперпараметров для Random Forest:
➖n_estimators — сколько деревьев будет в «лесу».
➖max_depth — насколько глубокими могут быть деревья.
➖min_samples_split — минимальное количество данных в узле для его разделения.

Их выбор влияет на:
*️⃣Скорость обучения.
*️⃣Точность модели.
*️⃣Риск переобучения/недообучения.

🔍 Разбор кода с RandomizedSearchCV
search = RandomizedSearchCV(
estimator=RandomForestClassifier(random_state=42), # 1. Какая модель обучается?
param_distributions=param_dist, # 2. Какие гиперпараметры перебирать?
n_iter=50, # 3. Сколько комбинаций проверить?
cv=5, # 4. Как проверять качество?
n_jobs=-1 # 5. Как использовать ресурсы?
)


Построчное объяснение
1️⃣estimator=RandomForestClassifier(random_state=42)

*️⃣estimator: Модель, которую мы настраиваем — RandomForestClassifier.

*️⃣random_state=42: Фиксирует случайность для воспроизводимости результатов (например, разбиение данных на тренировочные/тестовые).

2️⃣param_distributions=param_dist
*️⃣Словарь param_dist содержит гиперпараметры и их возможные значения, которые алгоритм будет случайно подбирать.

3️⃣n_iter=50
*️⃣Сколько случайных комбинаций гиперпараметров проверить. Например, 50 комбинаций из всех возможных вариантов в param_dist.

4️⃣cv=5
*️⃣Стратегия кросс-валидации: 5 фолдов (данные делятся на 5 частей, модель обучается на 4 и проверяется на 1, повторяя 5 раз). Это помогает оценить стабильность модели.

5️⃣n_jobs=-1
*️⃣Задействует все доступные ядра процессора для параллельных вычислений. Ускоряет поиск в разы!

Как это работает?
1️⃣Алгоритм случайно выбирает 50 комбинаций гиперпараметров из param_dist.
2️⃣Для каждой комбинации:
*️⃣Обучает модель на тренировочных данных.
*️⃣Проверяет её качество с помощью 5-фолдовой кросс-валидации.
3️⃣Выбирает комбинацию с наивысшей точностью (или другой метрикой).

Зачем это нужно?
➖Экономия времени: Перебор всех комбинаций (как в Grid Search) может занять дни, а Random Search проверяет только случайные варианты.
➖Эффективность: Часто находит хорошие гиперпараметры даже в многомерных пространствах.

👉 Совет: Всегда сохраняйте лучшие параметры через search.best_params_ и используйте их для финальной модели.
# Пример использования результатов
best_params = search.best_params_
final_model = RandomForestClassifier(**best_params, random_state=42)
final_model.fit(X_train, y_train)
  • 🔥 4
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
Post #128 56
🚀 Машинное обучение за 5 минут: как предсказать цену авто с помощью Python?

Привет, друзья! 👾 Сегодня разберем, как обучить модель машинного обучения на реальном примере.
Задача: предсказать категорию цены авто (дешевое/среднее/дорогое) на основе характеристик.

🔧 Код-лайфхак
# 1. Подготовка данных
df_prepared = df.copy() # Работаем с копией, чтобы не сломать исходник

# 2. Делим данные на "учебник" и "экзамен"
from sklearn.tree import DecisionTreeClassifier
x = df_prepared.drop('price_category', axis=1) # Удаляем целевую переменную из признаков
y = df_prepared['price_category'] # То, что предсказываем

# 3. Разделение с сохранением баланса (стратификация)
x_train, x_test, y_train, y_test = train_test_split(
x, y,
test_size=0.3,
random_state=42 # Чтобы результат был воспроизводим
)

# 4. Создаем "умное дерево" с защитой от переобучения
model = DecisionTreeClassifier( random_state=42)
model.fit(x_train, y_train) # Обучаемся на тренировочных данных

# 5. Проверяем точность
print(f"Точность на тесте: {accuracy_score(y_test, model.predict(x_test)):.2f}")

# 6. Обработка фичей с низкой важностью
# 6.1. Мы вычисляем важности фичей для обученной модели.
initial_importances = model.feature_importances_
# 6.2. Находим индексы тех фичей, важность которых равна нулю.
idx = np.where(initial_importances == 0)[0]
# np.where возвращает кортеж, поэтому [0] нужно, чтобы взять именно массив индексов.
# 6.3. Выбираем названия колонок
feature_to_drop = x_train.columns[idx].to_list()
# Используя индексы idx, выбираем названия колонок из x_train.
to_list() преобразует их в список.
# 6.4. Удаляем столбцы с нулевой важностью
x_train_reduced = x_train.drop(columns=feature_to_drop)
x_test_reduced = x_test.drop(columns=feature_to_drop)

# 7. Нужно переобучить модель
model = DecisionTreeClassifier( random_state=42)
model.fit(x_train_reduced, y_train)
  • 🔥 4
  • 🥰 1
  • 🤯 1
  • 🎉 1
Post #124 60
🚂 Train-test split: Как оценить качество модели машинного обучения?

Когда мы обучаем модель машинного обучения, важно понимать, насколько хорошо она справляется с задачей. Но как это сделать правильно? Ведь если оценивать модель на тех же данных, на которых она обучалась, результат может оказаться слишком оптимистичным.

Здесь на помощь приходит train-test split — метод разделения данных на две части: тренировочную и тестовую .

Как это работает?
1. Разделение данных :
Весь датасет делится на две выборки:
- Тренировочная (70-80%) : На этих данных модель учится.
- Тестовая (20-30%) : Эти данные используются для проверки качества модели.

Пример пропорций: 80/20 или 70/30. Главное — тестовая выборка должна быть достаточно большой, чтобы оценка была репрезентативной.

2. Случайный отбор :
Данные распределяются случайным образом, чтобы тестовая выборка отражала все возможные случаи из исходных данных.

3. Оценка качества :
После обучения модели на тренировочной выборке её "экзаменуют" на тестовой. Это позволяет понять, как модель справляется с данными, которые она раньше не видела.

Метрики качества
Чтобы оценить, насколько хорошо работает модель, используют различные метрики. Одна из самых простых — точность (accuracy) .

Точность (accuracy)
Это отношение правильных прогнозов к общему количеству прогнозов:

Accuracy = Количество правильных предсказаний / Общее количество предсказаний

Пример кода:
from sklearn.metrics import accuracy_score

# true_label — истинные метки, pred_label — предсказания модели
accuracy = accuracy_score(true_label, pred_label)
print(f"Точность модели: {accuracy:.2f}")


Матрица ошибок (Confusion Matrix)
Если задача классификации имеет два класса (например, 0 и 1), то оценить качество можно с помощью матрицы ошибок . Это таблица, которая показывает, сколько раз модель правильно или неправильно предсказала каждый класс.

Четыре ключевых показателя:
➖True Positive (TP) : Элементы, верно предсказанные как положительный класс (класс 1).
➖True Negative (TN) : Элементы, верно предсказанные как отрицательный класс (класс 0).
➖False Positive (FP) : Элементы, предсказанные как положительный класс, но на самом деле относящиеся к отрицательному.
➖False Negative (FN) : Элементы, предсказанные как отрицательный класс, но на самом деле относящиеся к положительному.

Пример кода:
from sklearn.metrics import confusion_matrix

# Строим матрицу ошибок
matrix = confusion_matrix(true_label, pred_label)
print("Матрица ошибок:")
print(matrix)


Почему это важно?
➖Train-test split помогает избежать переобучения модели. Переобученная модель отлично работает на тренировочных данных, но плохо обобщает новые данные.
➖Матрица ошибок позволяет глубже понять, где именно модель ошибается. Например, много ложноположительных результатов (FP) может говорить о том, что модель слишком агрессивно предсказывает положительный класс.

#MachineLearning #DataScience #TrainTestSplit #ConfusionMatrix
  • 🔥 4
  • 👍 3
  • 🫡 1
Post #123 54
🚀 Переход на новую фазу CRISP-DM: этап моделирования в действии!
Всем привет, коллеги! Сегодня речь пойдет о том, как мы переходим к этапу моделирования в процессе CRISP-DM — ключевому шагу, где теория превращается в работающую ML-модель.


Что такое этап моделирования?
Это фаза, где ML-инженеры создают и обучают модели, используя данные и знания из предыдущих этапов (например, обработанные данные из Data Preparation ). Цель — научить машину решать задачу без явного программирования , опираясь на исторические данные.

Задачи ML-инженера на этом этапе:
1️⃣ Определить метрику качества :
* Как измерить, насколько хорошо модель работает?
Примеры: accuracy для классификации, RMSE для регрессии или F1-score для несбалансированных данных.
Важно : метрика должна отражать бизнес-цель (например, уменьшение оттока клиентов или повышение конверсии).


2️⃣ Выбрать метод обучения :
➖Линейные модели, деревья решений, нейронные сети или ensemble-методы?
➖Зависит от типа задачи (классификация, регрессия, кластеризация) и особенностей данных.

3️⃣ Обучить модель :
➖Используем данные из предыдущих этапов, разбиваем их на обучающую и тестовую выборки.
➖Настройка гиперпараметров (например, глубину дерева или скорость обучения).

4️⃣ Проверить качество :
➖Вычисляем выбранную метрику на тестовой выборке.
➖Если результат не устраивает — возвращаемся к шагу 2 или 3 (итеративный процесс!).

5️⃣ Выбрать лучшую модель :
➖Сравниваем варианты и выбираем ту, которая лучше всего соответствует критериям качества.

ML-инженер vs. Data-аналитик: в чем разница?
Data-аналитик :
➖Работает с бизнес-метриками, создает дашборды и отчеты.
➖Отвечает на вопросы: «Почему клиенты уходят?» или «Как изменится прибыль?» .
Результат: предиктивные модели или визуализации для принятия решений.

ML-инженер :
➖Фокусируется на технической реализации: детектирование аномалий, сегментация или предсказание.
➖Создает готовые ML-модели , которые интегрируются в приложения или системы.
Результат: рабочая модель , которая решает конкретную задачу (например, рекомендательная система).

#CRISP_DM #ML_ENGINEERING #DATA_SCIENCE
  • 🔥 4
  • 🫡 1
Older posts →
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 →