Data Science | Machinelearning [ru] – Telegram
Data Science | Machinelearning [ru]
20K subscribers
631 photos
39 videos
29 files
3.52K links
Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM.

По вопросам рекламы или разработки - @g_abashkin

РКН: https://vk.cc/cJPGXD
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Интересные концепции: утиная типизация
Слышали фразу: "Если что-то выглядит как утка, плавает как утка и крякает как утка, то, вероятно, это утка"? Эта поговорка характеризует утиную типизацию == утипизацию
This media is not supported in your browser
VIEW IN TELEGRAM
1. Не надо решать вопросы безопасности в последнюю очередь
2. Все приложения разные, у них разные нужды, поэтому выбирать технологии для разработки нужно, исходя из особенностей проектов. Не стоит ориентироваться на популярность технологий или поддаваться давлению руководства
3. Микросервисы нужны далеко не всем
4. Стандартизированное окружение разработки — это хорошо
5. Реализация подсистемы, отвечающей за настройки приложения, может оказаться более сложной, чем кажется на первый взгляд. Поэтому такие вещи нужно как следует планировать
6. Зависимости стоит использовать тогда, когда они нужны
7. Не нужно писать абстракции до тех пор, пока в этом не возникнет реальная необходимость
8. Иногда свой проект стоит «сжигать» и «возрождать из пепла»
9. Ваша компания — это не Google
10. Не стоит формировать свои взгляды на разработку ПО, полностью полагаясь на идеи случайных людей из интернета
This media is not supported in your browser
VIEW IN TELEGRAM
Что такое ETL?
ETL (от англ. Extract, Transform, Load — дословно «извлечение, преобразование, загрузка») — один из основных процессов в управлении хранилищами данных, который включает в себя:
извлечение данных из внешних источников;
их трансформация и очистка, чтобы они соответствовали потребностям бизнес-модели;
и загрузка их в хранилище данных.
С точки зрения процесса ETL, архитектуру хранилища данных можно представить в виде трёх компонентов:
источник данных: содержит структурированные данные в виде таблиц, совокупности таблиц или просто файла (данные в котором разделены символами-разделителями);
промежуточная область: содержит вспомогательные таблицы, создаваемые временно, и, исключительно для организации процесса выгрузки;
получатель данных: хранилище данных или база данных, в которую должны быть помещены извлечённые данные.
This media is not supported in your browser
VIEW IN TELEGRAM
Чек-лист для Data Science
➡️Наука о данных (Data Science) — не магия, а ваш бизнес никто не знает лучше вас. Помогайте специалисту инсайтами и информацией о бизнес-процессах, и результат не заставит себя ждать. Знание и понимание предметной области критически важно.
➡️Для анализа данных нужны данные. Лучше, если их много и они адекватные. Модель никогда не будет лучше данных, которые ей дадут. Не забывайте принцип «Мусор на входе — мусор на выходе».
➡️Исследователь данных не волшебник, способный спрогнозировать все изъяны нашего мира. Не рассчитывайте на это.
➡️Всегда перед постановкой ML-задачи (машинное обучение) спрашивайте себя: принесет ли решение значимую выгоду? Если нет, не беритесь за нее.
➡️Определите, к какому результату должна стремиться модель, какие ошибки критичны, а какими можно пренебречь.
➡️Если вы знаете конечную цель оптимизации (деньги, время), сосредоточьтесь сразу на ней. Так весь процесс будет проще и прозрачнее.
​​Основным понятием в Spark является RDD (Resilient Distributed Dataset), который представляет собой Dataset, над которым можно делать преобразования двух типов (и, соответственно, вся работа с этими структурами заключается в последовательности этих двух действий).
Tick Tok стремительно завоёвывает мир. Согласно данным Sensor Tower, это приложение для коротких видео было загружено более 2 миллиардов раз с App Store и Google Play. Что же за магия стоит за этим сенсационным приложением, вызывающим такое пристрастие со стороны пользователей? Не удивительно, что ответ кроется в рекомендательном движке на основе ML.
This media is not supported in your browser
VIEW IN TELEGRAM
Когда стоит использовать глубокое обучение

Глубокое обучение стоит использовать, когда:
более простые модели (логистическая регрессия) не дают требуемой верности;
требуется распознавать сложные паттерны в изображениях, NLP или звуковых данных;
размерность данных велика;
входные данные обладают временным измерением (последовательности).
This media is not supported in your browser
VIEW IN TELEGRAM
Полезные инструменты: virtualenv + pip

Опыт показывает, что каждый проект обладает своими зависимостями (библиотеками), а если и одинаковыми, то версии не совпадают. Чтобы упростить запуск и настройку проекта разработчики пишут INSTALL.mdREADME.mdmake-файлы и что более важно - requirements.txt.
Файл requirements.txt - это правило хорошего тона для Python проектов. Файл содержит список необходимых библиотек для запуска с указанием версий:
Наконец-то мы нашли этот канал!

Друзья, кто работает, учится или планирует начать заниматься программированием – welcome в Твой Программист.

🔥 Здесь есть всё, что нужно IT-специалисту: от статей до новостей, от обучения до юмора, от интерактива до просто полезных советов.

Автор собирает вокруг канала крутое коммьюнити, с которым познавать сферу будет ещё легче и интересней. Советуем подписаться 😌
This media is not supported in your browser
VIEW IN TELEGRAM
Почему ошибаются алгоритмы машинного обучения

Мы часто слышим о том, как очередной сложный алгоритм искусственного интеллекта начал ошибаться или стал следовать предрассудкам, которым машины не должны быть подвержены. Почему так происходит?
Из-за чего появляются эти ложные положительные и отрицательные ответы и так ли это важно? Для начала давайте определим три термина из Матрицы смешения: точность, возврат и правильность.
Компьютерное зрение против нежелательного видеоконтента

Хотите узнать о практических кейсах применения computer vision и machine learning? Тогда подключайтесь к нашему онлайн-митапу МТС и КРОК 8 июля в 19:00.

Участие бесплатно, регистрация по ссылке https://bit.ly/2NMBd1R

Мы расскажем про:
- анализ выкладки товаров на витринах в салонах МТС;
- классификацию текстов узконаправленной тематики в условиях малого - количества данных;
- детектирование нежелательного контента в видеопотоке;
- калибровку камеры для адаптации существующих детекторов к различным условиям.
This media is not supported in your browser
VIEW IN TELEGRAM
Vaex (eng)
Vaex — это высокопроизводительная библиотека Python для ленивых DataFrame’ов, работающих по алгоритму out-of-core (обработка данных во внешней памяти). Предназначена она для визуализации и изучения больших наборов данных. Vaex может вычислять базовую статистику для более чем миллиарда строк за одну секунду. Она поддерживает несколько визуализаций, тем самым позволяя интерактивное изучение больших данных.
This media is not supported in your browser
VIEW IN TELEGRAM
Vaex против Dask
Vaex не похож на сам Dask, но имеет сходства с его DataFrame’ами, которые создаются на основе DataFrame’ов Pandas. Это означает, что Dask наследует проблемы Pandas, например необходимость полной загрузки данных в RAM для их обработки. В Vaex же этой проблемы нет.
Vaex не создаёт копий DataFrame’ов, а значит может обрабатывать более крупные DataFrame’ы на машинах с меньшим количеством основной памяти.
И Vaex, и Dask используют ленивую обработку. Единственное отличие в том, что первый вычисляет поле при необходимости, а для второго нам нужно явно использовать функцию вычисления.
Для того, чтобы полноценно воспользоваться преимуществами Vaex, данные должны быть в формате HDF5 или Apache Arrow.
This media is not supported in your browser
VIEW IN TELEGRAM
lambda-функции
Python поддерживает интересный синтаксис, позволяющий определять небольшие однострочные функции на лету. Позаимствованные из Lisp, так называемые lambda-функции могут быть использованы везде, где требуется функция.
Небольшой пример...
This media is not supported in your browser
VIEW IN TELEGRAM
Google представил пользователям YouTube функцию с искусcтвенным интеллектом

Google SmartReply — это технология на основе искусственного интеллекта, которая помогает предлагать ответы на сообщения в Gmail, Android-сообщениях, Play Developer Console и других местах. В Google объявили о выпуске обновленной версии SmartReply, созданной для YouTube. Она позволит авторам легче и быстрее взаимодействовать со своими подписчиками в комментариях, сообщает Tech Crunch.
This media is not supported in your browser
VIEW IN TELEGRAM
langid.py
Представим ситуацию: есть блог, в котором публикуются посты на двух языках (а может и на 10). Необходимо рассортировать посты по языкам в разные RSS. (постов очень много, пускай 1000)
Вопрос - как вы решили бы такую задачу?
Чтобы решить подобную задачу можно воспользоваться библиотекой langid.py. Это небольшой инструмент, который без доступа в Интернет(!!!) может определить язык текста (и слова).
Инструмент работает и из консоли, и как web сервис, а также как обычный Python-модуль:
>>> import langid
>>> langid.classify("This is a test")
('en', 0.99999999099035441)
Ссылка на инструмент:
https://github.com/saffsd/langid.py
Для всех, кто интересуется Data Science и ищет работу в этом направлении — рекомендуем вам канал с предложениями по работе в этой области.
@datasciencejobs специализируется только на узкоспециализированных релевантных вакансиях: ничего лишнего, только лучшие вакансии по теме с обязательным указанием предлагаемой зарплаты.

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

Приходите в мир науки и искусственного интеллекта
👉 https://news.1rj.ru/str/datasciencejobs
This media is not supported in your browser
VIEW IN TELEGRAM
*args, **kwargs
При написании кода не всегда хочется явно прописывать все аргументы. Например - на вход программы подается набор аргументов:
This media is not supported in your browser
VIEW IN TELEGRAM
Искусственный интеллект в международных отношениях: эпоха «цифровой дипломатии»

Международные отношения на современном этапе находятся в плачевном состоянии, в связи с чем слышатся призывы усовершенствовать функционирование международной дипломатии. Один из способов сделать это мог бы заключаться в использовании некоторых достижений научно-технического прогресса для налаживания межгосударственного взаимодействия. В число областей, где такой подход уже применяется, вошла международная дипломатия, для развития которой применяется искусственный интеллект (ИИ). В частности, решения в области ИИ уже активно используются в Китае для проработки дипломатами сценариев развития событий на международной арене. ИИ также всё больше используется в рамках экономической дипломатии применительно к торговым переговорам. В будущем важно сделать так, чтобы развивающиеся страны имели возможность пользоваться ИИ при заключении международных договоров и развитии международного сотрудничества.
​​Будущее рядом — освой профессию Data Scientist

Раньше мы с огромным интересом смотрели фильмы про искусственный интеллект и гадали, как же это пришло в голову сценаристам и режиссёрам, ведь так не бывает. 
Но в реалиях настоящей жизни искусственный интеллект — это не фантазии американских сценаристов-выдумщиков. Это реальность, которая стремительно врывается в нашу жизнь. Но с одной поправкой. Незаменимый помощник Data Scientist — специалист по машинному обучению, который выбирает архитектуру и обучающие алгоритмы, для работы с этими данными.
 
И у тебя как раз есть шанс стать тем самым незаменимым специалистом благодаря курсу от Skillbox «Профессия Data Scientist». 

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

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

Открой мир будущего — переходи по ссылке https://clc.to/yMN_xg и бронируй место на курсе со скидкой 40%.
This media is not supported in your browser
VIEW IN TELEGRAM
Генераторы списков

Если вы использовали Python достаточно долго, вы должны были хотя бы слышать о понятии «list comprehensions». Это способ уместить цикл for, блок if и присваивание в одну строку.
Генератор списков - яркий пример «синтаксического сахара». То есть конструкции, без которой легко можно обойтись, но с ней намного лучше :) Генераторы списков, как это не странно, предназначены для удобной обработки списков, к которой можно отнести и создание новых списков, и модификацию существующих. Допустим, нам необходимо получить список нечетных чисел, не превышающих 25. В принципе, только познакомившись с работой команды xrange решить эту проблему несложно.