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

@haarrp - админ

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

@ai_machinelearning_big_data - ML

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

РКН: clck.ru/3FmyAp
Download Telegram
🔥 Как самостоятельно выучиться на дата-саентиста, не бросая на ветер деньги.

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

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

— Во-вторых, конечно, это далеко не полный список онлайн-курсов, который вы можете встретить, зато в него попали лучшие курсы от сильных математических и Computer Science-школ мир и другие распространенные ресурсы среди профи из того, что я смогла отфильтровать на свой вкус.

— В-третьих, начну с рекордно короткого списка, с которого, как мне кажется, стоит начинать обучение предмету, и он идет сразу же следующим абзацем:

➡️ Читать дальше


@data_analysis_ml
👍24🔥9👎2
This media is not supported in your browser
VIEW IN TELEGRAM
🧰 Инструменты для быстрого овладения наукой о данных.

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

Для начала стоит выяснить, зачем нужен специалист по обработке данных и какие требования к нему предъявляют бизнесмены-работодатели. После этого поговорим о роли науки о данных в современном мире.

➡️ Читать дальше

@data_analysis_ml
👍142🔥2👎1
🔐 Предохранители для данных: как автоматические выключатели повышают Data Quality

Представьте, что бизнес-метрика неожиданно резко вырастает или проседает. Как понять, реальное это изменение или проблема с качеством данных?

В чем суть предохранителя

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

Такой проактивный подход сокращает Time-to-Reliable-Insights до минут. А автоматизация обеспечивает прямую зависимость данных от их качества. Это позволяет избежать разрушительных авралов, которые возникают всякий раз, когда нужно проверить и поправить метрики или отчеты. Далее мы в подробностях рассмотрим, как внедрять такие предохранители.

➡️ Читать дальше

@data_analysis_ml
👍9
💡 SQL для Data Science: альтернатива обмену через Google Disk и Slack

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

Специалисты в области науки о данных много времени тратят на продуктовую аналитику. Несмотря на широкий спектр доступных программных инструментов, таких как Jupyter Notebook с Python, Tidyverse, Superset и даже Java UDFs, продуктовая аналитика все равно нуждается в SQL.

Но как происходит сама работа с SQL, где записываются команды и запросы? Например, сначала — написание запроса во встроенной IDE Superset и внесение правок до момента ответа на поставленный вопрос, затем — внесение результатов в Google Doc вместе с другими документами.

А в итоге — отправка результатов через электронное письмо или сообщение в Slack и полное исчезновение в море корпоративного шума.

Содержание руководства:

- Проблематика командной работы в Data Science.
- Разбор нарушений в обмене наработками.
- Замкнутый цикл благодаря открытым записям.


➡️ Читать дальше


@data_analysis_ml
👍10
📄 Анализ данных для выявления признаков неструктурированном тексте с помощью pandas и json.

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

Передо мной стояла задача по выявлению выгодоприобретателей наших клиентов и определению даты последнего обновления сведений о них. Решать ее буду с использованием библиотек Python pandas и json.

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

➡️ Читать дальше

@data_analysis_ml
👍13🔥1
🔪 Метод SHAP для категориальных признаков

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

Проблемы не возникают до попытки понять модель с помощью метода SHAP. Каждая бинарная переменная будет иметь свое собственное значение SHAP. Это затрудняет понимание общего вклада исходного категориального признака.

Для решения этой проблемы используется простой подход  —  сложение значений SHAP для каждой бинарной переменной. Получаем то, что можно интерпретировать как значение SHAP для исходного категориального признака.

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

➡️ Читать дальше
🗒 Набор данных

@data_analysis_ml
👍11🔥1
Исследовательский отдел Яндекса поделился с сообществом большой нейросетью для задач обработки естественного языка

RuLeanALBERT — децентрализованно обученная модель, которая как минимум не уступает аналогам на таких бенчмарках, как Russian SuperGLUE и RuCoLA. Запустить открытый код нейросети можно даже на домашнем компьютере с достаточно мощным графическим чипом.

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

➡️ Читать дальше
⚙️ Код и чекпоинт
👍16
🐳 Руководство по Docker для аналитика даннных.

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

Содержание статьи:

1. Образы и контейнеры.
2. Запуск первой программы в Docker.
3. Основные команды контейнеров Docker.
4. Командная строка Docker-контейнера.
5. Пользовательские образы Docker.
6. Запуск веб-приложения в Docker.
7. Docker и сопоставление портов.
8. Выводы.


➡️ Читать дальше

@data_analysis_ml
👍21
🌠 Лучшие примеры инфографики (51 фото) простые, сложные, крутые

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

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

➡️ Читать дальше

@data_analysis_ml
👍14👎2
📈 Визуализация в Python: сравнительный анализ Matplotlib и Plotly

Data Scientist работает с огромным объемом данных, который необходимо проанализировать и обработать. Одним из подходов к анализу данных является их визуализация с использованием графического представления.

Сегодня существует множество библиотек для визуализации данных в Python. Одной из самых популярных является Matplotlib, однако этот инструмент создавался задолго до бурного развития Data Science, и в большей мере ориентирован на отображение массивов NumPy и параметрических функций SciPy. В то же время в Data Science распространен обобщенный тип объектов – датасеты, крупные таблицы с разнородными данными. Для визуализации подобных данных разрабатываются новые библиотеки визуализации, например, Plotly.

Далее предложим вашему вниманию сравнительный анализ библиотек Matplotlib и Plotly.

➡️ Читать дальше

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥2
💡 Как в условиях недостатка данных улучшить качества классификатора

Одна из основных проблем человека, который занимается машинным обучением, — данные. Исследователи сталкиваются с плохим качеством данных и/или их отсутствием. Рассмотрим способы улучшение метрик классификатора в условиях малого количества признаков.

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

Цель кейса: определить, куда доставлялся заказ, основываясь на двух признаках: времени размещения и времени доставки.

Что делаем:

- Преобразовываем время к удобному формату
- Строим графики для генерации гипотез
- Строим классификатор №1 и визуализируем результаты
- Обеспечиваем монотонность целевой переменной, строим классификатор №2.1. Увеличиваем порядок пространства признаков, строим классификатор №2.2.
- Обеспечиваем монотонность целевой переменной и увеличиваем порядок пространства признаков одновременно, строим классификатор №3, наблюдаем улучшение метрик.

➡️ Читать дальше

@data_analysis_ml
👍17🔥1
🌍 Создание приложения на Python для систематизации фото по геолокации и дате

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

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

принимать аргументы командной строки, позволяя использовать его в bash-скриптах;
основываться на базе данных (БД) для хранения необходимой информации;
сортировать и находить фотографии по дате и местоположению;
распознавать людей, объекты на фото и проводить выборку изображений по этим категориям.
Из материала статьи вы узнаете, как извлекать необходимые метаданные из фотографий, создавать и заполнять БД PostGIS, а также запрашивать изображения по местоположению.

➡️ Читать дальше
⚙️ Код

@data_analysis_ml
👍201🔥1
🚀 Статистический анализ данных с помощью SKLEARN

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

➡️ Читать дальше


@data_analysis_ml
👍11🔥21
Сжатие текстовых данных методом арифметического кодирования

АРИФМЕТИЧЕСКОЕ КОДИРОВАНИЕ

Арифметическое кодирование (АК) — это статистический метод сжатия данных, работающий по принципу кодирования одного символа за один раз. Длина закодированного выходного кода каждого символа может варьироваться в зависимости от вероятности частоты появления символа. Меньшее количество битов используется для кодирования символов, которые встречаются с высокой вероятностью, а большее количество – с низкой вероятностью.

Идея алгоритма АК:

При арифметическом кодировании слово представляется в виде интервала действительных чисел от 0 до 1. С увеличением длины слова, уменьшается интервал для его представления и увеличивается число бит для его определения. Более вероятные символы уменьшают интервал на меньшую величину, чем маловероятные символы, и, следовательно, добавляют меньше битов к слову.

➡️ Читать дальше
⚙️ Код

@data_analysis_ml
👍81🥰1
Gluon Time Series – библиотека от Amazon для работы с временными рядами

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

К распространенным задачам машинного обучения, относящимся к временным рядам, являются:

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

➡️ Читать дальше
⚙️ Код
🗒 Документация по GluonTS
✔️ Информация по модели DeepAR Forecasting Algorithm

@data_analysis_ml
👍10🔥41
🔍 Data Quality: новые правила

В нашем мире проблемы с данными делятся на два типа: предсказуемые (известные неизвестные) и непредсказуемые (неизвестные неизвестные). Вот какой комплексный подход применяют лучшие специалисты по работе с данными для решения этих проблем в крупномасштабных системах. Это статья о новых способах повышения качества данных с помощью тестирования и наблюдаемости (observability).

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

Тестировать самые важные данные надо — без этого нельзя выявить конкретные, лежащие на поверхности известные проблемы в пайплайне. Для этой задачи есть прекрасные инструменты. Например, данные из того же Segment или Salesforce извлекаются с помощью Fivetran, поступают в хранилище данных Snowflake, трансформируются с помощью dbt и в конечном счете оказываются на дашборде Looker, который ваш CEO использует для просмотра квартальных финансовых отчетов. Сразу же, без всяких проверок.

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

➡️ Читать дальше

@data_analysis_ml
👍111🔥1
✔️ Как прокачать свой SQL до уровня больших данных

Чем отличается SQL в больших данных от обычного SQL? В больших данных используются распределённые вычисления.

Вычисления распределяются между несколькими серверами. Одна база данных находится сразу на нескольких серверах. Результат запроса тоже вычисляется одновременно несколькими серверами. Алгоритмы распределённых вычислений описывает парадигма MapReduce. Давайте разберём, на что это влияет и как прокачать свой SQL до уровня больших данных.

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

➡️ Читать дальше

@data_analysis_ml
👍113🔥2
English for Developers - канал для тех, кто хочет учить технический английский.

1. техническая лексика
2. опросы на английском
3. шутки на английском

Подписывайтесь, проходите опросы, читайте полезные прогерские фразы на английском: english_forprogrammers.

1 канал вместо тысячи учебников и курсов
📎 Потери данных при репликации в аналитическое хранилище — автоматические сверки и мониторинг качества данных

Данные из боевых баз в нашей архитектуре асинхронно попадают в аналитическое хранилище (Clickhouse), где уже аналитики создают дашборды для продуктовых команд и делают выборки. Базы здоровые и под ощутимой нагрузкой: мы в день отправляем флот самолётов средней авиакомпании, несколько поездов и кучу автобусов. Поэтому взаимодействий с продуктом много.

ETL-процесс (извлечение данных, трансформация и загрузка в хранилище) часто подразумевает сложную логику переноса данных, и изначально нет уверенности в том, что данные доставляются без потерь и ошибок. Мы используем Kafka как шину данных, промежуточные сервисы на Benthos для трансформации записей и отправки в Clickhouse. На этапе создания пайплайна нужно было убедиться в отсутствии потерь с нашей стороны и корректной логике записи в шину данных.

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

➡️ Читать дальше

@data_analysis_ml
👍91🔥1🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
⚜️ Руководство по созданию интерактивных визуализаций на Python

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

Самыми распространенными библиотеками для создания визуализаций на Python являются Matplotlib и Seaborn, но существует и множество других инструментов.

В этом руководстве мы изучим инструменты HoloViz, а точнее Panel и hvPlot  — библиотеки с открытым исходным кодом, которые используются для создания интерактивных диаграмм и контрольных панелей. Также узнаем, как легко развернуть и поделиться контрольной панелью с помощью Jupyter Notebook.

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

Краткий обзор
Мы выполним следующие задачи.

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

➡️ Читать дальше
⚙️ Код

@data_analysis_ml
👍24🔥43