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

@haarrp - админ

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

@ai_machinelearning_big_data - ML

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

РКН: clck.ru/3FmyAp
Download Telegram
📎 Открытые датасеты 📎

🔵 Labelled Faces in the Wild. 13 тысяч размеченных изображений лиц.

🔵 IMF Data. Датасеты о финансах и ценах на товары.

🔵 Google Trends. Данные о поисковой статистике и трендовых запросах.

🔵 xView. Большой набор воздушных снимков Земли с аннотациями.

🔵 World Bank Open Data. Наборы данных о демографии и экономических показателях.

🔵 Labelme. Большой датасет с уже размеченными изображениями.


🔵 HotspotQA Dataset . Датасет с вопросами-ответами для генерации ответов на часто задаваемые простые вопросы.

🔵 Berkeley DeepDrive BDD100k. Тысячи часов вождения для обучения автопилотов.

🔵 MIMIC-III. Обезличенные медицинские данные пациентов.

🔵 CREMA-D — датасет для распознавания эмоций по записи голоса.

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥32
👣 Популярные API в Data Science

Туториалы по работе с API для специлистов по работе с данными:

CareerCon
DataQuest
Towards Data Science

Api для сбора данных:

Amazon Machine Learning API
IBM Watson Discovery API
Open Weather Map
REST Countries
IP API
Random Data API
Google API
VK API
Telegram API
Twilio API
Census.gov API
Spotify API
Yummly API
New York Times API
Reddit API
Zillow API
Instagram API
Twitter API
Big ML API
Data Science Toolkit API
JSON Placeholder

Ресурсы для изучения API:

Web API through Flask
API for beginners - Freecodecamp

Тестирование API

Using Postman
Using Thunder client in VS code

Сохраняйте пост себе, чтобы не потерять.

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124🔥3
📌 10 лучших пакетов AutoML Python для автоматизации задач машинного обучения

1. Pandas Profiling
(изображение 1.)

2. Snorkel
(изображение 2.)

3. MLBox
(изображение 3.)

4. H20

5. TPOT
(изображение 4.)

6. Autokeras

7. Ludwig
(изображение 5.)

8. AutoGluon

9. Neural Network Intelligence

10. AutoGL

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍134🔥1
📎 9 ресурсов для изучения MLOPs

MLOps — это набор процедур, направленных на последовательное и эффективное внедрение и поддержку моделей машинного обучения (ML), используемых в производстве. Само слово представляет собой сочетание, обозначающее "Machine Learning (Машинное обучение)” и процесс непрерывной разработки "DevOps" в области программного обеспечения.

Модели машинного обучения оцениваются и совершенствуются в изолированных экспериментальных системах. Когда алгоритмы готовы к запуску, MLOps практикуется у Data Scientists — Специалистов по анализу данных, DevOps и инженеров машинного обучения для внедрения алгоритма в производственные системы.

1. Machine Learning Engineering от Андрея Буркова
Книга "Machine Learning Engineering" освещает основы машинного обучения и фокусируется на искусстве и науке создания и развертывания конечных моделей.

2. ml-ops.org
Наиболее всеобъемлющий ресурс по MLOps. Он содержит различные статьи о лучших практиках.

3. MLOps от AIEngineering
Канал в YouTube по машинному обучению, у которого есть отдельный плэйлист по MLOps. Для тех, кто предпочитает видеоряд чтению.

4. ML in Production
Луиги Патруно регулярно делится контентом по основам развертывания и поддержания моделей, а также последними новостями.

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

6. Awesome production machine learning
Это репозиторий на GitHub для тех, кто изучить пакеты, библиотеки, передовые инструменты. Этот огромный список предназначен, чтобы помочь вам строить, разворачивать, отслеживать, версионировать, масштабировать ваши ML-системы.

7. Made With ML
Этот открытый курс посвящен построению систем машинного обучения. Его попробовали уже более 30,000 людей.

8. Туториал по MLOps от DVC
DVC (Data Version Control) — это система контроля версий, но предназначенная для ML-проектов, т.е. для версионирования данных и моделей.

9. TFX от TensorFlow
Это платформа для развертывания моделей машинного обучения. Она содержит различные пакеты для валидации данных, преобразований, анализа моделей и проч. в экосистеме TensorFlow.

@data_analysis_ml
11👍10🔥2
🦙 Запускаем Llama2

С Трансформерами версии 4.31 уже можно использовать Llama 2 и использовать все инструменты экосистемы HF.

pip install transformers
huggingface-cli login

from transformers import AutoTokenizer
import transformers
import torch

model = "llamaste/Llama-2-7b-chat-hf"

tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = transformers.pipeline(
"text-generation",
model=model,
torch_dtype=torch.float16,
device_map="auto",
)

sequences = pipeline(
'I liked "Breaking Bad" and "Band of Brothers". Do you have any recommendations of other shows I might like?\n',
do_sample=True,
top_k=10,
num_return_sequences=1,
eos_token_id=tokenizer.eos_token_id,
max_length=200,
)
for seq in sequences:
print(f"Result: {seq['generated_text']}")

@data_analysis_ml
👍7🔥41
📂 Кластеризация текста в PySpark

Наша задача состоит в том, чтобы разбить все сообщения на группы, каждая из которых будет содержать в себе сообщения одного типа.

1. Создание сессии Spark и импорт необходимых модулей

Для того чтобы создать Spark сессию, мы написали следующий код:
from pyspark import SparkContext, SparkConf, HiveContext
# запуск сессии спарка
conf = SparkConf().setAppName('spark_dlab_app')
conf.setAll(
[
#Укажите тут нужные параметры Spark
])
spark = SparkSession.builder.config(conf=conf).enableHiveSupport().getOrCreate()


Импортируем модули для дальнейшей работы:
# для создания пользовательских функций
from pyspark.sql.functions import udf
# для использования оконных функций
from pyspark.sql.window import Window
# для работы с PySpark DataFrame
from pyspark.sql import DataFrame
# для задания типа возвращаемого udf функцией
from pyspark.sql.types import StringType
# для создания регулярных выражений
import re
# для работы с Pandas DataFrame
import pandas as pd
# для предобработки текста
from pyspark.ml.feature import HashingTF, IDF, Word2Vec,\
CountVectorizer, Tokenizer, StopWordsRemover
# для кластеризации
from pyspark.ml.clustering import Kmeans, BisectingKmeans
# для создания пайплайна
from pyspark.ml import Pipeline
# для подсчета частоты слов в тексте
from nltk.probability import FreqDist


2. Предварительная обработка текста

Первым делом создадим DataFrame из данных, которые находятся на Hadoop, в нашей сессии:
t = spark.table('data')

Поскольку в тексте содержится много информации, которая не несёт никакой смысловой нагрузки, например, различные цифры или знаки препинания, мы её удалим. Для этого написали UDF-функцию, которая почистит текст с помощью регулярных выражений.
def text_prep(text):
# переводим текст в нижний регистр
text = str(text).lower()
# убираем всё, что не русская буква, и убираем слово «баланс»
text = re.sub('[^а-яё]|баланс',' ',text)
# убираем всё, что начинается с «от»
text = re.sub('от.+','',text)
# убираем одиночные буквы
text = re.sub('\s[а-яё]\s{0,1}','',text)
# если пробелов больше одного заменяем их на один
text = re.sub('\s+',' ',text)
# убираем лишние пробелы слева и справа
text = text.strip()
return text
# создание пользовательской функции
prep_text_udf = udf(text_prep, StringType())


Применим нашу функцию и уберем пустые строки:
t = t.withColumn('prep_text', prep_text_udf('sms_text'))\
.filter('prep_text <> ""')


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

@data_analysis_ml
👍18🔥43
Как развернуть GitLab с помощью Docker за 5 секунд

GitLab — это веб-инструмент управления репозиториями Git, который помогает командам совместно работать над кодом. Кроме того, он предоставляет полную платформу DevOps с контролем версий, ревью кода, отслеживанием проблем (англ. issue) и CI/CD.

▪️Развертывание GitLab с помощью файла Compose от Sameersbn

Начинаем развертывание GitLab со скачивания актуальной версии файла Compose:
wget https://raw.githubusercontent.com/sameersbn/docker-gitlab/master/docker-compose.yml

Теперь генерируем 3 случайные строки длиной не менее 64 символов, открываем файл Compose и применяем эти строки для:

GITLAB_SECRETS_OTP_KEY_BASE. Используется для шифрования секретных ключей двухфакторной аутентификации (2FA) в базе данных. Ни один пользователь не сможет войти в систему с 2FA при потере этого ключа.
GITLAB_SECRETS_DB_KEY_BASE. Нужен для шифрования секретных ключей CI и импорта учетных данных. В случае изменения/потери вы уже не сможете задействовать секретные ключи CI.
GITLAB_SECRETS_SECRET_KEY_BASE. Требуется для генерации ссылок для сброса пароля и стандартных функций аутентификации. Вы не сможете сбросить пароли через электронную почту при ее потере/изменении.

▪️Запуск экземпляра GitLab

docker-compose up

▪️Развертывание GitLab вручную с помощью команд Docker

Вместо скачивания актуальной версии файла Compose от Sameersbn вы можете вручную запустить контейнер GitLab, контейнер Redis и контейнер PostgreSQL за 3 простых шага.

Шаг 1. Запуск контейнера PostgreSQL

docker run --name gitlab-postgresql -d \
--env 'DB_NAME=gitlabhq_production' \
--env 'DB_USER=gitlab' --env 'DB_PASS=password' \
--env 'DB_EXTENSION=pg_trgm,btree_gist' \
--volume ./gitlab_postgresql:/var/lib/postgresql \
sameersbn/postgresql:12-20200524

Продолжение

@data_analysis_ml
👍115🔥3
🔥 Бесплатный курс: CS 329S: Machine Learning Systems Design

Слайды лекций, конспекты, учебные пособия и задания курса Machine Learning Systems Design от Стенфорда.

https://stanford-cs329s.github.io/syllabus.html

@data_analysis_ml
14👍7🔥4
📌 7 пакетов Python для анализа и форматирования вашего кода.

PEP 8 - это набор рекомендаций по написанию чистого, читабельного и последовательного кода на языке Python.

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

blackэто библиотека для автоматического форматирования вашего Python кода, в соответствии с требованиями PEP8.

flake8это инструмент линтинга для Python, который проверяет код Python на наличие ошибок, проблем со стилем и сложностью. Библиотека Flake8 построена на базе трех инструментов: PyFlakes - проверяет код Python на наличие ошибок. McCabe - проверяет код Python на сложность. pycodestyle - проверяет кодовую базу Python на проблемы со стилем в соответствии с PEP8..

interrogateinterrogate проверяет ваш код на наличие отсутствующих строк документации (docstrings).

Whispersэто инструмент анализа кода, предназначенный для разбора различных распространенных форматов данных в поисках жестко закодированных учетных данных и опасных функций. Whispers может работать в CLI или интегрироваться в конвейер CI/CD.

hardcodesэто утилита поиска и редактирования кода.

pylintPylint анализирует ваш код без его запуска. Инструмент проверяет наличие ошибок и выдает рекомендации по его рефакторингу.

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥32
🔥 Бесплатный курс: Прикладная математика для машинного обучения

Курс направлен на студентов без математического бэкграунда. Будут изложены основные понятия необходимые для понимания методов, на которых строится машинное обучение и модели нейронных сетей. Также целью курса является разъяснить как могут быть преобразованы и представлены данные для последующего обучения моделей на них.

Курс состоит из 13 лекций и 13 семинаров. На лекциях излагаются теоретические основы перечисленных тем, с простыми примерами. На семинарах планируется разбор, демонстрация и практика применения программных реализаций и алгоритмов обозначенных теоретических объектов.

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

https://teach-in.ru/course/applied-mathematics-for-machine-learning/about

@data_analysis_ml
👍24🔥65
🚀 ETL: Извлечение, преобразование, загрузка с Python!

🔎 Что такое ETL и почему он важен?

Представьте себе владельца перспективного стартапа, вооруженного невероятным алгоритмом искусственного интеллекта, который предсказывает риск развития диабета на основе роста и массы тела.
Однако ваши данные разбросаны по файлам CSV и JSON, а измерения производятся в разных единицах. Введите ETL!
ETL – аббревиатура от Extract, Transform, Load.
Извлечение, преобразование и загрузка данных 🧲 – это сбор огромного количества данных из различных источников, преобразование их в единый формат и загрузка в центральную базу данных или целевой файл. 🗄️

📝 Реализуем ETL с помощью Python

• Начнем с определения функции extract, которая предполагает использование функции glob из модуля glob.
• Эта удобная функция позволяет находить файлы с определенными расширениями (например, .json и .csv) и извлекать из них данные, преобразуя их в фреймы данных для дальнейшей обработки. 📁
Импортируем некоторые важные библиотеки, необходимые для выполнения операций!

В изображениях 1, 2, 3, 4.

🔄 Преобразование данных для обеспечения их целостности

@data_analysis_ml
🔥16👍51
🚗 Тест-драйв PyTorch 2.0 и заглядываем под капот «двушки»

JIT-компиляция (Just-In-Time compilation) - это процесс, при котором код на высокоуровневом языке преобразуется в код на низкоуровневом языке, который может быть быстрее и эффективнее исполнен процессором или графическим ускорителем. torch.compile() использует TorchDynamo и заданный бэкенд для JIT-компиляции кода PyTorch.

Для того чтобы понять, как работает torch.compile() рассмотрим основные его компоненты, которые отвечают за различные аспекты JIT-компиляции кода PyTorch:

TorchDynamo – это динамический компилятор, который анализирует код PyTorch и определяет, какие части кода могут быть скомпилированы в оптимизированные ядра. Отслеживает изменения в коде и перекомпилирует его при необходимости.
AOT AutoGrad – это система автоматического дифференцирования, которая позволяет вычислять градиенты для скомпилированных ядер. Генерирует код для обратного распространения ошибки во время компиляции, а не во время исполнения, что ускоряет процесс обучения нейронных сетей.
PrimTorch – это набор примитивных операций, которые используются для построения скомпилированных ядер. Включает в себя базовые математические и логические операции, а также операции над тензорами, такие как сложение, умножение, свертка и т.д.
TorchInductor – это бэкенд для JIT-компиляции кода PyTorch в оптимизированные ядра для разных устройств. Поддерживает разные бэкенды и адаптирует код PyTorch к специфике каждого устройства.

Далее подробнее рассмотрим, как работают компоненты TorchDynamo и TorchInductor и как они взаимодействуют друг с другом, чтобы обеспечить JIT-компиляцию кода PyTorch.

📌Читать

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥51🥰1