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
💨 Методы предварительной обработки данных для Data Science
• Data cleansing and editing (очистка и преобразование данных): На этом этапе данные с недопустимыми значениями, выбросами или другими проблемами удаляются или корректируются. На этом этапе либо заполняются отсутствующие данные (NaN), либо удаляются объекты данных (или признаки данных), содержащие такие отсутствующие значения, если их доля велика.
• Feature transformation (преобразование/трансформация признаков): На этом этапе изменяются значения признаков (изменяется распределение, например, признаки масштабируются), их тип (непрерывные значения преобразуются в категориальные путем агрегирования и бинаризации), модальность (изображения преобразуются в табличные данные) и т. д. Этот этап в основном включает преобразования, направленные на улучшение качества признаков (и данных) или трансформацию признаков таким образом, чтобы они были применимы для машинного обучения.
• Feature selection (отбор признаков): На этом этапе мы стараемся сократить количество признаков (желательно с минимальной потерей информации) за счет поиска подпространства более низкого измерения с использованием методов сокращения размерности или просто путем удаления некоторых нерелевантных или дублирующих (сильнокоррелирующих) признаков. Этот этап направлен на упрощение моделей, снижение сложности обучения модели и избегание неприятных эффектов, типа проклятия размерности.
• Feature generation and construction (создание/генерация признаков): Данный этап включает в себя создание новых признаков на основе логики и знаний предметной области или математических преобразований, например, возведение в полиномиальную степень, перемножение значений признаков или другие виды смешения признаков. Этот этап направлен на выявление нелинейных сложных зависимостей в данных, преобразование их в явных вид (в виде нового признака) и создание более простых в использовании признаков для моделей машинного обучения.
• Data generation and augmentation (генерация данных): На этом этапе мы увеличиваем объем данных за счет копирования существующих точек (например, увеличения количества точек минорного класса), добавления слегка преобразованных имеющихся точек данных, создания новых синтетических данных из существующих или даже генерация данных из физических моделей.
Во время предварительной обработки сырые данные, которые часто не применимы для методов и алгоритмов машинного обучения, преобразуются в выборки данных, готовые для решения конкретных задач и построения моделей.
Подготовка датасета для машинного обучения: 10 базовых способов совершенствования данных
@data_analysis_ml
🗣 Оценка качества работы систем Speech to Text
Вопрос оценки качества работы систем распознавания речи возникает как перед разработчиками собственных решений, так и перед конечными пользователями. Насколько качественна система распознавания речи? Насколько она эффективная на разных типах данных?
▪Читать
@data_analysis_ml
✒️ Новая версия Scikit-Learn (1.2.0–1). Обзор функций для анализа данных.
Примерно в декабре прошлого года Scikit-Learn выпустила крупное стабильное обновление (версия 1.2.0–1). Теперь Scikit-Learn хорошо совместим с Pandas, некоторые новые функции могут помочь нам с моделями регрессии, а также с задачами классификации.
В статье я расскажу о некоторых новых обновлениях с примерами кода и рекомендациями как их использовать.
▪ Читать
@data_analysis_ml
🏷 Ресурсы, которые дадут очень прочную основу для начала работы с машинным обучением.
Набор тем, ранжированных по темам.
Градиентный спуск
Метрики — классификация
▪Матрицы неточностей, точность, прецезионность, 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
Data analytic (middle, senior)
Формат: классный офис в Москве/гибрид/удаленно;
Доход: 180-300К руб.;
Форма оформления: по ТК/ИП.
О нас: Мы занимаемся разработкой data-платформы, в рамках которой развиваются различные data-продукты:
• рекомендательные системы;
• сервисы аналитики и визуализации данных;
• ML-модели;
• иные решения для решения бизнес-задач.
Наша команда это 25 инженеров с сильнейшими компетенциями в ML, аналитике и работе с данными, и сейчас мы ищем классных ребят для дальнейшего роста.
У нас нет долгих согласований и бюрократии. Мы стремимся к быстрому внедрению в production, с последующей работой над улучшениями.
Что нужно будет делать:
• сегментация пользователей и анализ пользовательских данных;
• проведение ad-hoc исследований и создание аналитических решений для включения в продукт;
• работа с визуализацией данных.
Будет классно, если у тебя:
• знание методов сбора и подготовки данных.
• практический опыт развития продуктов на данных.
• SQL (оконные функции, вложенные запросы, регулярные выражения).
• владение инструментами визуализации данных (используем Tableau).
• методы статистического анализа.
• опыт работы с Python, опыт работы с etl/elt.
Большой плюс: опыт работы с большими наборами данных.
Мы предлагаем:
• работу в аккредитованной IT компании с сильнейшей командой в разных масштабных проектах;
• гибридный график работы 5/2, с 10:00 - 19:00;
• ДМС со стоматологией;
• в современном офисе в стиле Лофт с капсулой медитации, спортзалом, большой современной библиотекой и кабинетом для записи подкастов и треков;
• комфортную кухню с холодильником, кофемашиной, тостером, микроволновкой и Magic Bullet;
• холодильник с напитками (соки, энергетики, вода и т.д.) и едой (сыры, колбасы, сырки, фрукты и м.ч.);
• каждую пятницу совместные обеды за счет компании.
За подробностями пиши: tg @naikava
@datascienceml_jobs - вакансии Data Science
Пес Мухтар или специализированная защита приложения?
Сегодня мы поговорим о средствах защиты от сетевых атак, разберем конкретный случай, дадим рекомендации.
В средневековье для защиты от вторжения строили замки, возводили высокие башни и бойницы.
Современная защита сайта — это все то же самое.
Ранее мы уже говорили о разновидностях атак, сегодня мы разберем конкретный случай.
В общем, к нам обратился клиент с острой необходимостью защиты своего веб-сайта и приложения от DDoS атак. Почему острой? Потому что ресурсы не работали.
Человек ранее пользовался решениями от компании CloudFlare и все обстоит не так сказочно, как в сказках.
С веб-сайтом все достаточно просто, атака производилась full-stack ботами с поведенческой эмуляцией пользователя.
Для защиты мы использовали механизмы валидации.
Но с приложением все было не так красочно, приложение спроектировано на базе протокола UDP, но это не самое интересное.
Самое интересное, что клиент не понимал как работает его приложение, от слова совсем, а разработчика или соответствующего специалиста у него нет.
Атакующий в свою очередь постоянно менял векторы атак, что усложняло работу.
Для решения этой задачи мы проанализировали внутренний протокол приложения, и буквально через 15 минут приложение заработало.
Спустя 4 дня атаки начались вновь, только они были направлены не на приложение, а на переполнение каналов связи.
Мы это предусмотрели, поскольку крупные атаки сегодня не редкость, поэтому она оказалась несостоятельной.
С клиентом мы работаем и по сей день, человек остался доволен.
В конце этого блокбастера хочется сказать, что каждый проект по своему уникален, и к защите надо подходить на этапе открытия, а не когда вы уже работаете, и ваше приложение наглухо легло.
Так же необходимо понимать отличия между "сервисом защиты" и "инструментом". Сервис сделает все за вас, в отличие от инструмента. Если у вас остались вопросы напишите нам.
Предлагайте темы для обсуждений, подписывайтесь на наш канал, чтобы узнать больше о интернете.
#интернет #ддосзащита #разное
Яндекс Практикум ищет наставников на курс «Продуктовый аналитик»
Наставники учат студентов продуктовому подходу. Проект можно совмещать с основной работой: он будет занимать от 8 до 12 часов в неделю удалённо.
Какие задачи нужно будет решать?
— проводить встречи в мини-группах по 4-5 человек,
— разбирать проекты студентов и частые ошибки,
— рассказывать про интересные и удачные решения.
Кого мы ждём?
Действующих продуктовых аналитиков с опытом от двух лет, которые проводили продуктовые исследования и разбираются в метриках. Важно владеть математической статистикой, SQL и Tableau или Apache Superset.
Что мы предлагаем?
◾️ Удалённое сотрудничество из любой точки мира.
◾️ Дополнительный доход.
◾️ Сертификат в портфолио.
◾️ Обучение в бесплатной Школе наставников — двухнедельный интенсив по коммуникации и управлению командой.
◾️ Развитие софт-скиллов: публичные выступления, тайм-менеджмент, обратная связь, объяснение материала.
◾️ Профессиональное коммьюнити: нетворкинг, возможность писать статьи и участвовать в мероприятиях Яндекса и Яндекс Практикума.
Откликнуться: https://practicum.yandex.ru/job/vacancy-98
С 24 по 30 марта МТС проводит хакатон True Tech Hack.
Что на кону: победители разделят призовой фонд 1 500 000 рублей.
Кто участвует: frontend-, backend- и мобильные разработчики, data science специалисты, UX/UI-дизайнеры и продакт-менеджеры.
Что делать: создать решения для просмотра фильмов на мультимедийной онлайн-платформе KION для людей с особыми потребностями.
Условия: ты можешь участвовать со своей командой или тебе помогут ее найти.
Финальный питчинг и награждение: 31 марта офлайн на конференции True Tech Day.
Создавай впечатления для тех, кто ощущает мир иначе, на хакатоне от МТС.
Успей зарегистрироваться до 22 марта по ссылке: https://cnrlink.com/truetechahack31
В @Selectel появились новые конфигурации выделенных серверов с GPU для Machine Learning, инференса и других задач, связанных с обработкой больших данных. Вы можете арендовать одну из готовых конфигураций или собрать собственную: например, с NVMe-дисками, большим объемом памяти, несколькими видеокартами или сетевой картой 10 Гбит/с — под любые требования вашего проекта.
На все проекты в аккаунте вы получаете бесплатный безлимитный канал 1 Гбит/c. Серверы по умолчанию соответствуют стандартам 152-ФЗ — российского закона о персональных данных.
Вы можете арендовать сервер даже на день, чтобы протестировать все возможности GPU, но при долгосрочной аренде на 3, 6 и 12 месяцев действуют скидки до 15%. Чтобы заказать сервер, достаточно сделать пару кликов в удобной панели — и никакого установочного платежа.
Регистрируйтесь по ссылке и заказывайте выделенный сервер c GPU: https://slc.tl/savgg
Реклама ООО Селектел Pb3XmBtzsx5qxJAZa7EM4qFdyVYxDs44NqdfjMQ
Что дают аналитику навыки машинного обучения?
Представьте двух аналитиков: один анализирует данные продукта и визуализирует результаты; второй делает то же самое, но потом ещё и исследует неоднозначные события, глубже погружаясь в продукт, и прогнозирует будущие показатели.
Кто приносит бизнесу больше пользы?
Однозначно, второй. Он решает больше задач компании. Знание машинного обучения поможет вам стать более востребованным специалистом.
Освоить всё необходимое для работы можно на курсе Start ML.
Вы будете учиться под руководством опытных специалистов из Райффайзен и Яндекс. За 7 месяцев вы прокачаетесь в написании кода на Python, научитесь обучать классические модели и нейронные сети, а также оценивать их влияние на бизнес с помощью статистики и A/B-тестов — всё на реальных задачах бизнеса.
Записывайтесь на курс по ссылке до 10 марта. А по промокоду ANALYSISML18 вы получите скидку 10% на полную оплата. Ждем вас!
🧬 Примите участие в международной конференции Data Fusion 2023 от ВТБ, которая пройдёт 13-14 апреля.
Конференция будет полезна разработчикам и специалистам в области Data Science, CDO, бизнес-заказчикам DS-продуктов и сервисов, представителям государства и науки.
Первый день конференции будет посвящен аспектам управления данными, практикам перехода на доверенные технологии, доступности дата-сетов для ИИ и другим темам, актуальным для CDO и руководителей бизнес-подразделений.
Программа 14 апреля адресована data science специалистам и исследователям. Темы докладов и сессий распределены по трем стримам: «ML+», «AI Classic», «ML Environment».
На конференции представят новейшие технологии и инструменты, а также будут проведены практические сессии и выступления ведущих предприятий. Не пропустите возможность улучшить свои навыки и расширить свои знания в области Data Science.
Участие в конференции бесплатное. Успейте зарегистрироваться по ссылке: https://cnrlink.com/datafusion2
Введение в развёртывание ML: Flask, Docker и Locust
Вы потратили много времени на EDA, тщательно проработали все функции, несколько дней настраивали модель и, наконец, получили то, что хорошо работает в тестовом варианте. Теперь, мой друг, вам нужно развернуть вашу модель. В конце концов, любая модель, которая остаётся на локальном компьютере, ничего из себя не представляет, независимо от того, насколько она хороша.
Изучение этой части рабочего процесса Data Science может показаться непосильным, особенно если у вас нет большого опыта разработки программного обеспечения. Не бойтесь, основная цель этой статьи — познакомить вас с одним из самых популярных фреймворков для развёртывания на Python – Flask. Кроме того, вы узнаете, как контейнеризировать развёртывание и измерить его производительность – два аспекта, которые часто упускаются из виду.
▪Читать
▪Код
@data_analysis_ml
Завершился финал по профилю «Искусственный интеллект» Национальной технологической олимпиады
Ранее мы писали, что финал стартовал 27 февраля и продлится он вплоть до 3 марта. Школьники работали над задачей от Sber AI в командном туре, а в индивидуальном — показывали свои знания математики и информатики. По итогам финала были определены:
🏅 5 команд-победителей — они получат денежные сертификаты на образование. Напомним, призовой фонд конкурса — более 4 млн рублей.
🏅8 победителей и 17 призеров индивидуального тура — они получат преференции при поступлении в топ-вузы нашей страны, а также приглашения на прохождение оплачиваемой стажировки в Сбере и командах-партнерах. Направление стажировки — «Машинное обучение».
«Вы уже все, уважаемые конкурсанты, победители. Смело идите вперед, покоряйте свои вершины. Новых вам успехов и больших побед», — поздравила конкурсантов ректор Национального исследовательского технологического института «МИСиС» Алевтина Черникова.
🔎 13 Инструкций SQL для решения 90% ваших задач по обработке данных
Независимо от того, являетесь ли вы новичком в SQL или имеете некоторый опыт работы с ним, эта статья предоставит вам ценную информацию для подготовки к интервью и практические советы по работе с данными .
▪ Статья
@data_analysis_ml
Ваша цель – погрузиться в новые практики и инструменты дата-инжиниринга или понять, подходит ли вам эта сфера? Тогда пора на обучение!
NewProLab запускает 12-й обновленный поток интенсивной онлайн-программы Data Engineer, который подойдет для дата-инженеров, аналитиков данных, бэкенд-разработчиков, техлидов и менеджеров.
За 8 недель обучения вы получите: •
20 интенсивных занятий с преподавателями в зуме •
6 лабораторных работ - задач с реальными данными •
Общий чат с участниками и поддержку координатора
В конце обучения вы научитесь решать задачи DE, структурируете ваши знания и поработаете с облачным кластером для решения лаб с реальными данными, освоите необходимые навыки настройки инфраструктуры и devops-практики для своих data-решений. А все материалы программы останутся у вас навсегда!
Старт программы 27 марта
Подробная информация и регистрация по ссылке.
Бонус: Получите скидку 23% при покупке программы по промокоду birthday23.
🔥 Хардкорный тест для DS/ML-специалистов!
Ответьте на 15 вопросов и узнайте, достаточно ли у вас знаний, чтобы пройти онлайн-курс «Natural Language Processing (NLP)» в OTUS по спец.цене.
🚀 Курс поможет прокачать весь арсенал навыков, необходимых специалисту в NLP.
👉 Пройти тест: https://otus.pw/765K/
💣 Успешное прохождение теста откроет доступ к 2 урокам курса:
— Современные применения Natural Language Processing
— Задача Question-Answering в NLP
Ищем учеников на бесплатное обучение по созданию искусственного интеллекта с нуля. Опыт программирования не важен!🤖
Всего за 3 вечера под руководством Дмитрия Романова - основателя Университета Искусственного Интеллекта, лидера обучения AI-разработке в РФ, вы с легкостью напишете свой первый искусственный интеллект👨💻
Какие нейронные сети вы создадите?
▫️Классификация людей на входящих и выходящих из автобуса
▫️Обнаружение возгораний
▫️Оценка стоимости квартир
▫️Оценка резюме соискателей
▫️Прогнозирование стоимости полиметаллов
▫️Сегментация изображений самолетов
▫️Распознавание команд умного дома⠀
Лучше освоить навыки создания нейронных сетей вам помогут домашние задания с проверкой от кураторов.⠀
Приходите на бесплатное обучение и напишите искусственный интеллект за 3 вечера💪
Регистрация по ссылке
В современном мире тратить 5 лет на освоение профессии — роскошь. Хорошо, что сейчас есть программы, которые позволяют сделать это быстро. А некоторые из них — попробовать себя в новой роли бесплатно.
Предлагаем поучаствовать в интенсиве Skillbox «3 дня в роли бизнес-аналитика: основы профессии и первый кейс». Он пройдёт онлайн с 13 по 15 марта в 19:00 по московскому времени.
Всего за 3 вечера вы:
✅ Познакомитесь с профессией и поймёте, подходит ли она вам.
✅ Изучите инструменты аналитика.
✅ Научитесь ориентироваться на рынке бизнес-анализа.
✅ Попрактикуетесь на реальных задачах — соберёте данные о деятельности структурного подразделения.
И да — всё это бесплатно.
Ведущий интенсива — Антон Антипин, основатель и генеральный директор компании Business Set, сертифицированный эксперт в области моделирования бизнес-процессов, который 21 год работает в бизнес-аналитике.
🎁 Подарки участникам: электронная книга Дэвида Рубенштейна «Быть лидером» издательства МИФ и сертификат на скидку 5 000 рублей на любой курс Skillbox — каждому, кто будет онлайн!
Регистрируйтесь: https://epic.st/Ux2i1J
⭐️ Топ-5 ресурсов для лёгкого изучения Глубокого Обучения с Подкреплением.
Здесь я собрал список полезных, на мой взгляд ресурсов для изучения Глубокого Обучения с Подкреплением.
1. Hugging Face Deep Reinforcement Learning course: Возможно, лучший курс, который я когда-либо проходил. В потрясающей работе Томаса Симонини вы одновременно узнаете, как программировать и использовать алгоритмы DRL, используя среды StableBaselines3 и OpenAI Gymnasium, а также теорию, лежащую в основе обучения с глубоким подкреплением.
2. Foundations of Deep Reinforcement Learning
Я включил эту книгу в данную рубрику, потому что у неё есть важное преимущество: её очень легко читать и она дает хорошее базовое представление о теме.
3. Welcome to Spinning Up in Deep RL by OpenAI!
Данный источник содержит большое количество доступных для исследований тем, таких как ключевые статьи в DRL и полезные бенчмарки.
4. Reinforcement Learning book by Sutton and Barto
рекомендую вам эту книгу, чтобы вы изучили основы обучения с подкреплением. Это продвинутая книга, но почти без практических задач.Тем не менее, это классика, и из-за этого я думаю, что вы должны прочитать её, если собираетесь работать в этой области.
5. Li, Y. (2017). Deep reinforcement learning: An overview. arXiv preprint arXiv:1701.07274.
Наконец, если вам нужно выбрать направление своего исследования и получить широкое представление о процессе глубокого обучения с подкреплением, то это отличная статья. Я рекомендую вам прочитать ее, а затем поискать более свежие исследования по вашему конкретному направлению.
@data_analysis_ml
🎇 Создавайте потрясающие Фрактальные рисунки с помощью Python
Небольшое учебное пособие для начинающих и заядлых любителей математики.
В этой статье вы узнаете, как построить базовые (но очень красивые) множества Мандельброта, используя Matplotlib и NumPy.
▪ Читать
@data_analysis_ml
🔍 Что говорить на поведенческом интервью по науке о данных.
Собеседования в сфере дата-сайенс могут проходить по-разному в зависимости от компании и той должности, которую вы планируете занять. Как правило, все начинается с поведенческого интервью с менеджером по найму или сотрудником отдела кадров, за которым следует техническое собеседование с руководителем группы. Затем проводятся тест на написание кода и еще одно техническое собеседование с членами будущей команды.
В разных организациях этот процесс может варьироваться, но первым этапом при найме специалистов в сфере дата-сайенс остается поведенческое интервью.
Поведенческое интервью — это собеседование при приеме на работу, во время которого кандидата просят рассказать о достижениях на прежнем месте и его поведении в конкретных ситуациях. Это помогает определить, справится ли он с той или иной должностью. Во время такой беседы рекрутер, как правило, преследует следующие цели.
Узнать, к какому типу людей относится соискатель.
Понять, соответствует ли он требованиям культуры компании, сможет ли принять ее основные ценности.
Выяснить, сработается ли он с другими членами команды, будет ли разделять их видение и цели.
Первым делом на поведенческом собеседовании по дата-сайенс задаются личные вопросы. Скорее всего, в начале беседы вас попросят представиться и рассказать больше о себе.
Итак, у вас появляется прекрасная возможность заявить о себе как о перспективном кандидате. Поэтому важно заранее подготовить ответы на эти вопросы.
До собеседования узнайте больше о компании и должности, которую собираетесь занять. Вам также понадобится набросать план ответов. В этой статье мы обсудим, как правильно структурировать самопрезентацию, чтобы максимально конструктивно построить беседу с интервьюером.
1. Расскажите о своем бэкграунде
Для начала расскажите о своем профессиональном опыте и полученном образовании.
Начните с опыта. Опишите свой карьерный путь до этого момента, расскажите, чему научились, и не забудьте упомянуть самые важные результаты своей деятельности.
Также вы можете рассказать о полученном образовании, если оно имеет отношение к должности, на которую вы претендуете. Важно сосредоточиться только на опыте, который связан с той вакансией, на которую вы проходите собеседование.
К сожалению, многие кандидаты останавливаются на этом шаге и не переходят к следующему, в результате чего теряют возможность заявить о готовности принять ценности, видение и миссию компании. Тем не менее это важный этап собеседования — так вы можете показать, что действительно готовы стать ценным сотрудником. Посмотрим, как это сделать.
2. Выразите готовность принять ценности компании
Теперь настало время показать, что вы готовы стать частью команды.
Расскажите о том, что цените в работе и рабочем окружении, и свяжите эту информацию с ценностями и миссией компании. Помимо этого, можно объяснить, почему вам нравится работать в сфере науки о данных, объединив это с подходом компании к данным и тем, что ее представители в них ценят.
Допустим, вы собираетесь устроиться компанию, которая использует данные для принятия важных решений. В таком случае стоит сказать, что вам нравится работать с данными из-за их влияния на бизнес (важный момент, который следует подчеркнуть). Но для этого нужно предварительно узнать больше информации о компании и продумать ответ перед собеседованием.
3. Убедите работодателя, что подходите на эту вакансию
На последнем этапе интервью нужно доказать, что вы достойны занять должность, на которую претендуете. Расскажите о своих профессиональных компетенциях, а также о том, как они помогут вам выполнять должностные обязанности и почему вы заинтересованы в том, чтобы занять именно эту вакансию.
Это важный момент: вам нужно показать, что вы справитесь с будущими обязанностями, а не просто упомянуть свой опыт и ждать положительного ответа. Также стоит рассказать о том, каких результатов, по вашему мнению, вы сможете достичь на этой должности и чего вы от нее ожидаете.
@data_analysis_ml
🖼 Применение Аугментации с Даталодером
Важным для качественного решения задач CV (Computer Vision) с помощью нейронных сетей, помимо наличия качественной модели (зачастую уже предобученной на других задачах), также является датасет с достаточным количеством изображений (несколько десятков тысяч). Получить необходимый объем размеченных изображений зачастую довольно затруднительно, тогда на помощь может прийти аугментация. Аугментация позволяет увеличить объем исходного количества изображений за счет их изменений: поворот, растягивание/сжатие, изменение цветов и т.д.
Для сокращения времени процесса обучения нейронных сетей используют графические ускорители (GPU), объем памяти которых не способен вместить одновременно весь датасет и обучаемую модель. Для решения этой проблемы используют DataLoader, который «скармливает» нейросети данные из датасета порционно (батчами).
И кажется, что нет проблем: взять готовые архитектуры для аугментации, применить к датасету и поместить в даталодер. Однако, на данный момент DataLoader и Dataset в Pytorch не работают «из коробки» с популярной библиотекой для аугментации albumentations.
Выходом из этого является написание собственного класса Dataset. В данном случае — это Dataset для изображений Imagefolder (структура хранения изображений, при которой каждый класс хранится в папке с соответствующим именем). Для работы понадобится импорт следующих библиотек:import os
import albumentations as A
from torchvision import datasets, transforms
from torch.utils.data import Dataset, DataLoader
Создадим свой собственный класс ImageFolder, наследуя из класса Dataset:
class ImageFolder(Dataset):
def __init__(self, root_dir, transform=None, total_classes=None):
self.transform = transform
self.data = []
if total_classes:
self.classnames = os.listdir(root_dir)[:total_classes] # for test
else:
self.classnames = os.listdir(root_dir)
for index, label in enumerate(self.classnames):
root_image_name = os.path.join(root_dir, label)
for i in os.listdir(root_image_name):
full_path = os.path.join(root_image_name, i)
self.data.append((full_path, index))
def __len__(self):
return len(self.data)
def __getitem__(self, index):
data, target = self.data[index]
img = np.array(Image.open(data))
if self.transform:
augmentations = self.transform(image=img)
img = augmentations["image"]
target = torch.from_numpy(np.array(target))
img = np.transpose(img, (2, 0, 1))
img = torch.from_numpy(img)
return img, target
Далее создадим правило, по которому исходное изображение будет меняться:SIZE = 244
SIZE2 = 256
train_transform_alb = A.Compose(
[
A.Resize(SIZE2, SIZE2),
A.ShiftScaleRotate(shift_limit=0.05, scale_limit=0.05, rotate_limit=15, p=0.5),
A.RandomCrop(SIZE, SIZE),
A.RGBShift(r_shift_limit=15, g_shift_limit=15, b_shift_limit=15, p=0.5),
A.RandomBrightnessContrast(p=0.5),
A.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)),
]
)
В данном случае каждое изображение с какой-то долей вероятности (p) поворачивается, сжимается, обрезается, меняет цвета и яркость. А еще все изображения приводятся к одному размеру, а также нормализуются.
Однако, если мы применим трансформацию к исходным данным, их объем не изменится относительно изначальных, поэтому нужно отдельно написать шаги трансформации для исходных данных без аугментации (остаются: приведение к исходному размеру, центрирование и нормализация).train_transform_base = A.Compose(
[
A.Resize(SIZE2, SIZE2),
A.CenterCrop(SIZE, SIZE),
A.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225))
]
)
▪Читать дальше
@data_analysis_ml
🖥 Ускорьте код Pandas в 120 раз — Реальные методы ускорения
Pandas – это популярная и надёжная библиотека анализа данных на Python. Она предоставляет структуры данных и функции для управления числовыми таблицами и данными временных рядов.
Однако, при работе с огромными наборами данных, Pandas иногда может стать медленным и неэффективным инструментом. В этой статье мы рассмотрим, как мы можем использовать встроенные функции Python и Pandas для более быстрого выполнения вычислительных задач.
▪ Читать
@data_analysis_ml
Как использовать Регулярные выражения в Pandas для работы со строками
Регулярное выражение – это самый мощный метод очистки и извлечения данных. Если вы когда-либо работали с большим текстовым набором данных, вы бы знали, насколько много это отнимает времени и энергии.
Я часто использую регулярные выражения для очистки телефонных номеров и электронных писем, а также для стандартизации адресов. Но существуют и более сложные случаи, когда приходится обращаться к ним.
▪ Читать
@data_analysis_ml
🛠 7 инструментов Python, которые должен иметь каждый разработчик машинного обучения и Data Science специалист.
В этой статье будут представлены 7 полезных инструментов Python, которые должны изучить все программисты в 2023 году, чтобы ускорить процесс написания кода и упростить трудоёмкие задачи анализа данных.
Вы увидите инструменты, начиная от сред разработки (IDE), таких как PyCharm, и заканчивая инструментами тестирования браузера, такими как Selenium.
▪Читать
@data_analysis_ml
🔎 Как найти информативные фичи при работе с данными
Отбор признаков – удаление не информативных признаков из общего набора признаков. Вследствие чего достигается уменьшение времени обучения моделей, повышение точности, а также уменьшение вероятности переобучения.
Выделение признаков – генерация новых признаков на основе имеющихся. Новые признаки полностью описывают исходный набор данных и при этом уменьшают его размерность.
В этой статье я подробно расскажу о задаче отбора признаков. Существует множество методов для решения данной задачи.
▪Читать
@data_analysis_ml
Раскройте потенциал Python Numpy: руководство для начинающих в науке о данных
Смотреть
@data_analysis_ml
🌐 Пошаговое руководство по NLP: конструирование признаков текстовых данных
Конструирование признаков (feature engineering) — процесс выбора и создания наиболее релевантных и полезных признаков для ввода в модель машинного обучения. Это важнейший шаг в ходе МО, который может существенно повлиять на производительность, сложность и способность модели обобщать новые данные. Тщательно выбирая и конструируя признаки, используемые в качестве входных данных, можно повысить точность и эффективность модели и избежать ее чрезмерного обучения.
Одним из основных текстовых источников является Twitter. Соцсеть содержит множество информации, которую можно использовать для создания моделей МО, помогающих решать различные задачи, такие как анализ настроений, тематическая классификация и многие другие.
Чтобы обучить модель МО на данных твитов, сначала нужно извлечь из них признаки. Рассмотрим различные типы признаков, которые можно извлечь из твитов, и способы их получения в Python.
▪Читать
@data_analysis_ml
🖥 Подбор гиперпараметров модели машинного обучения в PySpark
Сегодня я расскажу, как с помощью библиотеки ML Tuning осуществить подбор гиперпараметров модели GBTRegressor в PySpark.
Apache Spark реализован на языке программирования Scala, который выполняется на JVM (Java Virtual Machine). Чтобы получить функциональность Spark в Python, используется PySpark. Поэтому те, кто не знаком со Scala, но знаком с Python, могут запросто использовать возможности фрейвморка Apache Spark.
• Читать
@data_analysis_ml