Data Science | Machinelearning [ru]
17.9K subscribers
459 photos
14 videos
29 files
3.32K links
Статьи на тему data science, machine learning, big data, python, математика, нейронные сети, искусственный интеллект (artificial intelligence)

По вопросам рекламы или разработки - @g_abashkin

РКН: https://vk.cc/cJPGXD
Download Telegram
👩‍💻 Задачка по 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])
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
🚀 Правда или нет, что Google победил Cursor?

В статье сравнивают два AI-инструмента для разработки: Firebase Studio от Google и Cursor от Anysphere. Кто круче — облачная платформа или интегрированный редактор?

Читать...
👍41👎1
🔎 Подборка вакансий для сеньоров

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 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🧠 Распознавание орхоно-енисейских рунических надписей методами машинного обучения

В статье рассказывают о расшифровке орхоно-енисейских рун: древние тексты на камне, трудности интерпретации и идеи автоматизации для точности и скорости анализа.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥82
Как работает метод 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_ помогает определить, какие признаки стоит использовать, исключить малозначимые фичи и сделать модель более интерпретируемой.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍6
➡️ Как Duolingo юзает машинное обучение для прокачки английского: кратко и по делу

В статье рассказывают, как ИИ сделал Duolingo фабрикой языковых курсов: генерация контента, проверка ответов, адаптация заданий — всё на автомате. Учить стало быстрее.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
8
🧠 Создаем свой RAG: введение в LangGraph

В статье объясняют, что такое RAG и как использовать LangGraph для генерации с дополненной выборкой: основы, примеры и подготовка к созданию собственных RAG-систем.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥1
🌱 Не бойся признавать, что чего-то не знаешь

Легко притворяться экспертом и искать решение вслепую, но это затягивает процесс и создаёт ложное впечатление о твоих знаниях.

👉 Совет: если не знаешь ответа — так и скажи. Вопросы — не признак слабости, а стремления разобраться. Более того, честность повышает доверие в команде. Никто не знает всего — даже опытные разработчики иногда гуглят основы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73😁2
👩‍💻 Предсказание цены дома по площади

Построить сверточную нейронную сеть (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}")
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5👍31
🤔 Выбираем MLOps инструменты с учётом зрелости команды

В статье разбирают, как выбрать MLOps-инструменты под уровень зрелости команды: почему решений много, но не все подходят, и как не утонуть в многообразии вариантов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
3
👩‍💻 Напишите функцию для расчёта 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...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🧠 Языковые модели против мошенников: как LLM помогают бороться с отмыванием денег и финансовым мошенничеством

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
3
👩‍💻 Постройте простую модель классификации с использованием scikit-learn

Создайте модель на датасете Iris, обучите классификатор KNeighborsClassifier и сделайте предсказание. Это классическая задача для первых шагов в машинном обучении.

Решение задачи🔽

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

# Загружаем данные
iris = load_iris()
X, y =
iris.data, iris.target

# Делим на обучающую и тестовую выборки
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# Обучаем модель
model = KNeighborsClassifier(n_neighbors=3)
model.fit(X_train, y_train)

# Предсказание
y_pred = model.predict(X_test)

# Оценка качества
print(f"Точность: {accuracy_score(y_test, y_pred):.2f}")
Please open Telegram to view this post
VIEW IN TELEGRAM
2
🔎 Подборка вакансий для джунов

Младший специалист по анализу данных / Junior Data Scientist
🟢Python, R, Математическая статистика, Регрессионный анализ
🟢Уровень дохода не указан | 1–3 года

Data Analyst (Junior)
🟢SQL, Python, A/B тесты, BI, ML Base, EDA
🟢от 70 000 ₽ | Без опыта

Junior Data Specialist
🟢SQL, Excel, ETL, DWH, Power BI, Tableau, Google Data Studio
🟢от 70 000 до 90 000 ₽ | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
1
⚙️ Model Context Protocol (MCP): как подружить нейросети со всеми API за пару кликов

В статье рассказывают, как новый протокол MCP от Anthropic стандартизирует взаимодействие LLM-агентов с сервисами и друг с другом. Грядёт эпоха упорядоченного ИИ-хаоса.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👩‍💻 Чем отличается метод .transform() от .apply() в pandas?

В pandas методы .transform() и .apply() часто используются для обработки данных по столбцам и строкам, но они работают по-разному. Метод .apply() применяет функцию к каждому элементу или ряду, и возвращает объект любой формы (например, DataFrame или Series). В отличие от него, .transform() применяет функцию к каждой ячейке или группе и возвращает объект той же формы, что и входной.

➡️ Пример:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [10, 20, 30]})

# Используем .apply() для вычисления суммы по столбцам
print(df.apply(sum)) # Вернет Series с суммами столбцов

# Используем .transform() для нормализации каждого значения в столбце
print(df.transform(lambda x: (x - x.mean()) / x.std()))
# Вернет DataFrame с нормализованными значениями


🗣 .apply() подходит для сложных операций и агрегаций, а .transform() удобно использовать для обработки данных с сохранением исходной структуры.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
🔎 Подборка вакансий для мидлов

Middle/Senior Data Scientist в команду ETA/RTA
🟢Python, SQL, Pandas, Scikit-learn, XGBoost, LightGBM, CI/CD, Docker
🟢Уровень дохода не указан | 3–6 лет

Middle ML Engineer
🟢Python, Go, SQL, PyTorch, TensorFlow, Airflow, Triton Inference Server, Docker, Kubernetes
🟢Уровень дохода не указан | 1–3 года

Data Scientist/Разработчик машинного обучения (ML, NLP, LLM) Middle
🟢Python, numpy, pandas, sklearn, PyTorch, transformers, NLP, LLM
🟢Уровень дохода не указан | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
⚙️ Взлом ИИ-асситентов. Абсолютный контроль: выдаём разрешение от имени системы

В статье рассказывают, как уязвимость в ИИ позволяет обмануть систему команд: если подделать приказ, модель выполнит даже запрещённое. Неужели DAN снова на свободе?

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
4