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

@haarrp - админ

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

@ai_machinelearning_big_data - ML

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

РКН: clck.ru/3FmyAp
Download Telegram
🔥📖 Список 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
🦅 Falcon 180B is here!

Falcon 180B устанавливает новый уровень для открытых моделей. Это самая большая открытая языковая модель со 180 миллиардами параметров, которая была обучена на огромном массиве данных TII RefinedWeb, насчитывающем 3,5 триллиона лексем. Это самый продолжительный период предварительного обучения открытой модели на одной эпохе.

По своим возможностям Falcon 180B достигает самых высоких результатов в задачах на естественном языке. Он занимает первое место в рейтинге предварительно обученных моделей открытого доступа и конкурирует с собственными моделями, такими как PaLM-2.

🤗 HF: https://huggingface.co/blog/falcon-180b

🖥 Github: https://github.com/huggingface/blog/blob/main/falcon-180b.md

📕 Demo: https://huggingface.co/spaces/tiiuae/falcon-180b-demo

https://t.iss.one/data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥52👎1