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

@haarrp - админ

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

@ai_machinelearning_big_data - ML

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

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

Набор тем, ранжированных по темам.

Градиентный спуск

Метрики — классификация

Матрицы неточностей, точность, прецезионность, recall, чувствительность
F1-оценка
TPR, TNR, FPR, FNR
Ошибки I и II типов
Кривые AUC-Roc

Метрики — регрессия

Общая сумма квадратов, объясненная сумма квадратов, остаточная сумма квадратов
Коэффициент детерминации и его скорректированная форма
AIC и BIC
Преимущества и недостатки RMSE, MSE, MAE, MAPE

Компромисс отклонение-дисперсия, Over/Under-Fitting

Метод k-ближайших соседей
Random Forests
Асимптотические свойства
Проклятие размерности

Выбор модели

k-Fold кросс-Валидация (перекрестная проверка)
L1 и L2 регуляризация
Байесовская оптимизация

Sampling

Классовый дисбаланс при обучении классифицирующих моделей
SMOTE
Несбалансированность классов в независимых переменных
Систематическая ошибка выборки

Модели регрессии

Глубокие нейронные сети для проблем регрессии
Случайная лесная регрессия
Регрессия XGBoost
ARIMA / SARIMA
Байесовская линейная регрессия
Регрессия на основе гауссовского процесса

Алгоритмы кластеризации


Метод К-средних
Иерархическая кластеризация
Процессы Дирихле

Классификационные модели

Логистическая регрессия
Множественная регрессия
XGBoost
Метод опорных векторов

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥34👍73
✒️ Новая версия Scikit-Learn (1.2.0–1). Обзор функций для анализа данных.

Примерно в декабре прошлого года Scikit-Learn выпустила крупное стабильное обновление (версия 1.2.0–1). Теперь Scikit-Learn хорошо совместим с Pandas, некоторые новые функции могут помочь нам с моделями регрессии, а также с задачами классификации.

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

Читать

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍181🔥1
🗣 Оценка качества работы систем Speech to Text

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

Читать

@data_analysis_ml
👍71🔥1
💨 Методы предварительной обработки данных для Data Science

• Data cleansing and editing (очистка и преобразование данных): На этом этапе данные с недопустимыми значениями, выбросами или другими проблемами удаляются или корректируются. На этом этапе либо заполняются отсутствующие данные (NaN), либо удаляются объекты данных (или признаки данных), содержащие такие отсутствующие значения, если их доля велика.

• Feature transformation (преобразование/трансформация признаков): На этом этапе изменяются значения признаков (изменяется распределение, например, признаки масштабируются), их тип (непрерывные значения преобразуются в категориальные путем агрегирования и бинаризации), модальность (изображения преобразуются в табличные данные) и т. д. Этот этап в основном включает преобразования, направленные на улучшение качества признаков (и данных) или трансформацию признаков таким образом, чтобы они были применимы для машинного обучения.

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

• Feature generation and construction (создание/генерация признаков):
Данный этап включает в себя создание новых признаков на основе логики и знаний предметной области или математических преобразований, например, возведение в полиномиальную степень, перемножение значений признаков или другие виды смешения признаков. Этот этап направлен на выявление нелинейных сложных зависимостей в данных, преобразование их в явных вид (в виде нового признака) и создание более простых в использовании признаков для моделей машинного обучения.

• Data generation and augmentation (генерация данных): На этом этапе мы увеличиваем объем данных за счет копирования существующих точек (например, увеличения количества точек минорного класса), добавления слегка преобразованных имеющихся точек данных, создания новых синтетических данных из существующих или даже генерация данных из физических моделей.

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

Подготовка датасета для машинного обучения: 10 базовых способов совершенствования данных

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥32❤‍🔥1🤔1🌚1
10 малоизвестных библиотек Python, которые стоит использовать дата-саентистам в 2023 году

PyGWalker: PyGWalker упрощает рабочий процесс анализа и визуализации данных в Jupyter Notebook, превращая фрейм данных pandas (или фрейм данных polars) в пользовательский интерфейс в стиле Tableau для визуального исследования.

SciencePlots: Создаёт профессиональные графики matplotlib для презентаций, исследовательских работ и т.д.

CleverCSV: Устраняет ошибки синтаксического анализа при чтении CSV-файлов с помощью Pandas.

Fastparquet: Ускоряет ввод-вывод pandas в 5 раз.

Bottleneck: ускоряет работу методов NumPy в 25 раз. Особенно, если массив имеет значения NaN.

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

Aquarel: дополнительные стили графиков matplotlib.

Modelstore: библиотека моделей машинного обучения для лучшего отслеживания работы моделей.

Pigeon: помогает анотировать данные щелчками мышки в Jupyter notebook.

Nbcommands: помогает легко выполнять поиск кода в Jupyter notebooks, а не выполнять это вручную.

Подробнее с примерами кода

@data_analysis_ml
👍12🔥9🥰21
8️⃣ Приемов очистки данных в SQL

1. Выявление и удаление дублирующих записей

SELECT DISTINCT column1, column2, ...
FROM table_name;

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

SELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name
HAVING COUNT(*) > 1;


2. Стандартизация текстовых полей

UPDATE table_name
SET column_name = UPPER(column_name);


Вы также можете использовать функцию REPLACE для замены определенных символов или строк в текстовых полях. Например:

UPDATE table_name
SET column_name = REPLACE(column_name, 'OldString', 'NewString');


3. Обработка отсутствующих или нулевых значений

SELECT column1, column2, ...
FROM table_name
WHERE column_name IS NULL;


Затем вы можете удалить эти записи или заменить отсутствующие значения значением по умолчанию. Например:

UPDATE table_name
SET column_name = 'DefaultValue'
WHERE column_name IS NULL;


4. Удаление кривых символов

UPDATE table_name
SET column_name = REPLACE(column_name, 'InvalidChar', '');

UPDATE table_name
SET column_name = REGEXP_REPLACE(column_name, '[^a-zA-Z0–9 ]', '');


5. Обработка выбросов

Чтобы определить и удалить выбросов, мы можем использовать функции AVG и STDDEV для расчета среднего и стандартного отклонения столбца.

SELECT AVG(column_name), STDDEV(column_name)
FROM table_name;


6. Корректировка форматов дат

Функция STR_TO_DATE может преобразовать строку в формат даты. Синтаксис функции следующий:

SELECT STR_TO_DATE(date_string, format_string)
FROM table_name;


7. Очистка текстовых данных


Функция REPLACE может заменить подстроку в строке. Функция TRIM позволяет удалить из строки ведущие и последующие пробелы. Синтаксис выглядит следующим образом:

SELECT UPPER(column_name)
FROM table_name;


SELECT REPLACE(column_name, 'old_string', 'new_string')
FROM table_name;
SELECT TRIM(column_name)
FROM table_name;


8. Проверка типов данных

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

SELECT CAST(column_name AS INT)
FROM table_name;

SELECT CONVERT(column_name, DATE)
FROM table_name;


@data_analysis_ml
👍2113🔥5
🖥 Docker: размещение и запуск Python сценария на русском

Процесс размещения скрипта Python в контейнере Docker:

Создание Dockerfile
Создание образа из Dockerfile
Запуск образа Docker

#doc #python #docker

Читать

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥31
5️⃣ Декораторов Python, которые я использую почти во всех своих проектах в области Data Science

С помощью декораторов мы можем сократить код и улучшить его читаемость. Я постоянно декораторами в своей работе.

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

Читать

@data_analysis_ml
11👍4🔥4🏆3
⚙️ Контролируемое машинное обучение (ML): Ускоренный курс по обработке данных 2023

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

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

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

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91🔥1
3 ПРОСТЫХ СПОСОБА КАК ВИЗУАЛИЗИРОВАТЬ ДАННЫЕ В PANDAS

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

Для примера будем возьмем датасет iris:

import pandas as pd
df = pd.read_csv("iris.data", header=None,
names=["sepal_length", "sepal_width", "petal_length","petal_width","class"])
df.head()

1) pandas.DataFrame.plot
Это самый простой способ быстро создавать диаграммы. Все, что вам нужно сделать, это добавить .plot() в конце имени DataFrame.

df.plot()

Пример: df["sepal_length"].plot.hist(figsize=(15,7))

2) pd.plotting.scatter_matrix()
Функция scatter_matrix из pandas plotting быстро создает матрицу точечных диаграмм (рассеяния). Таким образом, вы можете видеть взаимосвязь каждого столбца с каждым другим столбцом датафрейма.

Просто используйте функцию:

pd.plotting.scatter_matrix(df);

Пример:
pd.plotting.scatter_matrix(df[["sepal_length",
"sepal_width"]], figsize=(15,7));


3) pd.pivot_table().plot.barh()
Функция pivot_table() группирует указанные столбцы DataFrame вместе и суммирует другие указанные числовые столбцы в соответствии с предоставленной агрегатной функцией.
Для примера изменим немного наш код:

bins = [0,5,10]
labels = ["'0-5'","'6-10'"]
df['sepal_length_bucket'] = pd.cut(df['sepal_length'],
bins=bins, labels=labels)

df.head()
После этого вы можете использовать функцию pivot_table()

pd.pivot_table(data=df, index = ["class"],
columns=["sepal_length_bucket"],
values=["sepal_width"])


@data_analysis_ml
👍164🔥3
Математика дата саентиста - здесь мы публикуем математические задачи и гайды для машинного обучения с упором на практику. Проверяем ваши знания, а затем на основе ошибок предлагаем статьи и уроки.

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

@ds_math
👍133🔥1
📊 Эффективная визуализация данных (data visualization): 9 ценных советов по повышению качества ваших графиков

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

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

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

Читать

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍141👎1🔥1
MLOps. Советы и хитрости. 75 примеров кода

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

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

Читать

@data_analysis_ml
🔥73👍2🥰1
Полная дорожная карта для начинающих в машинном обучении

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

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

Читать

@data_analysis_ml
14👍7👎5🥰1
📊 3 Уникальные диаграммы, созданные с помощью Matplotlib

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

Читать

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍153🔥3🤯1🤨1
🖥 Применение простых Автоэнкодерных архитектур в задачах поиска аномалий при максимально несбалансированных данных

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

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

Читать

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥21
🖥 12 Декораторов Python, которые выведут ваш код на новый уровень

Если вы Python-разработчик, эта статья расширит ваш инструментарий полезными скриптами, поможет повысить производительность и избежать дублирования кода.

Читать

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥21
🖥 Python В SQL — Теперь можно загружать данные в 20 раз быстрее

Работа с большими наборами данных – повседневное дело для большинства специалистов по обработке данных. Не было бы никаких проблем, если бы они сразу передавались потоком в базу данных.

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

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

Читать

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥32
🖥 3 быстрых и простых способа визуализации ваших данных с помощью Pandas

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

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

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥21
💨 Что, где, откуда: извлекаем реляционный датасет из JSON

Когда вы сталкиваетесь с большим ненормализованным датасетом, да еще и в формате JSON, который нужно переложить в связанные SQL-таблицы, необходимо:

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

В целом, знание этих пунктов позволит сразу адаптировать датасет под реляционные СУБД и значительно сократить время, затраченное на его обработку, ведь со структурной точки зрения его не потребуется переделывать бессчётное количество раз. А для всего остального – есть функционал SQL.

📌 Читать

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍2🔥2🥰1
🖥 Полезные приемы с кодом для аналитиков данных на Python

1. Data Science. Советы по написанию эффективного кода на Python - https://www.youtube.com/watch?v=1Mcy-uatp_c&t=14s

2. Полезные приемы в Pandas - https://www.youtube.com/watch?v=Sd2S5rXe8sY&t=165s

3. Раскройте потенциал Python Numpy: руководство для начинающих в науке о данных - https://www.youtube.com/watch?v=XX2XremQ0fg&t=12s

4. Data science c Python.Ускоряем Pandas в 120 раз- https://www.youtube.com/watch?v=-dAdaEv23vk&t=4s

5. 26 практических приёмов и хитростей Python - https://www.youtube.com/watch?v=vAMyfvtxxdQ&t=5s

6. 5 декораторов Python для Data Science проектов - https://www.youtube.com/watch?v=rxq11WHAlqU

7. ChatGPT + Midjouney на практике - https://www.youtube.com/watch?v=2gUqbc3Ikmo&t=5s

8. Разбор вопросов с собеседований Python - https://www.youtube.com/watch?v=4L1e-A3AOL4&t=5s

9. 15 полезных лайфхаков с кодом Машинного обучения на Python - https://www.youtube.com/watch?v=loOtlwcdiBA&t=4s

10. Декораторы Python, которые выведут ваш код на новый уровень - https://www.youtube.com/watch?v=qxrGAogl4iM

🎞 Все видео по анализу данных

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍283🥰2👎1