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

@haarrp - админ

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

@ai_machinelearning_big_data - ML

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

РКН: clck.ru/3FmyAp
Download Telegram
🔍 Podman: Альтернатива Docker без deamon

Хотя Docker, безусловно, перевернул наше представление о разработке, развертывании и запуске приложений, стоит изучить, чем отличается Podman (Pod Manager) и почему вам может быть интересно начать использовать его вместо Docker.

Podman — это менеджер контейнеров и падов с открытым исходным кодом.

Аналогично Docker, он позволяет создавать, запускать, останавливать и удалять контейнеры OCI, а также управлять образами контейнеров.

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

Что такое OCI-контейнеры
OCI (Open Container Initiative) — это организация отраслевого стандарта, которая стремится создать набор правил (спецификаций и стандартов), обеспечивающих согласованную работу контейнеров на разных платформах.

Это означает, что образы/контейнеры Podman полностью совместимы с Docker или любой другой технологией контейнеризации, которая использует совместимый с OCI исполнитель контейнеров.

Большинство пользователей Docker могут просто сделать псевдоним Docker для Podman (alias docker=podman) без каких-либо проблем.

Это означает, что все команды Docker остаются такими же, за исключением команды docker swarm.

Архитектура Podman

Архитектура Podman не подразумевает использование демонов (deamons).

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

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

Использование демона для управления контейнерами приводит к нескольким проблемам:

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

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

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

Утилита buildah заменяет команду docker build как инструмент для создания контейнерного образа.

Аналогично, skopeo заменяет команду docker push и позволяет перемещать контейнерные образы между реестрами.

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

Нужно ли переписывать каждый Dockerfile и docker-compose файл, чтобы использовать Podman с существующими проектами
Абсолютно нет. Podman предлагает совместимость с синтаксисом Docker для файлов контейнеров (containerfile).

Также Podman предлагает инструмент под названием pod compose в качестве альтернативы docker compose.

Pod compose использует тот же синтаксис, позволяя вам определять и управлять многоконтейнерными приложениями с использованием того же подхода или даже с использованием существующих файлов "docker-compose.yml".

Podman также поставляется с Podman Desktop, предлагая расширенные функции, которые делают его мощнее и проще. Он совместим с Docker и Kubernetes, расширяя их возможности и обеспечивая простую работу.

Руководство по установке и документацию по Podman можно найти на их официальном веб-сайте podman.io.

@data_analysis_ml
👍16🔥43
🔝Топ-10 инструментов для обнаружения ChatGPT, GPT-4, Bard и Claude

1. GPTZero
GPTZero обладает высокой точностью, прост в использовании и имеет удобное расширени для Chrome.

2. OpenAI AI Text Classifier
ИИ-классификатор текста OpenAI обладает высокой точностью, но не предоставляет дополнительной информации о содержимом контента.

3. CopyLeaks
Это быстрая и точная проверка на плагиат, в виде расширения для Chrome.

4. SciSpace
SciSpace Academic AI Detector немного отличается от других упомянутых инструментов. Он обладает высокой точностью, но был специально разработан для обнаружения научного контента в PDF-файлах.

5. Hive Moderation
Функция обнаружения ИИ-генеративного контента Hive Moderation.

6. Content at Scale
ИИ-детектор контента Content at Scale прост в использовании и дает достаточно точные отчеты о конетнте.

7. Hello Simple AI
ChatGPT Detector by Hello Simple AI – это бесплатный инструмент с открытым исходным кодом, который можно использовать для обнаружения текста, создаваемого ChatGPT.

8. OpenAI HF Detector
OpenAI Detector – это бесплатный инструмент с открытым исходным кодом, который можно использовать для обнаружения текста, сгенерированного языковой моделью GPT от OpenAI.

9. Corrector.app
AI Detector от Corrector.app – это довольно точный инструмент, который можно использовать для обнаружения текста, сгенерированного ChatGPT, Bard и другими больми языковыми моделями (LLM).

10. Writer.com
Детектор контента AI от Writer.com завершает наш список, представляя собой наименее точный вариант с ограничением в 1500 символов.

@data_analysis_ml
👍8🔥43
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 PyGWalker: A Python Library for Exploratory Data Analysis with Visualization

PyGWalker: преобразуем датафрейм pandas в пользовательский интерфейс в стиле таблицы для визуального анализа.


pip install pygwalker

import polars as pl
df = pl.read_csv('./bike_sharing_dc.csv',try_parse_dates = True)
gwalker = pyg.walk(df)


🖥 Github
📌 Colab

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍126🤨3🔥2
🔥 Kubernetes и Docker для дата-сайентистов

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

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

📌 Читать

@data_analysis_ml
👍93🔥3🤨1
🔥 Большой список сайтов с практическимим задачами для программистов.

Codeforces — платформа для алгоритмических соревнований. Проводит контесты и раунды с 5 задачами на 2 часа. Есть система рейтинга и два дивизиона. Задачи можно решать и проверять после соревнования. Также есть доступ к тренировкам с задачами с прошлых соревнований.

HackerRank - сайт будет больше интересен продвинутым программистам, которые уже многое умеют. На этом сайте собрано множество задач на самые разные разделы Computer Science: традиционная алгоритмика, ИИ, машинное обучение и т.д. Если вы решите много задач, то вами могут заинтересоваться работодатели, регуляторно мониторящие эту платформу.

Codewars — популярный cборник задач на разные темы, от алгоритмов до шаблонов проектирования.

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

Timus Online Judge — русскоязычная (хотя английский язык также поддерживается) платформа, на которой более тысячи задач удачно отсортированы по темам и по сложности.

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

informatics.mccme.ru - платформа с теоретическим материалом и задачами, удобно разделенными по категориям. Большая база задач с олимпиад школьников также доступна.

SPOJ - большой англоязычный сайт с 20000+ задачами на разные темы: DP, графы, структуры данных и др. Иногда проводят неинтересные контесты, если не из страны их проведения.

CodeChef — менее крупный аналог Codeforces и TopCoder, тоже с огромным архивом задач и регулярными контестами.

Project Euler - сборник 500 задач, проверяющих знание математических алгоритмов. Часто используется на собеседованиях, чтобы оценить алгоритмическую подготовку кандидата.

Kaggle - соревнования по анализу данных.

Golang tests - канал с тестами по Go

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

Al Zimmermann’s Programming Contests — платформа, на которой регулярно проводятся контесты с задачами на исследование и оптимизацию. Интересен тем, что писать программу необязательно — даются только тестовые данные. Ответы можно расчитывать вручную, или просто гадать их на кофейной гуще.

Programming Praxis — сайт, где можно найти много интересных задач.

CheckIO — сайт с задачами для программистов всех уровней, который вы проходите в виде игры.

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

Prolog Problems — Подборка задач для программистов, использующих Prolog.

Сборник задач от СppStudio - задачи на С++, но их можно и на других языках.

Operation Go — практика написания кода на Go в форме браузерной игры.

Empire of Code — сайт для программистов, где необходимо писать код, реализующий стратегию и тактику виртуальных бойцов.

@data_analysis_ml
👍136🔥1👏1
🔊 AudioPaLM - нейросеть Google, которая умеет разговаривать, слушать и переводить.

AudioPaLM новая языковая модель, от Google, объединяющая две предыдущие модели: PaLM-2 и AudioLM. Эта мультимодальная архитектура позволяет модели распознавать речь, сохранять особенности интонации и акцента, осуществлять перевод на другие языки на основе коротких голосовых подсказок и делать транскрипцию.

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

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

На вход в модель подается смешанная последовательность текстовых и аудио-токенов, и модель декодирует эти токены в текст или аудио. Аудио-токены в дальнейшем преобразуются обратно в исходное аудио с использованием слоев модели AudioLM.

🖥 Demo: https://google-research.github.io/seanet/audiopalm/examples/#asr-section

📕 Статья: https://arxiv.org/abs/2306.12925

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍32
📚 7 примеров современных алгоритмов машинного обучения с кодом и полезными статьями для изучения.

1. Трансформеры

Что почитать:
- Трансформеры
- The Animated Transformer
- Transformer в картинках
- Знакомство с трансформерами
- Обучение алгоритма генерации текста на основе трансформеров

2 Графовые нейронные сети (GNN)

Что почитать:
- Графовые нейронные сети
- Graph Neural Networks: просто на математическом
- Ищем скрытые смыслы. Графовые нейронные сети

3. XGBoost:

Что почитать:
- XGBoost в R: пошаговый пример
- Введение в XGBoost для прикладного машинного обучения
- Как работает нативная поддержка категорий в XGBoost

4. Вариационные автоэнкодеры (VAE)

Что почитать:
- Вариационные автоэнкодеры (VAE) для чайников

- Применение простых Автоэнкодерных архитектур в задачах поиска аномалий при максимально несбалансированных данных

5. AutoML

Что почитать:
- Автоматическое машинное обучение
- Что такое автоматизированное машинное обучение (AutoML)

6. Генеративно-состязательная сеть (GAN)

Что почитать:
- Генеративная состязательная сеть (GAN) для чайников
- Создание изображений с использованием генеративно-состязательных нейронных сетей (GAN) на примере ЭКГ
- Генеративно-состязательная сеть

7. Трансферное обучение

Что почитать:
- Трансферное обучение: почему deep learning стал доступнее
- Трансферное обучение с Т5

@data_analysis_ml
24👍6🔥2🥰1
🖥 Продвинутый парсинг данных на Python.

Сегодня многие веб-сайты используют JavaScript для динамической загрузки контента. Это может затруднить парсинг данных традиционными методами.

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

1. Парсинг динамических сайтов.

Вот пример того, как использовать Selenium для парсинга веб-сайта, перегруженного JavaScript:

from selenium import webdriver
from bs4 import BeautifulSoup

driver = webdriver.Firefox()
driver.get('https://www.example.com')

# Wait for the JavaScript to load
time.sleep(5)

# Get the page source
soup = BeautifulSoup(driver.page_source, 'html.parser')

# Extract the data
table = soup.find('table', attrs={'id':'dynamic-table'})
data = []
for row in table.find_all('tr'):
data.append([cell.text for cell in row.find_all('td')])

# Close the browser
driver.quit()


Этот код сначала откроет веб-сайт в браузере Firefox. Затем он будет ждать загрузки JavaScript. После загрузки JavaScript, мы получим исходный текст страницы и разберм его с помощью BeautifulSoup.

Наконец, мы извлечем данные из таблицы и закроем браузер.

2. Работа с CAPTCHA и IP-блокировками

Существует ряд инструментов, которые могут помочь вам решить CAPTCHA. Одним из популярных инструментов является Anti-Captcha: https://anti-captcha.com/.

import requests

url = 'https://anti-captcha.com/api/create'
data = {
'type': 'image',
'phrase': captcha_text
}

response = requests.post(url, data=data)

captcha_id = response.json()['captchaId']

url = 'https://anti-captcha.com/api/solve'
data = {
'captchaId': captcha_id
}

response = requests.post(url, data=data)

solution = response.json()['solution']


Этот код сначала отправляет текст CAPTCHA в Anti-Captcha. Затем Anti-Captcha вернет captchaId, который вы можете использовать для запроса решения.

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

3. Пример того, как использовать прокси-сервис для изменения вашего IP-адреса:

import requests
import random

def get_proxy():
"""Gets a proxy from the proxy scrape service."""
response = requests.get('https://www.proxyscrape.com/')
data = response.json()
proxy = random.choice(data['results'])['ip'] + ':' + data['results'][0]['port']
return proxy

def scrape_website(proxy):
"""Scrape the website using the proxy."""
response = requests.get(url, proxies={'http': proxy, 'https': proxy})
soup = BeautifulSoup(response.text, 'html.parser')
data = []
for row in soup.find_all('tr'):
data.append([cell.text for cell in row.find_all('td')])
return data

if __name__ == '__main__':
proxy = get_proxy()
data = scrape_website(proxy)
print(data)

# Rotate the proxy
proxy = get_proxy()
data = scrape_website(proxy)
print(data)

Этот код сначала получит прокси от сервиса proxy scrape. Затем он будет использовать прокси для сканирования веб-сайта. Наконец, он выведет данные, которые были получены при парсинге.


@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍165🔥4
Создание инфографики с помощью Matplotlib

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

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

В этой статье мы рассмотрим создание инфографики с помощью matplotlib.

📌 Читать статью

@data_analysis_ml
👍13🔥54
🌍 20 библиотек Python для работы с пространственными данными.

Python стал доминирующим языком в области работы с геоданными, благодаря своей универсальности, обширной экосистеме библиотек и удобному синтаксису.

Эта подборка геопространственных библиотек Python содержит богатый инструментарий, для обработки и анализа данных ГИС.

1. ArcGIS API for Python (Esri) : Разработанная компанией Esri, эта библиотека предоставляет возможности GeoAI для пользователей ArcGIS.

2. Earth Engine API : API Earth Engine позволяет получить доступ к обширной коллекции геопространственных данных Google Earth Engine и выполнять задачи анализа с помощью Python.

3. TorchGeo (PyTorch): TorchGeo предоставляет инструменты и утилиты для работы с геопространственными данными в PyTorch.

4. fastai.vision (fast.ai): Хотя fastai.vision не предназначена специально для GeoAI, она является популярной библиотекой для задач глубокого обучения и компьютерного зрения, которая может быть использована для анализа геопространственных изображений.

5. arcpy (Esri) - это библиотека Python, предоставляемая Esri для работы с геопространственными данными на платформе ArcGIS. Она позволяет автоматизировать задачи геообработки и выполнять пространственный анализ.

6. PyQt (Riverbank Computing) - это набор утилиты Python для Qt. Его можно использовать для создания графических интерфейсов (GUI) для геопространственных приложений.

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

8. Rasterio - это библиотека для чтения и записи геопространственных растровых наборов данных. Она обеспечивает эффективный доступ к растровым данным и позволяет выполнять различные операции с геоданными.

9. GDAL (Open-Source Geospatial Foundation) - это мощная библиотека для чтения, записи и манипулирования геопространственными растровыми и векторными форматами данных.

10. Fiona - это Python API для чтения и записи геопространственных данных в различных форматах, включая Shapefiles и GeoJSON. Он хорошо интегрируется с другими библиотеками, такими как GeoPandas.

11. Shapely - это библиотека для геометрических операций в Python. Она позволяет создавать, манипулировать и анализировать геометрические объекты.

12. GeoPy - это библиотека которая позволяет преобразовывать адреса в географические координаты и наоборот. Библиотека для геокодирования и вычисления расстояний. Geopy также предоставляет функции для вычисления расстояний между точками на основе различных метрик расстояния.

13. PySAL: предоставляет широкий спектр методов пространственного анализа, включая пространственную автокорреляцию, кластеризацию и пространственную регрессию.

14. Pyproj - это интерфейс Python к библиотеке PROJ, которая предоставляет возможности преобразования координат. Она позволяет преобразовывать координаты между различными системами отсчета координат (CRS).

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

16. Geos - это библиотека C++, которая обеспечивает низкоуровневые геометрические операции, а библиотека Python Geos предлагает интерфейс Python к Geos. Она часто используется в сочетании с Shapely.

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

18. WhiteboxTools - это библиотека для геопространственного анализа и обработки данных. Она предлагает полный набор инструментов для таких задач, как анализ рельефа, гидрологическое моделирование и обработка данных LiDAR.

19.
GeoDjango - GeoDjango интегрируется с Django.

20. Xarray: Предназначен для работы с многомерными геопространственными наборами данных, предоставляет инструменты для манипулирования данными, анализа и визуализации.

@data_analysis_ml
👍14🔥43🤩1
🤗 Бесплатный курс по обработке естественного языка (NLP) от The Hugging Face

В этом курсе вы сможете узнать об обработке естественного языка с помощью библиотек из экосистемы Hugging Face.

Transformers
Datasets
Tokenizers
Accelerate

Здесь можно посмотреть видео о курсе.

🚀 Курс: https://huggingface.co/learn/nlp-course/chapter1/1

@data_analysis_ml
10🔥3👍2
🖥 Два продвинутых SQL-метода, которые могут значительно улучшить ваши запросы

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

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

Cегодня мы рассмотрим две новые техники SQL, которые вы можете добавить в свой набор инструментов, чтобы вывести ваши запросы на новый уровень. Эти методы называются Обобщённое табличное выражение (CTE) и Оконные функции.

Читать

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