Доброго времени суток!
Представляю вашему вниманию чек-лист из 100 вопросов по Data Science. Вопросы покрывают 5 областей: SQL, Python, Machine Learning, статистику и собственно саму DS.
Кому это вообще может быть полезно?
Пользователь
Доброго времени суток!
Представляю вашему вниманию чек-лист из 100 вопросов по Data Science. Вопросы покрывают 5 областей: SQL, Python, Machine Learning, статистику и собственно саму DS.
Кому это вообще может быть полезно?
Сейчас любое серьезное приложение, работающее в продуктивной среде требует обеспечение высокого уровня надежности функционирования. Обеспечение такой надежности требует использования ряда средств, таких как отказоустойчивые каналы связи, наличие дублирования источников питания и т. д. Но наиболее важным элементом обеспечения надежности является создание отказоустойчивой конфигурации серверов, на которых работает данное приложение.
Совершенно очевидно, что если приложение запущено на одном сервере, то в случае его отказа приложение будет недоступно до тех пор, пока не будет исправлен сбой сервера. Основная задача кластеризации это устранение данной ситуации с помощью своевременного, обнаружения аппаратных и программных сбоев и немедленно переключение на другой узел кластера – это процесс, известный как отработка отказа.
Существует много различных вариантов создания кластеров под Linux. Мы будем использовать MPI (Message Passing Interface) для обеспечения взаимодействия между узлами нашего кластера.
И снова здравствуйте, уважаемые читатели Хабра. Мы продолжаем наше путешествие в мир алгоритмов поиска оптимального пути.
В прошлой работе мы уже узнали, как можно найти оптимальный путь в графе в несколько сотен вершин. В данной работе хочу более подробно остановится на сути метода, а также разобрать возможность по его ускорению на графах от тысячи элементов.
За окном январь и холодно. Но весна уже скоро, и в голову приходят мысли о том, что хочется сделать на даче. В первое дачное межсезонье я был озабочен покупкой необходимых устройств – инструментов, насосной станции и косилки. Во второе озаботился нормальным забором (у нас тогда была покосившаяся рабица). Сейчас – третье, и больше всего меня волнует, что на даче нет отопления. А я бы с удовольствием провел на ней рождественские каникулы ☹.
Важно: сегодня я пишу не о том, что сделано, а о том, что предстоит сделать. Все это – пока проекты в голове и на бумаге, и я буду весьма признателен за конструктивную критику идей.
Начну с того, что я написал на Rust консольный клиент для WoW. В текущий момент он работает в режиме прослушки пакетов и может быть использован, как бот. В дальнейшем планируется усовершенствовать ручную отправку пакетов. Что именно на данный момент реализовано...
Извлечение информации означает создание структурированных данных из неструктурированного текста. На практике задача может выглядеть так: нужно автоматически создать запись в календаре исходя из текста письма, как на рисунке ниже.
В нашей прошлой статье мы ускорили наши модели в 10 раз, добавили новые высококачественные голоса и управление с помощью SSML, возможность генерировать аудио с разной частотой дискретизации и много других фишек.
В этот раз мы добавили:
eugeny
);ё
со словарем в 4 миллиона слов и точностью 100% (но естественно с рядом оговорок);Пока улучшение интерфейсов мы отложили на некоторое время. Ускорить модели еще в 3+ раза мы тоже смогли, но пока с потерей качества, что не позволило нам обновить их прямо в этом релизе.
Попробовать модель как обычно можно в нашем репозитории и в колабе.
Для начала пару слов об обработке текстовой информации, рекуррентных сетях и методах защиты конфиденциальности пользователя.
Рекуррентные нейронные сети (Recurrent Neural Networks, RNNs) — популярные модели, используемые в обработке естественного языка (NLP). Идея RNN - в последовательном использовании информации. В классических нейронных сетях имеется ввиду, что все входы и выходы автономны. Но для предсказания следующего слова необходимо иметь представление о предыдущем - для этого отлично подходят RNNs, которые выполняют одинаковые задачи для каждого элемента последовательности (или грубо говоря сети с "памятью", которая учитывает прошлую информацию).
Именованные сущности – это слово или сочетание, обозначающее объект либо явление определенной категории. Говоря о таких объектах в контексте анализа данных, чаще всего имеют в виду ограниченный набор видов: имя (псевдоним), дата, должность (роль), адрес, денежная сумма, название организации и др.
Расположение данных объектов в строгой структуре документа формирует отдельное признаковое пространство визуальной стороны страницы и может повысить качество классификации (или кластеризации). Предлагаем разобраться, как можно получить и использовать координаты именованных сущностей в документе.
Возьмем бланк одностраничного согласия на обработку персональных данных
Вместо предисловия:
Да, наверное, нет более избитой темы, чем алгоритмы сортировки. Однако, меня в свое время так увлек процесс разбора того, какие алгоритмы задействованы в NumPy, что захотелось всем об этом рассказать. Возможно, слишком мелкая вещь, возможно, занудство какое-то, но тешу себя надеждой, что материал может быть полезным для тех, кто тему только начал! Особенно для таких же людей, как я, перешедших из смежных сфер (из телекома, например), где алгоритмы и структуры данных могут попросту не изучаться (бывает и такое). Если где-то что-то напутал (или наоборот материал оказался для вас полезным), буду рад обратной связи!
К старту курса о машинном и глубоком обучении мы решили поделиться переводом статьи с наглядным объяснением того, как работают CNN — сети, основанные на принципах работы визуальной коры человеческого мозга. Ненавязчиво, как бы между строк, автор наталкивает на размышления о причинах эффективности CNN и на простых примерах разъясняет происходящие внутри этих нейронных сетей преобразования.
Есть тексты, похожие на вино или динамит: с годами они не стареют, а напротив приобретают вес и значимость. Сегодня, к старту флагманского курса о Data Science, мы решили поделиться переводом визуального учебного руководства о NumPy 2019 года, прочитав которое даже не слишком близкий к математике человек поймёт, как работает эта библиотека Python. Если вы не хотите долго объяснять NumPy, но делать это всё равно приходится, положите статью в закладки и она сэкономит ваше время.
Мы рады объявить, что Pylance, наша быстрая и многофункциональная языковая поддержка Python в Visual Studio Code, официально вышла из предварительной версии и достигла своего первого стабильного выпуска.
Ранее на этой неделе мы объявили, что, начиная с майского выпуска расширения Python, Pylance теперь также является сервером языка Python по умолчанию в Visual Studio Code. Pylance также теперь включен в пакет расширения ядра Python в качестве дополнительной зависимости, что означает, что мы автоматически установим его для вас, но у вас есть возможность использовать другой языковой сервер по вашему выбору.
Если вы только собираетесь начать работу с визуализацией в Python, количество библиотек и решений вас определенно поразит:
- Matplotlib
- Seaborn
- Plotly
- Bokeh
- Altair
- Folium
Но какую из этих библиотек лучше выбрать для визуализации DataFrame? Некоторые библиотеки имеют больше преимуществ для использования в некоторых конкретных случаях. В этой статье приведены плюсы и минусы каждой из них. Прочитав эту статью, вы будете разбираться в функционале каждой библиотеки и будете способны подбирать для ваших потребностей оптимальную.
Эта статья является частью наших обзоров исследовательских работ в области ИИ, серии публикаций, в которых исследуются последние открытия в области искусственного интеллекта.
Просматривая следующую короткую видеопоследовательность, вы естественным образом можете сделать выводы о причинно-следственных связях между различными элементами в ней. Например, вы можете наблюдать, как бита и рука бейсболиста движутся в унисон, и вы знаете, что именно рука игрока вызывает движение биты, а не наоборот. Вам также не нужно объяснять, что это бита вызывает резкое изменение траектории мяча.
Точно так же вы можете представить альтернативные сценарии, например, что произошло бы, если бы мяч пролетел немного выше и не попал в биту.
Работа нейронной сети основана на манипуляциях с матрицами. Для обучения используются разнообразные методы, многие из которых выросли из метода градиентного спуска, где необходимо умение обращаться с матрицами, вычислять градиенты (производные по матрицам). Если заглянуть “под капот” нейронной сети, можно увидеть цепочки из матриц, выглядящие зачастую устрашающе. Проще говоря, “нас всех подстерегает матрица”. Пора познакомиться поближе.
Для этого сделаем следующие шаги:
рассмотрим манипуляции с матрицами : транспонирование, умножение, градиент;
построим игрушечную нейронную сеть;
познакомимся с методом обратного распространения ошибки с использованием метода градиентного спуска.
Все шаги сопровождаются примерами кода с использованием только NumPy . Вычисления, не выходящие, впрочем, за рамки элементарной математики, приведены подробно. За индексами придется внимательно следить, но не отчаивайтесь, просто представьте, что каждый индекс - винтик, который надо закрутить, следуя простым правилам, но не пропустить. Если вдруг не разберетесь, ничего страшного - одно из двух: либо сбой в матрице, либо одно из двух.