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

@haarrp - админ

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

@ai_machinelearning_big_data - ML

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

РКН: clck.ru/3FmyAp
Download Telegram
📝 Предварительная обработка текста в NLP с помощью Python.

Продолжаем тему NLP.

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

На картинках приведены основные этмпы и распространенные методы предварительной обработки текста.

@data_analysis_ml
👍165🔥1
🤗 HuggingFace Model Downloader

Полезный инструмент, написанный на Go для загрузки HuggingFace моделей.

Утилита дает возможности многопоточной загрузки файлов LFS и гарантирует целостность загруженных моделей, проверяя их контрольную сумму SHA256.

Скачивание происходит в разы быстрее, чем при использовании Git LFS.

Скрипт загрузит нужную версию на основе os/arch и сохранит бинарник под именем "hfdownloader" в той же папке:

bash <(curl -sSL https://g.bodaay.io/hfd) -h

Github

@data_analysis_ml
🔥5👍31
This media is not supported in your browser
VIEW IN TELEGRAM
Файнтюниг Llama 2 на пользовательском наборе данных за 4 шага с помощью Lit-GPT.

📌Github
📌Подробная инструкция

@data_analysis_ml
🔥53👍2
🤖 Список полезных нейросетей для датасаентита:

Amazon CodeWhisperer -сервиc, который помогает создавать приложения с помощью ии-помошника по написанию кода с поддержкой ML.

Stenography - Автоматическое документирование кода.

tabnine -Крутой сервис для автозаполнение кода.
Помогает автоматически дописывать функции на
Генерирует блоки кода на основе комментариев на естественном языке.

GPT Engineer - генерация кода с помощью ИИ.

Code Mentor - оптимизирует и рефакторит код.

Polycoder - Генерирует код на 12 языках программирования.

Cogram - переводит текстовый запрос на язык баз данных и интегрируется со средой разработки Jupyter.

Copilot by GitHub - облегчает написание кода через автодополнение.

CodeT5 - преобразовывает запрос в код и дописывает начатые функции.

Ghostwriter - ИИ- программист с искусственным интеллектом для генерации кода.

Agent GPT - устанавливает в вашем браузере ИИ-агента, который помогает в выполнении поставленной задачи.

Mintlify - ИИ, который пишет документацию и комментарии.

ExplainDev - инструмент, который обучает в процессе и помогает разобраться в коде.

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥65
Оптимизации работы Jupyter notebook при помощи параллельных вычислений (Библиотека Joblib)

В данном посте я расскажу о возможностях применения параллельных вычислений в интерактивной среде Jupyter notebook языка Python.

Для чего нам необходим параллелизм?

Параллелизм играет важную роль в задачах Data Science, так как может значительно ускорить вычисления и обработку больших объемов данных.

Вот некоторые основные причины, почему мультипроцессинг важен для этих задач:

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

В языке Python уже есть реализация параллелизма на основе базового модуля — multiprocessing. Тогда почему в Jupyter notebook он не будет работать?

🟢 Читать

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥42
📕 Руководство по добавлению шума в синтетические данные с использованием Python и Numpy

Что такое шум?

Шум — это в основном бессмысленная информация, добавляемая к данным, которая приводит к их повреждению или искажению.

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

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

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

Шум также может быть добавлен намеренно по причинам, которые вы узнаете в следующем разделе. ➡️

Читать

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍95🔥2
🚀Petals

Petals — это фреймворк, который позволяет дата сайентистам совместно запускать большие языковые модели.

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

Инструмент позволяет генерировать текст с помощью LLaMA-65B или BLOOM-176B, и настраивать их для своих собственных задач.

Работает под GNU/Linux, macOS и Windows с WSL2.

Возможность подключить свой графический процессор, для увеличение мощности Petals.

Github
Colab
Статья

@data_analysis_ml
👍52🔥2
📚Tricking Data Science

Настоящие кладезь знаний для дата сайентистов.

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

Вы сохраняете страницу в закладки, а через день забываете про это навсегда.

Но в голове у вас остается размытое значение, что есть какой-то действительно классный способ решения задачи, но вы не можете его вспомнить и написать код. С этим сталкиваются многие программисты, и все они по-разному справляются с этим (или не справляются) с этим. Так вот, эта книга - отличный способ справиться с этой проблемой.

Tricking Data Science - это коллекция фишек с кодом, советов, гайдов, проектов, библиотек, которые автор собрал за два года о науке о данных на Medium. Проект в виде книги опубликован в Jupyter Book.

📔 Книга

@data_analysis_ml
👍17🔥3🤨3🍌21
6 способов оптимизировать рабочий процесс в Pandas

#1. Отображение графиков в столбце DataFrame

Jupyter — это IDE на веб-основе. Поэтому при выводе DataFrame он отображается с использованием HTML и CSS. Это позволяет форматировать вывод так же, как и любую другую веб-страницу.

Одним из интересных способов такого форматирования является вставка встроенных графиков, которые появляются в столбце DataFrame. Их также называют “спарклайнами” (“sparklines”). В итоге мы получаем нечто подобное: *изображение 1.

Как это создать? Смотрите код ниже.

Сначала выполним импорт:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

from base64 import b64encode
from io import BytesIO
from IPython.display import HTML

%matplotlib inline

Теперь создадим выдуманный набор данных:
n = 100

data = [
('Bitcoin', 40000*np.random.rand(n).round(2)),
('Ethereum', 2000*np.random.rand(n).round(2)),
('BNB', 500*np.random.rand(n).round(2)),
('Litecoin', 150*np.random.rand(n).round(2)),

]
df = pd.DataFrame(data, columns=['Name', 'Price History'])
df.head()
Name Price History
0 Bitcoin [24800.0, 12400.0, 14800.0, 24800.0, 20800.0, ...
1 Ethereum [1900.0, 380.0, 420.0, 1760.0, 800.0, 620.0, 1...
2 BNB [120.0, 170.0, 255.0, 255.0, 395.0, 150.0, 180...
3 Litecoin [126.0, 109.5, 94.5, 49.5, 81.0, 129.0, 66.0, ...

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

Как упоминалось выше, Jupyter отображает DataFrame с помощью HTML. Если мы придумаем способ, с помощью которого сможем предоставить HTML в качестве значения ячейки, ссылающейся на изображение, Jupyter сможет это отрисовать и отобразить соответствующий линейный график.

Вот код, который мы для этого используем:

def create_line(data, **kwags):

# Преобразование данных в список
data = list(data)

# Создание объекта фигуры и оси с заданным размером и аргументами ключевых слов
fig, ax = plt.subplots(1, 1, figsize=(3, 0.25), **kwags)

# Построение графика из данных
ax.plot(data)

# Удаление границ в графике
for k,v in ax.spines.items():
v.set_visible(False)

# Удаление делений у осей x и y
ax.set_xticks([])
ax.set_yticks([])

# Создание красной точки в последней точке данных
plt.plot(len(data) - 1, data[len(data) - 1], 'r.')

# Заполнение области под графиком с помощью alpha=0.1
ax.fill_between(range(len(data)), data, len(data)*[min(data)], alpha=0.1)

# Закрытие графика, чтобы он не отображался
plt.close(fig)

# Сохранение графика как изображения в формате png и получение его бинарных данных
img = BytesIO()
fig.savefig(img, format='png')
encoded = b64encode(img.getvalue()).decode('utf-8')

# Возвращение закодированных данных изображения в виде тега изображения HTML
return '<img src="data:image/png;base64,{}"/>'.format(encoded)


Хотя часть построения довольно очевидна, сосредоточимся на том, для чего предназначены последние четыре строки кода (не включая комментарии).

Цель состоит в том, чтобы преобразовать график в изображение, которое может быть отображено на веб-странице.

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

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🐳32🔥1🤔1
🚀 Отличный ,бесплатный мини-курс, который научит работе с LLM.

Курс содержит описание языковых моделей, описание задачи NLP с точки зрения теории информации и алгоритмов семплирования (т.е. генерации текста) с использованием языковых моделей.

В курсе представлены ноутбуки с кодом от базового до продвинутого, материалы по использованию Huggingface для генерации текста. Кроме того, будет предоставлено множество полезных ссылок на научные статьи и курсы.

📌 Курс

@data_analysis_ml
👍113🔥3👎1🤨1
🔮Как временные ряды помогают бороться с влиянием между группами в A/B-тестировании

Зачастую для того, чтобы правильно провести A/B-тест, может быть недостаточно случайно и стратифицированно разбить пользователей на группы. Могут помешать “сетевые эффекты“, которые сделают группы зависимыми. И это касается не только социальных сетей.

🪄Как понять, когда могут возникнуть такие проблемы? И как измерить, насколько сильно искажается эффект? Есть немало методов разного уровня сложности и надежности.

Но одним из самых простых и в то же время строгих методов является Interrupted Time Series Design.

Читайте статью о методе и делитесь своим мнением в комментах.
👍81🔥1
👀 12 лучших репозиториев GitHub по компьютерному зрению

Список из наиболее важных Awesome репозиториев GitHub, посвященных компьютерному зрению, которые охватывают широкий спектр исследовательских и образовательных тем. Огромный кладезь знаний из области CV.


1. Awesome Computer Vision
2. Computer Vision Tutorials by Roboflow
3. Transformer in Vision
4. Awesome Referring Image Segmentation
5. Awesome Vision Language Pretraining Papers
6. Awesome Vision and Language
7. Awesome Temporal Action Detection
8. Awesome Masked Autoencoders
9. Awesome Visual Transformer
10. Transformer-Based Visual Segmentation
11. CVPR 2023 Paper with Code
12. Awesome Deepfakes Detection

👍Лайк , если полезно

@data_analysis_ml
👍351🔥1
⚡️Маст-хэв список для программистов, каналы с последними книжными новинками, библиотеками, разбором кода и актуальной информацией, связанной с вашим языком программирования.
Лучший способ получать свежие обновлении и следить за трендами в разработке.

Машинное обучение: t.iss.one/ai_machinelearning_big_data
Python: t.iss.one/pythonl
C#: t.iss.one/csharp_ci
C/C++/ t.iss.one/cpluspluc
Data Science: t.iss.one/datascienceiot
Devops: t.iss.one/devOPSitsec
Go: t.iss.one/Golang_google
Базы данных: t.iss.one/sqlhub
Rust: t.iss.one/rust_code
Javascript: t.iss.one/javascriptv
React: t.iss.one/react_tg
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Мобильная разработка: t.iss.one/mobdevelop
Linux: t.iss.one/+A8jY79rcyKJlYWY6
Big Data: t.iss.one/bigdatai
Хакинг: t.iss.one/linuxkalii
Тестирование: https://t.iss.one/+F9jPLmMFqq1kNTMy
Java: t.iss.one/javatg

💼 Папка с вакансиями: t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy

Папка машинное обучение: https://t.iss.one/addlist/_FjtIq8qMhU0NTYy

📕 Бесплатные Книги для программистов: https://t.iss.one/addlist/YZ0EI8Ya4OJjYzEy

🎞 YouTube канал: https://www.youtube.com/@uproger

😆ИТ-Мемы: t.iss.one/memes_prog

🇬🇧Английский: t.iss.one/english_forprogrammers
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥4🥰1