Анализ данных (Data analysis)
46.3K subscribers
2.33K photos
270 videos
1 file
2.06K links
Data science, наука о данных.

@haarrp - админ

@itchannels_telegram - 🔥 главное в ит

@ai_machinelearning_big_data - ML

@machinelearning_interview - вопросы с собесдований по Ml

РКН: clck.ru/3FmyAp
Download Telegram
🦙 Lagent: A lightweight framework for building LLM-based agents

Lagent - это легковесный фреймворк с открытым исходным кодом, который позволяет легко и эффективно создавать агентов на основе больших языковых моделей (LLM). Он также предоставляет некоторые типовые инструменты для расширения возможностей LLM.

pip install lagent

Github

@data_analysis_ml
8👍5🔥2
🔥📖 Список Awesome ресурсов, посвященных обработке естественного языка

Использование #NLP на разных языках

Библиотеки на различных языках (C++, Java, NodeJS, R, Scala, Python, ...)

Рекомендации и полезные учебные пособия

Датасеты

Лучшие практики

📌Github

@data_analysis_ml
👍9🔥4🤔21
🔝Лучшие GitHub репозитории для изучения MLOps.

#️⃣ MLOps-Basics

#️⃣ MLOps-Guide

#️⃣ Awesome MLOps

#️⃣ Awesome MLOps - Tools

#️⃣ DTU MLOps

#️⃣ MLOps Course

@data_analysis_ml
🔥8👍42
Департамент информационных технологий города Москвы ищет аналитика Data Science.

Ты: любишь искать закономерности и строить прогнозные модели на основе больших данных, владеешь Python (DS-библиотек), у тебя есть знания и опыт в Machine Learning и владение различными инструментами визуализации данных?

У нас: задачи городского масштаба, конкурентная зарплата и премии, обучение и профессиональный рост!

Направляй свое резюме @sergey_job и присоединяйся к команде Департамента информационных технологий, чтобы сделать город еще комфортнее.
👍8🤨6👎3😱2🍌2🤔1
👆 Рост производительности машинного обучения с Rust

Создадим с нуля небольшой фреймворк машинного обучения на Rust.

Цели
1. Выяснить, заметен ли рост скорости при переходе с Python и PyTorch на Rust и LibTorch, серверную библиотеку PyTorch на C++, особенно в процессе обучения модели. ML-модели становятся крупнее, для их обучения требуется больше вычислительных возможностей, для обычного человека порой нереальных. Один из способов уменьшить рост аппаратных требований — понять, как сделать алгоритмы вычислительно эффективнее. Python в PyTorch — это лишь слой поверх LibTorch. Вопрос в том, стоит ли менять его на Rust. Планировалось использовать крейт Tch-rs для доступа к тензорам и функционалу Autograd DLL-библиотеки LibTorch как «калькулятору градиентов», а затем разработать с нуля на Rust остальное.
2. Сделать код достаточно простым для четкого понимания всех вычислений линейной алгебры и с возможностью легко его расширить при необходимости.
3. Во фреймворке ML-модели должны определяться, насколько это возможно, по аналогичной структуре стандартных Python/PyTorch.
4. Поизучать Rust и не скучать.

Но статья посвящена скорее преимуществам применения Rust в машинном обучении.

Переходим сразу к конечному результату — вот как маленьким фреймворком создаются нейросетевые модели.

Листинг 1. Определение нейросетевой модели
struct MyModel {
l1: Linear,
l2: Linear,
}

impl MyModel {
fn new (mem: &mut Memory) -> MyModel {
let l1 = Linear::new(mem, 784, 128);
let l2 = Linear::new(mem, 128, 10);
Self {
l1: l1,
l2: l2,
}
}
}

impl Compute for MyModel {
fn forward (&self, mem: &Memory, input: &Tensor) -> Tensor {
let mut o = self.l1.forward(mem, input);
o = o.relu();
o = self.l2.forward(mem, &o);
o
}
}


Затем модель инстанцируется и обучается.

Листинг 2. Инстанцирование и обучение нейросетевой модели
fn main() {
let (x, y) = load_mnist();

let mut m = Memory::new();
let mymodel = MyModel::new(&mut m);
train(&mut m, &x, &y, &mymodel, 100, 128, cross_entropy, 0.3);
let out = mymodel.forward(&m, &x);
println!("Training Accuracy: {}", accuracy(&y, &out));
}


Для пользователей PyTorch это интуитивно понятная аналогия определения и обучения нейросети на Python. В примере выше показана модель нейросети, используемая затем для классификации. Модель применяется к набору данных Mnist тестов производительности для сравнения двух версий модели: Rust и Python.

В первом блоке кода создается структура MyModel с двумя слоями типа Linear.

Второй блок — ее реализация, где определяется ассоциированная функция new, которой инициализируются два слоя и возвращается новый экземпляр структуры.

В третьем блоке реализуется типаж Compute для MyModel, им определяется метод forward. Затем в функции main загружается набор данных Mnist, инициализируется память, инстанцируется MyModel, а после она обучается в течение 100 эпох с размером пакета 128, потерями перекрестной энтропии и скоростью обучения 0,3.

Очень даже понятно: это то, что потребуется для создания и обучения новых моделей на Rust с помощью маленького фреймворка. Теперь копнем поглубже и разберемся, как это все возможно.

Если вы привыкли создавать ML-модели в PyTorch, то наверняка, глядя на код выше, зададитесь вопросом: «Зачем здесь ссылка на Memory?». Объясним ниже. 👇

Часть 1
Часть 2

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥21👎1
🖥 Delta Lake — это платформа хранения данных с открытым исходным кодом, которая позволяет строить архитектуру Lakehouse для Spark, Flink, Trino, Hive, Scala, Java, Rust, Python и не только!

С помощью Delta Lake вы можете ускорить выполнение запросов Polars по сравнению с CSV.

Посмотрите на время выполнения запроса #polars для файла #csv с 1 миллиардом строк в сравнении с упорядоченной таблицей deltalake (вычисления выполняются на Macbook M1). Delta Lake работает в 30 раз быстрее.

Github
Project

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥2
Команда архитекторов Yandex Cloud собрала общепринятые методики и проверенные практики, которые помогут оптимизировать хранилище данных на базе Greenplum:

✓ как рассчитать и спланировать оптимальную конфигурацию кластера;
✓ как выбрать модель данных;
✓ какие особенности Greenplum учесть;
✓ какой сценарий интеграции с источниками выбрать;
✓ как выполнять оптимизации кластера и другие административные операции.

Делимся с вами контентом бесплатно!

➡️ Заполните форму, чтобы получить доступ.
5
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍82
🖥 Как создать привлекательные графики с рейтингами стран с помощью Python и Matplotlib

Шаг 1: Создание рейтингов

На первом этапе необходимо упорядочить страны по каждому году в датасете, что легко сделать с помощью pandas.
def create_rankings(df, columns):
rank_columns = ["rank_{}".format(i) for i in range(len(columns))]
for i, column in enumerate(columns):
df[rank_columns[i]] = df[column].rank(ascending=False)

return df, rank_columns


Шаг 2: Создание и стилизация сетки

Теперь, когда мы подготовили данные, пришло время создать сетку, на которой мы можем рисовать наши линии и флажки.

set_style- функция Seaborn, которая создает общий стиль. Она определяет такие вещи, как цвет фона и семейство шрифтов. Я также удаляю корешки и галочки.

def set_style(font_family, background_color, grid_color, text_color):
sns.set_style({
"axes.facecolor": background_color,
"figure.facecolor": background_color,

"axes.grid": True,
"axes.axisbelow": True,

"grid.color": grid_color,

"text.color": text_color,
"font.family": font_family,

"xtick.bottom": False,
"xtick.top": False,
"ytick.left": False,
"ytick.right": False,

"axes.spines.left": False,
"axes.spines.bottom": False,
"axes.spines.right": False,
"axes.spines.top": False,
}
)

Я запускаю функцию со следующими значениями.
font_family = "PT Mono"
background_color = "#FAF0F1"
text_color = "#080520"
grid_color = "#E4C9C9"

set_style(font_family, background_color, grid_color, text_color)


Для создания сетки у меня есть функция, которая форматирует оси y и x. Она принимает несколько параметров, которые позволяют мне применять различные настройки, например, размер меток.
def format_ticks(ax, years, padx=0.25, pady=0.5, y_label_size=20, x_label_size=24):
ax.set(xlim=(-padx, len(years) -1 + padx), ylim=(-len(df) - pady, - pady))

xticks = [i for i in range(len(years))]
ax.set_xticks(ticks=xticks, labels=years)

yticks = [-i for i in range(1, len(df) + 1)]
ylabels = ["{}".format(i) for i in range(1, len(df) + 1)]
ax.set_yticks(ticks=yticks, labels=ylabels)

ax.tick_params("y",labelsize=y_label_size, pad=16)
ax.tick_params("x", labeltop=True, labelsize=x_label_size, pad=8)

Вот как это выглядит, когда я запускаю все, что у нас есть на данный момент.
# Load data
years = ["2000", "2005", "2010", "2015", "2020", "2022"]
df = pd.read_csv("rankings.csv", index_col=None)
df, rank_columns = create_rankings(df, years)

# Create chart
fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(15, 1.6*len(df)))
format_ticks(ax, years)


📌 Читать дальше
📌 Код

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍71👎1
🖥 Выполнение SQL непосредственно в Jupyter Notebook с помощью IPython-SQL

IPython-SQL – это мощный инструмент, позволяющий легко интегрировать язык SQL (Structured Query Language) в среду IPython или Jupyter Notebook. Такая интеграция позволяет выполнять SQL-запросы и взаимодействовать с базами данных, используя при этом интерактивные возможности IPython. В этом руководстве мы рассмотрим установку, настройку и базовое использование IPython-SQL.

✔️ Установка

pip install ipython-sql

✔️ Подключение к базе данных

Для подключения к базе данных сначала необходимо загрузить расширение IPython-SQL, а затем с помощью магической команды %sql задать строку подключения к базе данных. Синтаксис команды следующий:
%load_ext sql
%sql dialect+driver://username:password@host:port/database

Например, для подключения к базе данных SQLite с именем example.db, расположенной в текущем каталоге, используйте:
%load_ext sql
%sql sqlite:///example.db


Замените dialect+driver на соответствующий диалект и драйвер базы данных (например, mysql, postgresql, sqlite и т.д.), а также укажите необходимую информацию об аутентификации и подключении.

✔️ Выполнение SQL-запросов

После подключения к базе данных можно выполнять SQL-запросы с помощью команды %sql magic, за которой следует сам SQL-запрос. Запросы могут состоять из нескольких строк для улучшения читаемости. Вот пример:
%sql SELECT * FROM employees WHERE department = 'HR';

✔️ Доступ к результатам запросов

IPython-SQL предоставляет различные способы доступа к результатам запросов. По умолчанию результаты запроса возвращаются в виде Pandas DataFrame, что облегчает работу с данными и их анализ. Чтобы присвоить результаты запроса переменной, используйте флаг -o, за которым следует имя переменной:
result = %sql -o SELECT * FROM products;

Также можно получить прямой доступ к результатам запроса, используя переменную _:
result = %sql SELECT * FROM orders;
print(_.head()) # Display the first few rows of the result

✔️ Магические команды

IPython-SQL предлагает дополнительные магические команды для улучшения взаимодействия с базами данных:

▪️%config SqlMagic.autocommit: Включает или отключает режим автокоммита для транзакций.
▪️%config SqlMagic.displaylimit: установка максимального количества строк для отображения в результатах запроса.
▪️%%sql: Использование двойных знаков процента для выполнения многострочных SQL-запросов.

Рассмотрим пример использования магической команды %%sql для многострочных запросов:
%%sql
SELECT department, AVG(salary) as avg_salary
FROM employees
GROUP BY department
ORDER BY avg_salary DESC;


✔️ Расширенное использование

Продолжение
Github

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🔥32🤨2🤔1😍1
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Список лучших Data Science шпаргалок

🔸Статистика - https://res.cloudinary.com/dyd911kmh/image/upload/v1662111933/Marketing/Blog/Descriptive_Statistics_Cheat_Sheet.pdf

🔸Теория вероятностей - https://res.cloudinary.com/dyd911kmh/image/upload/v1674822557/Marketing/Blog/Probability_Cheat_Sheet.pdf

🔸Data storytelling - https://res.cloudinary.com/dyd911kmh/image/upload/v1662633286/Marketing/Blog/Data_Storytelling_Cheat_Sheet.pdf

🔸Data Visualization - https://s3.amazonaws.com/assets.datacamp.com/email/other/Data+Visualizations+-+DataCamp.pdf

🔸Machine Learning - https://s3.amazonaws.com/assets.datacamp.com/email/other/ML+Cheat+Sheet_2.pdf

🔸Deep Learning - https://github.com/afshinea/stanford-cs-229-machine-learning/blob/master/en/cheatsheet-deep-learning.pdf

🔸Big Data - https://github.com/Ritik2703/Data-Science-Cheat-Notes-/blob/master/Big%20Data/Hadoop-and-mapreduce-cheat-sheet.pdf

🔸NLP - https://cheatography.com/sree017/cheat-sheets/nlp/

🔸SQL - https://s3.amazonaws.com/assets.datacamp.com/email/other/SQL+for+Data+Science.pdf

🔸Python - https://res.cloudinary.com/dyd911kmh/image/upload/v1673614153/Marketing/Blog/Python_Cheat_Sheet_for_Beginners.pdf

🔸R Programming - https://res.cloudinary.com/dyd911kmh/image/upload/v1654763044/Marketing/Blog/R_Cheat_Sheet.pdf

🔸Plotly Express - https://res.cloudinary.com/dyd911kmh/image/upload/v1668605954/Marketing/Blog/Plotly_Cheat_Sheet.pdf

🔸Git - https://res.cloudinary.com/dyd911kmh/image/upload/v1656573882/Marketing/Blog/git_cheat_sheet.pdf

🔸Excel - https://res.cloudinary.com/dyd911kmh/image/upload/v1674225421/Marketing/Blog/Excel_Cheat_Sheet.pdf

🔸Tableau - https://s3.amazonaws.com/assets.datacamp.com/email/other/Tableau+Cheat+Sheet.pdf

🔸Power BI - https://s3.amazonaws.com/assets.datacamp.com/email/other/Power+BI_Cheat+Sheet.pdf

@data_analysis_ml
🔥16👍108🤨2😁1
🗣💭 Speech Wikimedia: A 77 Language Multilingual Speech Dataset

Speech-wikimedia - это общедоступная компиляция аудиозаписей с транскрипциями, взятых из Wikimedia. Она включает 1780 часов (195 ГБ) транскрибированной речи с лицензией CC-BY-SA из различных источников и дикторов на 77 различных языках.

from datasets import load_dataset

dataset = load_dataset("MLCommons/speech-wikimedia")


🤗 HH: https://huggingface.co/datasets/MLCommons/speech-wikimedia

📌Статья: https://arxiv.org/abs/2308.15710v1

⭐️ Dataset: https://paperswithcode.com/dataset/voxpopuli

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64🔥1
🖥 Бесплатные сертификационные курсы по изучению Git и GitHub в 2023 году

Введение в управление версиями с помощью Git
https://learn.microsoft.com/en-us/training/paths/intro-to-vc-git

Курс GitHub от Microsoft
https://learn.microsoft.com/en-us/training/github

Начало работы с GitHub
https://udemy.com/course/git-started-with-github

5-дневное испытание The Ultimate GIT
https://udemy.com/course/the-ultimate-git-5-day-challenge

Контроль версий с помощью Git от Atlassian
https://coursera.org/learn/version-control-with-git

Интерактивное руководство по Git
https://learngitbranching.js.org

Основы командной строки: Git Bash для Windows
https://udemy.com/course/git-bash

Изучение Git с помощью Bitbucket Cloud
https://hackernoon.com/top-5-free-courses-to-learn-git-and-github-best-of-lot-2f394c6533b0

Изучайте Git: Все, что нужно знать
https://udemy.com/course/learngit

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍32
🔥 Дайджест полезных материалов из мира : Data Science за неделю

Почитать:
Таблица-справочник – генератор DAG? А что так можно было?
Как создать привлекательные графики с рейтингами стран с помощью Python и Matplotlib
Как полностью устранить дублирующие записи в ClickHouse
Как подружить Spark и S3 для обработки файлов
Первые шаги в ML на обучающем хакатоне: обнаружение птиц на фотографиях yolov8s + sahi
Просто о Deep #1
How AI models are transforming evidence-based predictions
Auto-Synchronizing an Entire MySQL Database for Data Analysis
"Which job sectors are witnessing a surge in demand for AI and Data Science professionals?"
NumPy Tutorial #14: Random
5 Completely FREE Data Analytics Online Courses
Innovative Smart Surfaces: Walls That Can Generate Energy and Data
Python Cheat Sheet for Data Engineers and Data Scientists!
Harnessing the Power of Accountability Buddies for Learning
NumPy Tutorial #13: Array Filtering
Exploring Connections: How Meeting People Enriched My Master's Journey

Посмотреть:
🌐 How to Use the Open-Source Hugging Chat API in Python ( 07:38)
🌐 Продвинутый парсинг на Python со сменой прокси ( 10:27)
🌐 Уроки Golang с нуля /#25 - Интерфейсы ( 10:51)
🌐 Многопоточный парсер на Python. ООП подход ( 08:24)
🌐 AI in a Minefield: Learning from Poisoned Data - Johnathan Roy Azaria ( 37:07)
🌐 Orchestrating Data Assets instead of Tasks, with Dagster - Sandy Ryza ( 31:06)
🌐 1,000,000,000 Parameter Super Resolution AI! ( 04:59)
🌐 DeepMind-Like Gaming AI: Incredible Driving Skills! ( 05:09)

Хороших выходных!

@data_analysis_ml
10👍7🔥1🤯1
Media is too big
VIEW IN TELEGRAM
🖥 Полный курс по библиотеке Numpy. Урок 1 Матрицы.

Видео
Код из видео
Упражнения по Numpy

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍276🔥5
🔥История LLM с открытым исходным кодом: Ранние разработки (часть первая)
Понимание принципов работы GPT-Neo, GPT-J, GLM, OPT, BLOOM и других.


https://cameronrwolfe.substack.com/p/the-history-of-open-source-llms-early

@data_analysis_ml
👍13🔥32
Media is too big
VIEW IN TELEGRAM
🖥 Полный курс по библиотеке Numpy. Урок 2 Полезные функции.

Видео
Код из видео
Часть 1
Упражнения

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥41
Овладейте основными навыками работы с искусственным интеллектом с помощью этих 10 бесплатных курсов:

1. Google - искусственный интеллект для всех
https://edx.org/learn/artificial-intelligence/google-google-ai-for-anyone

2. Microsoft - ИИ для начинающих
https://microsoft.github.io/AI-For-Beginners

3. IBM - AI for Everyone: Освоить основы
https://edx.org/learn/artificial-intelligence/ibm-ai-for-everyone-master-the-basics

4. Гарвард - Введение в искусственный интеллект с помощью Python
https://cs50.harvard.edu/ai/2023

5. Google - Введение в генеративный ИИ

https://cloudskillsboost.google/journeys/118

6. Deep Learning - Finetuning Large Language Models
https://deeplearning.ai/short-courses/finetuning-large-language-models/

7. Microsoft - Основы ИИ в Azure
https://learn.microsoft.com/en-us/training/paths/create-no-code-predictive-models-azure-machine-learning/

8. Linux Foundation - Основы работы с данными и искусственным интеллектом
https://edx.org/learn/computer-programming/the-linux-foundation-data-and-ai-fundamentals

9. Alison - 13 бесплатных курсов по ИИ
https://alison.com/tag/artificial-intelligence

10. Проекты по искусственному интеллекту
https://mygreatlearning.com/academy/learn-for-free/courses/artificial-intelligence-projects


@data_analysis_ml
15👍9❤‍🔥2🔥2
Media is too big
VIEW IN TELEGRAM
🖥 Полный курс по библиотеке Numpy. Урок 3: применение Numpy

Видео
Код из видео
Часть 1
Часть 2
Упражнения

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
19👍4🔥3