Анализ данных (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
🖥 balance: a python package for balancing biased data samples

Пакет balance python - это удобный инструмент для работы со смещенными выборками данных.

Обеспечивает полный рабочий процесс: анализа смещений в данных, получения весов для балансировки данных, оценки качества весов и получения взвешенных оценок.

python -m pip install git+https://github.com/bbalasub1/[email protected]

Мы начинаем с загрузки данных и их корректировки:

from balance import load_data, Sample

# load simulated example data
target_df, sample_df = load_data()

# Import sample and target data into a Sample object
sample = Sample.from_frame(sample_df, outcome_columns=["happiness"])
target = Sample.from_frame(target_df)

# Set the target to be the target of sample
sample_with_target = sample.set_target(target)

# Check basic diagnostics of sample vs target before adjusting:
# sample_with_target.covars().plot()

# Using ipw to fit survey weights
adjusted = sample_with_target.adjust()

print(adjusted.summary())
# Covar ASMD reduction: 62.3%, design effect: 2.249
# Covar ASMD (7 variables):0.335 -> 0.126
# Model performance: Model proportion deviance explained: 0.174

adjusted.covars().plot(library = "seaborn", dist_type = "kde")

Github
Примеры с кодом
Статья
Проект

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥2
Модель нейросети Kandinsky 2.2 стала частью самого крупного и авторитетного в сфере ИИ фреймворка Diffusers на ресурсе Huggingface.

Diffusers - это агрегатор открытых генеративных моделей, работающих на принципе диффузии. Сегодня этот фреймворк используют многие популярные ИИ-сервисы, инструменты и библиотеки: DreamFusion, Segment Anything, ML Stable Diffusion (by Apple), Invoke AI ( всего более 3000 решений).

Также Kandinsky 2.2 вошел в список популярных моделей в основном репозитории Diffusers на GitHub.

@data_analysis_ml
🔥124👍4
🗂 10 библиотек Python для автоматического разведочного анализа данных

Разведочный анализ данных (EDA) является важнейшим шагом в разработке модели Data science и исследовании наборов данных. EDA включает в себя изучение, анализ и обобщение фундаментальных характеристик наборов данных для получения представления о внутренней информации, содержащейся в них.

Известные библиотеки Python для автоматизированного EDA:

1. D-Tale
D-Tale – это библиотека Python, которая предоставляет интерактивный и удобный интерфейс для визуализации и анализа данных.

2. Pandas-profiling
Pandas-Profiling – позволяет автоматизировать первичный анализ данных и, тем самым, значительно его упростить и ускорить.

3. Sweetviz
Sweetviz – это библиотека Python с открытым исходным кодом, которая генерирует отчеты с удобной визуализацией для выполнения EDA с помощью всего двух строк кода. Библиотека позволяет быстро создать подробный отчет по всем характеристикам набора данных без особых усилий. В возможности Sweetviz также входит целевой анализ, сравнение двух датасетов, сравнение двух частей датасета, выделенных по определенному признаку, выявление корреляций и ассоциаций, также sweetviz создает позволяет создавать и сохранять отчет как HTML файл.

4. Autoviz
AutoViz – это библиотека Python, предоставляющая возможности автоматической визуализации данных, позволяющая визуализировать наборы данных любого размера всего одной строкой кода.

5.
dataprep
DataPrep – это библиотека Python с открытым исходным кодом, которая предоставляет функциональные возможности для анализа, подготовки и обработки данных. Она построена поверх Pandas и Dask DataFrame, что делает её легко интегрируемым интсрументом с другими библиотеками Python.

6. KLib
KLib – это библиотека Python, которая предоставляет возможности автоматического разведочного анализа данных (EDA) и профилирования данных. Она предлагает различные функции и визуализации для быстрого изучения и анализа наборов данных. KLib помогает упростить процесс EDA и сделать его более удобным.

7. dabl
Dabl Dabl - поможет визуализировать данные за одну строчу кода. Обычно ML-специалисты используют matplotlib для визуализации, строя нужны графики один за другим. В Dabl вызов одного метода построит целый набор диаграмм.

8. speedML
SpeedML – это библиотека Python, целью которой является ускорение процесса разработки конвейера машинного обучения.

9. Sketch
Sketch— это новая библиотека, которая использует возможности ИИ, чтобы помочь вам понять ваши dataframes pandas, используя вопросы на естественном языке непосредственно в Jupyter.

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

Подробнее

@data_analysis_ml
👍156🔥6🤨1
⚡️ Создайте клон себя с помощью точно настроенного LLM

Вы задумывались о цифровом двойнике? 👨👨

Виртуальная
копия вас, которая может разговаривать, учиться и отражать ваши мысли.

Прогресс в области искусственного интеллекта (ИИ) сделал эту идею реальностью. 🌟

Цель этой статьи - показать, как эффективно настроить высокопроизводительный LLM на пользовательских данных. Рассмотрен будет использование модели Falcon-7B с адаптерами LoRA и Lit-GPT для минимизации затрат.

Читай

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍113🔥3
📎 Открытые датасеты 📎

🔵 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