Аналитик данных
6.06K subscribers
215 photos
28 videos
2 files
200 links
Аналитика данных, Дата Сеанс

@workakkk - по всем вопросам
Download Telegram
🖥 dtreeviz: инструмент визуализации и интерпретации деревьев решений

Если вы хотите найти простой способ визуализации и интерпретации модели дерева решений, используйте dtreeviz.

На изображении выше показан результат работы dtreeviz при применении инструмента к DecisionTreeClassifier.


Github

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Полезные бесплатные курсы от Google.

Ускоренный курс Google машинное обучениебаза машинного обучения, включает видеолекции от исследователей из Google.

Основы Python для анализа данных — программирование на Python.

Введение в Data Science и аналитику — курс по Data Science и Data Science Life Cycle.

@data_analysis_ml
📌 Предлагаем вам подборку бесплатных курсов по аналитике и визуализации данных

Digital-аналитика — This is Data

Визуализация данных - Онлайн-школа ILYN

Microsoft Power BI — Microsoft Learn

Power Bi для интернет-маркетинга — NeedForData

Основы работы с DataLens — Яндекс Практикум

Google Data Studio (2022) — Яков Осипенков

Google Data Studio (2022) — Школа аналитики "Байкал"

@data_analysis_ml
4
💡 Начало работы с pytest

Если вы хотите протестировать свою функцию на разных примерах, используйте декоратор pytest.mark.parametrize из библиотеки pytest.

В приведенном выше коде ожидается, что первое предложение будет содержать слово "duck", а второе предложение не будет содержать этого слова. При запуске pytest прошло 2 теста.


import pytest

def text_contain_word(word: str, text: str):
'''Find whether the text contains a particular word'''

return word in text

test = [
('There is a duck in this text',True),
('There is nothing here', False)
]

@pytest.mark.parametrize('sample, expected', test)
def test_text_contain_word(sample, expected):

word = 'duck'

assert text_contain_word(word, sample) == expected


Github
Python Testing с pytest

@data_analysis_ml
🗺 Список полезных Python-библиотек для работы с геоданными:

1. Gmaps - библиотека для работы с Google maps, кот позволяет визуализировать и взаимодействовать с геоданными.

2. Leafmap - Python пакет для создания интерактивных карт для геопространственного анализа. Эта библиотека доступна в среде Jupyter, Google Colab, Jupyter Notebook и JupyterLab, и позволяет анализировать и визуализировать геоданные без особого труда.

3. Folium - это Python-библиотека для бычтрой визуализации геоданных, которая предоставляет интерфейс Python для работы с leaflet.js, одной из самых популярных библиотек JavaScript, используемых для создания интерактивных карт. Библиотека позволяет работать с файлами GeoJSON и TopoJSON, создавать фоновые картограммы с различными цветовыми схемами, персонализировать всплывающие подсказки и интерактивные карты-врезки.

4. Geopandas - это библиотека, которая предназначена для работы с геоданными в Python. Она предоставляет объект геодатафрейм, который по своей сущности аналогичен датафрейму Pandas, но который содержит информацию о геометрии, являющейся определением пространственного объекта.

5. Ipyleaflet - это интерактивная и многофункциональная библиотека виджетов, которая предоставляет возможность визуализировать карты.
🖥 Как переписать и оптимизировать ваши SQL-запросы к Pandas на пяти простых примерах

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

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

Хотя Pandas может быть новым для людей, знакомых с SQL, концепции выбора, фильтрации и агрегирования данных в SQL легко переносятся в Pandas. Давайте рассмотрим в этой статье некоторые распространённые SQL-запросы и способы их написания и оптимизации в Pandas.

Читать

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 5 примеров использования Redis с кодом на Python

1. Caching
Redis можно использовать для кэширования часто используемых данных, снижая нагрузку на ваше основное хранилище данных. Вот пример того, как реализовать кэширование с помощью Redis в Python

import redis

# Connect to Redis
r = redis.Redis(host='localhost', port=6379, db=0)

def get_data_from_cache(key):
# Check if data exists in the cache
if r.exists(key):
# Retrieve data from the cache
data = r.get(key)
return data.decode('utf-8') # Convert bytes to string
else:
# Fetch data from the primary data source
data = fetch_data_from_source()

# Store data in the cache with a timeout of 1 hour
r.setex(key, 3600, data)
return data


2. Pub/Sub (Publish/Subscribe):
Redis поддерживает паттерн pub/sub, позволяя вам создавать системы обмена сообщениями. Вот пример:

import redis
import time

# Connect to Redis
r = redis.Redis(host='localhost', port=6379, db=0)

def publish_message(channel, message):
# Publish a message to the specified channel
r.publish(channel, message)

def subscribe_channel(channel):
# Subscribe to a channel and process incoming messages
pubsub = r.pubsub()
pubsub.subscribe(channel)

for message in pubsub.listen():
print(message['data'].decode('utf-8')) # Process the received message


3. Rate Limiting:
Redis можно использовать для реализации ограничения скорости, чтобы контролировать количество запросов или операций за период времени. Пример:

import redis

# Connect to Redis
r = redis.Redis(host='localhost', port=6379, db=0)

def check_rate_limit(ip_address):
# Increment the request count for the IP address
request_count = r.incr(ip_address)

# If the count exceeds the limit (e.g., 100 requests per minute), deny the request
if request_count > 100:
return False

return True


4. Session Storage:
Redis можно использовать для хранения данных сеанса в веб-приложениях. Пример:

import redis
import uuid

# Connect to Redis
r = redis.Redis(host='localhost', port=6379, db=0)

def create_session(user_id):
# Generate a unique session ID
session_id = str(uuid.uuid4())

# Store the session data in Redis with a timeout of 30 minutes
r.setex(session_id, 1800, user_id)

return session_id

def get_user_id_from_session(session_id):
# Retrieve the user ID from the session data in Redis
user_id = r.get(session_id)

if user_id is not None:
return user_id.decode('utf-8') # Convert bytes to string
else:
return None


5. Leaderboard:
Redis можно использовать для создания таблиц лидеров или рейтингов на основе набранных баллов. Пример:

import redis

# Connect to Redis
r = redis.Redis(host='localhost', port=6379, db=0)

def update_score(player_id, score):
# Update the score of a player
r.zadd('leaderboard', {player_id: score})

def get_leaderboard():
# Get the top 10 players from the leaderboard
leaderboard = r.zrevrange('leaderboard', 0, 9, withscores=True)

for player, score in leaderboard:
print(f"Player: {player.decode('utf-8')}, Score: {score}")


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

Github

@data_analysis_ml
Прощайте, циклы в Python: знакомство с возможностями векторизации

В этой статье я хочу поделиться с вами захватывающей техникой, которая произвела революцию в моём подходе к анализу и визуализации данных в Python.

Она называется векторизацией и позволяет вам попрощаться с циклами и использовать более эффективный и элегантный способ программирования.

Читать

@data_analysis_ml
3
8 инструментов распознавания речи:

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

2. wav2letter - open-course набор инструментов от Facebook AI Research, объединенный с библиотекой Flashlight.

3. OpenSeq2Seq- исследовательский проект от NVIDIA по проблемам преобразования последовательностей в последовательности.

4. TensorFlowASR – это бесплатный набор инструментов с открытым исходным кодом от Tensorflow, который включает в себя обученные модели на основе рекуррентных нейронных сетей с CTC.

5. SpeechRecognition - проект, предоставляющий доступ к нескольким моделям автоматического распознавания речи, включая оболочки для речевых API от Google, Microsoft Azure и IBM.

6. Yandex SpeechKit от Яндекса - программный продукт, который полностью разработан и настроен.

7. SmartSpeech от СберDevices - проект предоставляет возможность использовать несколько моделей для автоматического распознавания речи, включая оболочки для речевых API от Google, Microsoft Azure и IBM.

8. Сервис Google Документы позволяет переводить устную речь в записанный текст. Это встроенная функция с поддержкой разных языков. Для активации голосового ввода перейдите в раздел «Инструменты» и кликните на «Голосовой ввод»

@data_analysis_ml
💬 Полезные NLP инструменты: Библиотека fastText

fastText - это библиотека для анализа и классификации текста.

Вот как загрузить и использовать предварительно обученные модели:

import fasttext
from huggingface_hub import hf_hub_download

model_path = hf_hub_download(repo_id="facebook/fasttext-en-vectors", filename="model.bin")
model = fasttext.load_model(model_path)
model.words

['the', 'of', 'and', 'to', 'in', 'a', 'that', 'is', ...]

len(model.words)

145940

model['bread']

array([ 4.89417791e-01, 1.60882145e-01, -2.25947708e-01, -2.94273376e-01,
-1.04577184e-01, 1.17962055e-01, 1.34821936e-01, -2.41778508e-01, ...])


В следующем примеры мы будем использовать метод ближайших соседей:

import fasttext
from huggingface_hub import hf_hub_download

model_path = hf_hub_download(repo_id="facebook/fasttext-en-nearest-neighbors", filename="model.bin")
model = fasttext.load_model(model_path)
model.get_nearest_neighbors("bread", k=5)

[(0.5641006231307983, 'butter'),
(0.48875734210014343, 'loaf'),
(0.4491206705570221, 'eat'),
(0.42444291710853577, 'food'),
(0.4229326844215393, 'cheese')]


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

import fasttext
from huggingface_hub import hf_hub_download

model_path = hf_hub_download(repo_id="facebook/fasttext-language-identification", filename="model.bin")
model = fasttext.load_model(model_path)
model.predict("Hello, world!")

(('__label__eng_Latn',), array([0.81148803]))

model.predict("Hello, world!", k=5)

(('__label__eng_Latn', '__label__vie_Latn', '__label__nld_Latn', '__label__pol_Latn', '__label__deu_Latn'),
array([0.61224753, 0.21323682, 0.09696738, 0.01359863, 0.01319415]))


Github

@data_analysis_ml