Примерно в декабре прошлого года Scikit-Learn выпустила крупное стабильное обновление (версия 1.2.0–1). Теперь Scikit-Learn хорошо совместим с Pandas, некоторые новые функции могут помочь нам с моделями регрессии, а также с задачами классификации.
В статье я расскажу о некоторых новых обновлениях с примерами кода и рекомендациями как их использовать.
▪ Читать
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤1🔥1
🗣 Оценка качества работы систем Speech to Text
Вопрос оценки качества работы систем распознавания речи возникает как перед разработчиками собственных решений, так и перед конечными пользователями. Насколько качественна система распознавания речи? Насколько она эффективная на разных типах данных?
▪Читать
@data_analysis_ml
Вопрос оценки качества работы систем распознавания речи возникает как перед разработчиками собственных решений, так и перед конечными пользователями. Насколько качественна система распознавания речи? Насколько она эффективная на разных типах данных?
▪Читать
@data_analysis_ml
👍7❤1🔥1
• 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🔥3❤2❤🔥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
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🥰2❤1
8️⃣ Приемов очистки данных в SQL
1. Выявление и удаление дублирующих записей
SELECT DISTINCT column1, column2, ...
FROM table_name;
В качестве альтернативы можно использовать
2. Стандартизация текстовых полей
Вы также можете использовать функцию
3. Обработка отсутствующих или нулевых значений
Затем вы можете удалить эти записи или заменить отсутствующие значения значением по умолчанию. Например:
4. Удаление кривых символов
5. Обработка выбросов
Чтобы определить и удалить выбросов, мы можем использовать функции
6. Корректировка форматов дат
Функция STR_TO_DATE может преобразовать строку в формат даты. Синтаксис функции следующий:
7. Очистка текстовых данных
Функция
8. Проверка типов данных
Важно убедиться, что ваши данные имеют правильный тип данных. Для проверки и преобразования типов данных можно использовать функции
@data_analysis_ml
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
👍21❤13🔥5
Процесс размещения скрипта Python в контейнере Docker:
• Создание Dockerfile
• Создание образа из Dockerfile
• Запуск образа Docker
#doc #python #docker
• Читать
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3❤1
5️⃣ Декораторов Python, которые я использую почти во всех своих проектах в области Data Science
С помощью декораторов мы можем сократить код и улучшить его читаемость. Я постоянно декораторами в своей работе.
Вот пять наиболее распространённых декораторов, которые я использую почти в каждом проекте с большим объёмом данных.
• Читать
@data_analysis_ml
С помощью декораторов мы можем сократить код и улучшить его читаемость. Я постоянно декораторами в своей работе.
Вот пять наиболее распространённых декораторов, которые я использую почти в каждом проекте с большим объёмом данных.
• Читать
@data_analysis_ml
❤11👍4🔥4🏆3
В этом посте мы собираемся изучить этапы, необходимые для успешной интеграции и предварительной обработки любых данных, которые могут быть использованы в аналитических проектах в машинном обучении.
Мы взяли реальный пример того, как предсказать погоду на озере Мичиган, взяв данные из двух разных источников.
• Читать дальше
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1🔥1
3 ПРОСТЫХ СПОСОБА КАК ВИЗУАЛИЗИРОВАТЬ ДАННЫЕ В PANDAS
Визуализация данных является важным аспектом работы с данными. Рассмотрим несколько фнкций из арсенала Pandas.
Для примера будем возьмем датасет iris:
1) pandas.DataFrame.plot
Это самый простой способ быстро создавать диаграммы. Все, что вам нужно сделать, это добавить .plot() в конце имени DataFrame.
Пример:
2) pd.plotting.scatter_matrix()
Функция scatter_matrix из pandas plotting быстро создает матрицу точечных диаграмм (рассеяния). Таким образом, вы можете видеть взаимосвязь каждого столбца с каждым другим столбцом датафрейма.
Просто используйте функцию:
Пример:
3) pd.pivot_table().plot.barh()
Функция pivot_table() группирует указанные столбцы DataFrame вместе и суммирует другие указанные числовые столбцы в соответствии с предоставленной агрегатной функцией.
Для примера изменим немного наш код:
После этого вы можете использовать функцию pivot_table()
@data_analysis_ml
Визуализация данных является важным аспектом работы с данными. Рассмотрим несколько фнкций из арсенала 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
👍16❤4🔥3
Математика дата саентиста - здесь мы публикуем математические задачи и гайды для машинного обучения с упором на практику. Проверяем ваши знания, а затем на основе ошибок предлагаем статьи и уроки.
Если хочешь познать дзен и понимать как работают алгоритмы, а не просто импортировать их, подписывайся. Здесь реально учат.
@ds_math
Если хочешь познать дзен и понимать как работают алгоритмы, а не просто импортировать их, подписывайся. Здесь реально учат.
@ds_math
👍13❤3🔥1
Взуализация данных – это важная область, которую специалисты по обработке данных могут использовать для получения исследовательской информации, визуализации тенденций и закономерностей или доведения результатов своих выводов до заинтересованных сторон. Однако часто этим диаграммам не хватает чёткости, их трудно читать и интерпретировать или они просто слишком перегружены информацией, чтобы извлечь из них какие-либо значимые выводы.
Часто верно и обратное. Визуальное представление, содержащее минимум информации, может быть полностью устаревшим, и лучшей альтернативой было бы простое числовое представление или таблица.
В этой статье приведены 9 ценных советов о том, как избежать подобных сценариев и повысить ясность и эффективность информации, которую вы хотели бы донести в виде диаграмм.
▪ Читать
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤1👎1🔥1
✅ MLOps. Советы и хитрости. 75 примеров кода
MLOps, или операции машинного обучения, относятся к набору методов, которые оптимизируют разработку, развёртывание и обслуживание моделей машинного обучения.
Эта статья с содержит советы и рекомендации по MLOps и обработке данных, охватывая широкий круг тем, таких как обучение моделей, предварительная обработка данных, оптимизация производительности, мониторинг и развёртывание моделей.
▪ Читать
@data_analysis_ml
MLOps, или операции машинного обучения, относятся к набору методов, которые оптимизируют разработку, развёртывание и обслуживание моделей машинного обучения.
Эта статья с содержит советы и рекомендации по MLOps и обработке данных, охватывая широкий круг тем, таких как обучение моделей, предварительная обработка данных, оптимизация производительности, мониторинг и развёртывание моделей.
▪ Читать
@data_analysis_ml
🔥7❤3👍2🥰1
Полная дорожная карта для начинающих в машинном обучении
В 18 лет я получил работу своей мечты в качестве инженера по машинному обучению, которую многие считают высококонкурентной и предназначенной для профессионалов с многолетним опытом. Путь к этому был нелёгким.
Если вы заинтересованы в том, чтобы стать инженером по машинному обучению, но не знаете, с чего начать, вы находитесь в правильном месте. В этой статье я поделюсь полной дорожной картой для того, чтобы стать инженером по машинному обучению . Дорожная карта составлена на основе обширных исследований и обсуждений с несколькими инженерами-самоучками ML
▪ Читать
@data_analysis_ml
В 18 лет я получил работу своей мечты в качестве инженера по машинному обучению, которую многие считают высококонкурентной и предназначенной для профессионалов с многолетним опытом. Путь к этому был нелёгким.
Если вы заинтересованы в том, чтобы стать инженером по машинному обучению, но не знаете, с чего начать, вы находитесь в правильном месте. В этой статье я поделюсь полной дорожной картой для того, чтобы стать инженером по машинному обучению . Дорожная карта составлена на основе обширных исследований и обсуждений с несколькими инженерами-самоучками ML
▪ Читать
@data_analysis_ml
❤14👍7👎5🥰1
В рамках этой статьи мы кратко рассмотрим три уникальные визуализации, которые могут быть сгенерированы с помощью matplotlib (возможно, вы даже не представляли, что такое можно создать).
▪ Читать
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤3🔥3🤯1🤨1
При работе с постоянно растущим потоком данных, довольно часто возникает необходимость проверить, не появляются ли какие-либо аномалии, будь то фродовые мошеннические операции или произвольно возникающие ошибки из-за периодически напоминающих о себе багов внутри самой инфраструктуры или, как это часто бывает, человеческого фактора. Большинство перечисленных событий не являются статистически частыми, что вносит их в рамки редких, даже аномальных, и которые необходимо как-то фиксировать и устранять.
Я хочу поделиться способом решения задач классификации, а именно поиска аномалий, при помощи неприспособленного, на первый взгляд, для этого инструмента — автоэнкодера.
▪ Читать
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥2❤1
Если вы Python-разработчик, эта статья расширит ваш инструментарий полезными скриптами, поможет повысить производительность и избежать дублирования кода.
▪ Читать
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥2❤1
Работа с большими наборами данных – повседневное дело для большинства специалистов по обработке данных. Не было бы никаких проблем, если бы они сразу передавались потоком в базу данных.
Но, зачастую, случается так, что загрузка данных происходит очень долго. В таких случаях программистам приходится занимать себя другими делами, дожидаясь, пока процесс полностью завершится. Такой вариант подходит далеко не всем!
Если вы действительно хотите сократить это время, вам нужен наиболее оптимальный способ загрузки данных в БД.
▪ Читать
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥3❤2
В этой статье мы рассмотрим 3 простых и экономящих время способа визуализации ваших данных с помощью Pandas. Кроме того, я приложил Jupyter-Notebook со всеми примерами в конце этой статьи.
▪ Читать дальше
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2❤1
Когда вы сталкиваетесь с большим ненормализованным датасетом, да еще и в формате JSON, который нужно переложить в связанные SQL-таблицы, необходимо:
▪Читать датасет по чанкам;
▪Анализировать датасет на качество, смотреть на атрибуты;
▪Нормализовать датасет, раскрывать связи между сущностями и следить за их целостностью.
В целом, знание этих пунктов позволит сразу адаптировать датасет под реляционные СУБД и значительно сократить время, затраченное на его обработку, ведь со структурной точки зрения его не потребуется переделывать бессчётное количество раз. А для всего остального – есть функционал SQL.
📌 Читать
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍2🔥2🥰1
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
👍28❤3🥰2👎1