Статьи на тему data science, machine learning, big data, python, математика, нейронные сети, искусственный интеллект (artificial intelligence) Англоязычный канал по DS и Machinelearning -https://t.me/ds_international По сотрудничеству - @g_abashkin
👩💻 Напишите функцию для расчёта Accuracy вручную
В машинном обучении Accuracy — это метрика качества классификации. Показывает, сколько предсказаний модель сделала правильно.
Решение задачи🔽
def accuracy_score(y_true, y_pred):Читать полностью…
correct = 0
for true, pred in zip(y_true, y_pred):
if true == pred:
correct += 1
return correct / len(y_true)
# Пример использования:
y_true = [1, 0, 1, 1, 0, 1]
y_pred = [1, 0, 0, 1, 0, 1]
print(accuracy_score(y_true, y_pred)) # 0.833...
👩💻 Предсказание цены дома по площади
Построить сверточную нейронную сеть (CNN) для классификации изображений из набора данных CIFAR-10.
Модель должна предсказывать класс объекта на изображении. Датасет CIFAR-10 содержит 60,000 изображений размером 32x32 пикселя, разделенных на 10 классов:
— Самолет, Автомобиль, Птица, Кот, Олень, Собака, Лягушка, Лошадь, Корабль, Грузовик.
Требования к модели:
• Использовать сверточные слои для выделения признаков.
• Применить слои подвыборки (пулинг) для уменьшения размеров карты признаков.
• Добавить полносвязные слои для классификации на основе выделенных признаков.
• Использовать функцию активации ReLU для скрытых слоев и softmax для выходного слоя.
• Оценить точность модели на тестовых данных.
Входные данные: изображения размера 32x32 с тремя каналами (RGB).
Решение задачи🔽
import tensorflow as tfЧитать полностью…
from tensorflow.keras.datasets import cifar10
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
# Загрузка данных
(X_train, y_train), (X_test, y_test) = cifar10.load_data()
# Нормализация данных
X_train, X_test = X_train / 255.0, X_test / 255.0
# Создание модели CNN
model = Sequential([
Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
MaxPooling2D((2, 2)),
Conv2D(64, (3, 3), activation='relu'),
MaxPooling2D((2, 2)),
Flatten(),
Dense(128, activation='relu'),
Dense(10, activation='softmax')
])
# Компиляция модели
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
# Обучение модели
model.fit(X_train, y_train, epochs=10, validation_data=(X_test, y_test))
# Оценка модели
loss, accuracy = model.evaluate(X_test, y_test)
print(f"Точность модели: {accuracy:.2f}")
🧠 Создаем свой RAG: введение в LangGraph
В статье объясняют, что такое RAG и как использовать LangGraph для генерации с дополненной выборкой: основы, примеры и подготовка к созданию собственных RAG-систем.
Читать...
❓ Как работает метод feature_importances_ в Python и зачем он нужен в Machine Learning?
Метод feature_importances_
— это атрибут некоторых моделей машинного обучения в библиотеке scikit-learn, который позволяет определить, какие признаки (фичи) наиболее влияют на предсказания модели.
Этот метод возвращает значение важности для каждого признака, показывая, как сильно он влияет на конечный результат. Его использование особенно полезно для деревьев решений и ансамблевых моделей, таких как RandomForest
и GradientBoosting
.
➡️ В примере ниже мы используем RandomForest
для анализа важности признаков и визуализации результатов.
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
import pandas as pd
# Загрузка данных
data = load_iris()
X, y = data.data, data.target
# Создание и обучение модели
model = RandomForestClassifier()
model.fit(X, y)
# Получение и визуализация важности признаков
feature_importances = pd.Series(model.feature_importances_, index=data.feature_names)
feature_importances.sort_values(ascending=False).plot(kind='bar')
🗣 Использование feature_importances_ помогает определить, какие признаки стоит использовать, исключить малозначимые фичи и сделать модель более интерпретируемой.
📈 Подборка статей для вашей карьеры
• «Снова упала?» Как поднять самооценку и зачем мы сравниваем себя с другими, даже если от этого больно
• Из учителя в QA: мой путь в IT
• Рынок дата-инженеров и прогноз на 2025
• Как сделать резюме, которое дойдёт до работодателя. Фильтры ATS в 2025 году
• Ошибайся смело: жизненные уроки из мира machine learning
🚀 Правда или нет, что Google победил Cursor?
В статье сравнивают два AI-инструмента для разработки: Firebase Studio от Google и Cursor от Anysphere. Кто круче — облачная платформа или интегрированный редактор?
Читать...
➡️ Самые интересные статьи за последние дни:
• Эксперимент: даём ChatGPT полный доступ к компьютеру
• Правильный путь создания python-библиотеки: от создания до публикации
• Запускаем Yolo на пятирублёвой монете или Luckfox Pico Mini
• Более мощное семейство моделей YandexGPT 4: рост качества ответов, длинный контекст, пошаговые рассуждения
• Как мы обучили Mistral 7B русскому языку и адаптировали для объявлений Авито
☁️ Как обучить ИИ в облаке
Сегодня мы хотим поделиться с вами нашим успешным кейсом, который наглядно демонстрирует, как облачные технологии могут значительно улучшить и ускорить процессы разработки и обучения ИИ.
Читать...
🧑🏻💻Как улучшить точность рекомендаций в своих проектах?
На открытом вебинаре 12 мая в 20:00 МСК вы узнаете, как работает обучение ранжированию, что такое функции потерь и как они влияют на качество рекомендаций. Понимание этих функций — ключ к эффективному предсказанию предпочтений пользователей.
Освойте практику на реальных данных с использованием модели BPRMF и получите ценные знания, которые помогут улучшить ваши результаты.
⚡️Присоединяйтесь к открытому уроку и получите скидку на программу обучения «Рекомендательные системы»: https://otus.pw/BECI8/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, erid: 2VtzqxFS5mV
📨 Пример использования программы для парсинга e-mail адресов с сайтов, созданный ИИ
Сегодня делимся программой для парсинга e-mail с сайтов, созданной за 30 минут с помощью ИИ от Rokitok. Это показывает, как ИИ ускоряет задачи, на которые раньше уходили дни или большие бюджеты.
Читать...
👩💻 Задачка по Python
Создайте Python-приложение, которое принимает набор данных с несколькими признаками и определяет наиболее важные признаки для предсказания целевой переменной с помощью модели RandomForest
. Программа должна выводить результаты в виде списка признаков, отсортированных по важности.
➡️ Пример:
• python app.py data.csv
— выводит важные признаки.
Решение задачи ⬇️
import pandas as pdЧитать полностью…
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
def feature_importance(file):
data = pd.read_csv(file)
X = data.drop(columns=['target'])
y = data['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = RandomForestClassifier()
model.fit(X_train, y_train)
importance = pd.Series(model.feature_importances_, index=X.columns).sort_values(ascending=False)
print("Важные признаки:\n", importance)
if __name__ == "__main__":
import sys
if len(sys.argv) != 2:
print("Использование: python app.py <файл.csv>")
else:
feature_importance(sys.argv[1])
True Tech Day 2025 — фестиваль технологий для ИТ-специалистов
6 июня в Москве соберутся эксперты из ведущих ИТ-компаний, чтобы обсудить кейсы внедрения ИИ в бигтехах и будущее разработки.
В программе:
— 40+ спикеров и 4 трека докладов об AI&ML, науке, архитектуре, облачных технологиях и бэкенд-разработке;
— большой разговор о трансформации профессий и ИИ-революции;
— взгляд на ИИ со стороны науки и бизнеса: тренды 2025 года;
— опыт применения ИИ от зарубежных ИТ-экспертов;
— нетворкинг и мастер-классы.
Участвуй очно или онлайн, обменивайся опытом и знакомься с ведущими специалистами со всей страны.
Ждем тебя и коллег 6 июня в МТС Live Холл.
Участие бесплатное, но офлайн-места ограничены. Регистрируйтесь по ссылке: https://truetechday.ru/
👩💻 Предсказание цены дома по площади
Напишите модель линейной регрессии, которая будет предсказывать цену дома на основе его площади в квадратных метрах.
Сгенерируйте искусственные данные, обучите модель и сделайте предсказание для нового значения.
Решение задачи🔽
import numpy as npЧитать полностью…
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
# Генерация данных
np.random.seed(0)
area = np.random.randint(30, 150, size=100).reshape(-1, 1) # площадь от 30 до 150 м²
price = area * 1000 + np.random.normal(0, 10000, size=area.shape) # цена с шумом
# Обучение модели
model = LinearRegression()
model.fit(area, price)
# Предсказание
new_area = np.array([[100]])
predicted_price = model.predict(new_area)
print(f"Ожидаемая цена дома 100 м²: {predicted_price[0][0]:,.0f}₽")
# Визуализация
plt.scatter(area, price, label='Данные')
plt.plot(area, model.predict(area), color='red', label='Линейная модель')
plt.xlabel('Площадь (м²)')
plt.ylabel('Цена (₽)')
plt.legend()
plt.show()
⚙️ Бинарная классификация одним простым искусственным нейроном. Личный опыт
Статья о том, как я обучал один простой искусственный нейрон проводить бинарную классификацию линейно-разделимого множества объектов. Рассуждения, результаты, выявленные особенности.
Читать...
🌞 Как мы учили Алису видеть мир с помощью мультимодальной нейросети Яндекса
В статье рассказывают, как в Яндексе развивали мультимодальную нейросеть для Алисы: от первых шагов в поиске по картинкам до живого распознавания объектов через камеру
Читать...
🤔 Выбираем MLOps инструменты с учётом зрелости команды
В статье разбирают, как выбрать MLOps-инструменты под уровень зрелости команды: почему решений много, но не все подходят, и как не утонуть в многообразии вариантов.
Читать...
🌱 Не бойся признавать, что чего-то не знаешь
Легко притворяться экспертом и искать решение вслепую, но это затягивает процесс и создаёт ложное впечатление о твоих знаниях.
👉 Совет: если не знаешь ответа — так и скажи. Вопросы — не признак слабости, а стремления разобраться. Более того, честность повышает доверие в команде. Никто не знает всего — даже опытные разработчики иногда гуглят основы.
➡️ Как Duolingo юзает машинное обучение для прокачки английского: кратко и по делу
В статье рассказывают, как ИИ сделал Duolingo фабрикой языковых курсов: генерация контента, проверка ответов, адаптация заданий — всё на автомате. Учить стало быстрее.
Читать...
🧠 Распознавание орхоно-енисейских рунических надписей методами машинного обучения
В статье рассказывают о расшифровке орхоно-енисейских рун: древние тексты на камне, трудности интерпретации и идеи автоматизации для точности и скорости анализа.
Читать...
🔎 Подборка вакансий для сеньоров
Senior Data Scientist (Recommender Systems)
🟢Python, PyTorch, PySpark, ClickHouse, Jenkins, Airflow, ONNX
🟢от 5 000 до 6 500 € | 3–6 лет
Senior Data Analyst - BI Developer
🟢SQL, Power BI, Python, DataLens, Jupyter
🟢Уровень дохода не указан | 3–6 лет
Senior Data Engineer
🟢SQL, Python, GreenPlum, ClickHouse, Kafka, RabbitMQ, Docker, Kubernetes, Scala, Java
🟢Уровень дохода не указан | более 6 лет
Вебинар по техническому анализу финансовых рынков 📊
Приглашаем Data Scientist’ов, разработчиков и аналитиков данных на бесплатный вебинар 14 мая, начало в 18:00 мск.
🔍 На вебинаре вы научитесь анализировать графики и применять ключевые индикаторы для прогнозирования. Освоите типы графиков, тренды, паттерны и важнейшие технические индикаторы, такие как MA, MACD, RSI и многие другие.
Урок поможет вам повысить точность ваших торговых решений, используя надежные методы анализа.
Запишитесь на открытый урок и получите скидку на большой онлайн-курс «ML для финансового анализа»: https://vk.cc/cLJ4fQ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👩💻 Задачка по Python
Создайте Python-приложение, которое принимает путь к CSV-файлу с историческими данными о ценах акций (дата, цена закрытия) и предсказывает, будет ли цена акций расти или падать на следующий день, используя простую линейную регрессию. Программа должна выводить прогноз в консоль и сохранять модель в файл model.pkl
.
➡️ Пример:
• python app.py predict_stock prices.csv
— предсказывает изменение цены акций на следующий день.
Решение задачи ⬇️
import sysЧитать полностью…
import pandas as pd
from sklearn.linear_model import LinearRegression
import pickle
def predict_stock(file):
data = pd.read_csv(file)
X = data.index.values.reshape(-1, 1)
y = data['Close'].values
model = LinearRegression()
model.fit(X, y)
next_day = [[len(X)]]
prediction = model.predict(next_day)
with open('model.pkl', 'wb') as f:
pickle.dump(model, f)
print(f'Прогноз на следующий день: {"Рост" if prediction > y[-1] else "Падение"}')
if __name__ == "__main__":
if len(sys.argv) != 3 or sys.argv[1] != 'predict_stock':
print('Использование: python app.py predict_stock <файл.csv>')
else:
predict_stock(sys.argv[2])
🔎 Подборка вакансий для мидлов
Middle Data Analyst
🟢SQL, Python, Power BI, Tableau, FineBI
🟢Уровень дохода не указан | 1–3 года
Аналитик данных / Data Analyst
🟢SQL, Python, Apache Airflow, Clickhouse, Jupyter, Git, DataLens
🟢от 150 000 до 300 000 ₽ | 3–6 лет
Data Scientist (Ranking&Search)
🟢Python, PySpark, Hive, SQL, PyTorch, CatBoost, Airflow, Docker, Hadoop
🟢Уровень дохода не указан | 3–6 лет
❓ Как обработать пропущенные данные?
Пропущенные данные — частая проблема в Data Science, особенно в реальных данных. Чтобы правильно обработать такие данные, можно использовать стратегии заполнения пропусков (например, средним значением или медианой) или удалить строки/столбцы с пропусками.
➡️ Пример:
import pandas as pd
import numpy as np
data = {'A': [1, 2, np.nan, 4], 'B': [5, np.nan, 7, 8]}
df = pd.DataFrame(data)
# Заполнение пропусков средним значением
df['A'].fillna(df['A'].mean(), inplace=True)
print(df)
🗣️ Пропущенные данные могут искажать результаты анализа, поэтому их нужно обрабатывать перед моделированием.Читать полностью…
➡️ Что такое технология TTS, как устроена и каких сферах используется синтез речи
Вместе с Григорием Стерлингом, лидом команды TTS в SberDevices, разбираемся, как устроена технология, как разрабатывают синтезаторы речи и что нужно знать, чтобы работать в этой сфере.
Читать...
👩💻 Линейная регрессия и её регуляризация в Scikit-learn
Линейная регрессия — это метод обучения с учителем, который предсказывает значение y на основе признаков X. Основное допущение — линейная зависимость y от Xi, что позволяет оценить y через математическое выражение.
Читать...
🔥 Самые интересные статьи за последние дни:
• Не бойтесь потоков в Python, они не кусаются
• Рубрика: VPS на пределе возможностей. LLM на CPU с 12Gb RAM
• Предвзятость русскоязычных LLM: кого машина считает «обычным человеком»?
• Семантический веб: краткий обзор технологий и инструментов
• Инструмент обеспечения качества данных: от теории к практике
⚙️ Чёрный ящик раскрыт: как инъекция промта заставляет ИИ говорить всё и вытягивает системный запрос
В статье показывают, как HiddenLayer обошли защиту топовых ИИ-моделей с помощью хитрой промт-инъекции и получили доступ к запрещённым темам и внутренним системным промтам.
Читать...
🧩 Строй собственную «библиотеку решений»
Каждый раз искать, как настроить nginx или написать paginated API — это трата энергии.
👉 Совет: собирай свои удачные решения в одном месте: фрагменты кода, полезные настройки, готовые сниппеты. Через пару месяцев ты получишь личную базу готовых решений, которая будет экономить тебе часы работы на каждом проекте.
🤔Машинное обучение и криптография: знакомимся с CipherGAN
В этой статье мы рассмотрим генеративно‑состязательную сеть CipherGAN, используемую для определения базового шифровального отображения по банкам непарного зашифрованного текста и открытого текста.
Читать...