• Подборка датасетов для машинного обучения

      Привет, читатель!

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

      Меньше слов, больше данных.

      image

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


      Читать дальше →
      • +62
      • 28.9k
      • 4
    • Введение в Data Engineering. ETL, схема «звезды» и Airflow

      • Translation
      Способность data scientist-а извлекать ценность из данных тесно связана с тем, насколько развита инфраструктура хранения и обработки данных в компании. Это значит, что аналитик должен не только уметь строить модели, но и обладать достаточными навыками в области data engineering, чтобы соответствовать потребностям компании и браться за все более амбициозные проекты.

      При этом, несмотря на всю важность, образование в сфере data engineering продолжает оставаться весьма ограниченным. Мне повезло, поскольку я успел поработать со многими инженерами, которые терпеливо объясняли мне каждый аспект работы с данными, но не все обладают такой возможностью. Именно поэтому я решил написать эту статью — введение в data engineering, в которой я расскажу о том, что такое ETL, разнице между SQL- и JVM-ориентированными ETL, нормализации и партиционировании данных и, наконец, рассмотрим пример запроса в Airflow.


      Читать дальше →
    • Как обнаружить миллион долларов на своём аккаунте AWS

      • Translation
      • Tutorial
      Недавно мы рассказали о способах, с помощью которых сэкономили более миллиона долларов на годовом обслуживании AWS. Хотя мы подробно рассказывали о различных проблемах и решениях, всё равно самым популярным вопросом был: «Я знаю, что слишком много трачу на AWS, но как в реальности разбить эти траты на понятные части?»

      На первый взгляд, проблема кажется довольно простой.

      Вы можете легко разбить свои расходы AWS по месяцам и закончить на этом. Десять тысяч долларов на EC2, одна тысяча на S3, пятьсот долларов на сетевой трафик и т.д. Но здесь отсутствует кое-что важное — на сочетание каких именно продуктов и групп разработки приходится львиная доля расходов.

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

      В этом продолжении статьи мы хотели бы поделиться информацией о наборе инструментов, который сами используем. Надеемся, что сумеем предложить несколько идей, как анализировать свои затраты AWS независимо от того, работает у вас парочка инстансов или десятки тысяч.
      Читать дальше →
    • 20 лучших книг для продакт- и проджект-менеджеров

        Мы в редакции «Нетологии» вместе с преподавателями курса «Руководитель digital-продукта» сделали подборку лучших книг для продакт-менеджеров. Возможно, какие-то книги покажутся вам знакомыми… что ж, это не баян, а классика :) А классику знать обязательно.

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

        Пять книг Кати Текуновой — руководителя сервиса «Рамблер/платформа» в Rambler&Co


        Читать дальше →
        • +12
        • 29.9k
        • 4
      • Описание алгоритмов сортировки и сравнение их производительности

        Вступление


        На эту тему написано уже немало статей. Однако я еще не видел статьи, в которой сравниваются все основные сортировки на большом числе тестов разного типа и размера. Кроме того, далеко не везде выложены реализации и описание набора тестов. Это приводит к тому, что могут возникнуть сомнения в правильности исследования. Однако цель моей работы состоит не только в том, чтобы определить, какие сортировки работают быстрее всего (в целом это и так известно). В первую очередь мне было интересно исследовать алгоритмы, оптимизировать их, чтобы они работали как можно быстрее. Работая над этим, мне удалось придумать эффективную формулу для сортировки Шелла.

        Во многом статья посвящена тому, как написать все алгоритмы и протестировать их. Если говорить о самом программировании, то иногда могут возникнуть совершенно неожиданные трудности (во многом благодаря оптимизатору C++). Однако не менее трудно решить, какие именно тесты и в каких количествах нужно сделать. Коды всех алгоритмов, которые выложены в данной статье, написаны мной. Доступны и результаты запусков на всех тестах. Единственное, что я не могу показать — это сами тесты, поскольку они весят почти 140 ГБ. При малейшем подозрении я проверял и код, соответствующий тесту, и сам тест. Надеюсь, что статья Вам понравится.
        Читать дальше →
      • Библиотека глубокого обучения Tensorflow

          Здравствуй, Хабр! Цикл статей по инструментам для обучения нейронных сетей продолжается обзором популярного фреймворка Tensorflow.


          Tensorflow (далее — TF) — довольно молодой фреймворк для глубокого машинного обучения, разрабатываемый в Google Brain. Долгое время фреймворк разрабатывался в закрытом режиме под названием DistBelief, но после глобального рефакторинга 9 ноября 2015 года был выпущен в open source. За год с небольшим TF дорос до версии 1.0, обрел интеграцию с keras, стал значительно быстрее и получил поддержку мобильных платформ. В последнее время фреймворк развивается еще и в сторону классических методов, и в некоторых частях интерфейса уже чем-то напоминает scikit-learn. До текущей версии интерфейс менялся активно и часто, но разработчики пообещали заморозить изменения в API. Мы будем рассматривать только Python API, хотя это не единственный вариант — также существуют интерфейсы для C++ и мобильных платформ.

          Читать дальше →
        • Сколько должен стоить ваш SaaS? Я проанализировал 1530 сервисов и получил такие графики

            image

            Прайсинг SaaS-сервисов — штука хитрая. Малейшая ошибка может запросто стоить вам целого состояния в долгосрочной перспективе. Поэтому сложно переоценить необходимость анализа конкурентов в вашей нише и уровня цен в среднем по больнице.

            Но есть хорошие новости — я уже сделал этот анализ за вас (по крайней мере, в некоторых нишах) и предлагаю вашему вниманию россыпь цветных картинок, которые нарисованы на основе анализа 1530 цен самых разных сервисов.
            Читать дальше →
          • +500 бесплатных инструментов для запуска вашего стартапа в 2017 году

            • Translation


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

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

            Итак, мы нашли в интернете бесплатные и условно-бесплатные инструменты для роста вашего бизнеса. Когда они дадут вам желаемый результат, вы можете оформить платную подписку.
            Читать дальше →
          • Как мы с друзьями прокачали наш сторонний проект до бизнеса с доходом в $17 000 в месяц

            • Translation
            В 2014 мы с друзьями решили создать настолько крутые инструменты веб-дизайна, насколько это вообще возможно. Мы создали UI kitsAdmin DashboardsTemplates и Plugins.

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



            С точки зрения доходов, если не брать во внимание Черную пятницу с ее распродажами (которая помогла нам удвоить прибыль ноября 2016 года), мы выросли примерно до $ 22 000 выручки в месяц. Часть ее уходит на оплату комиссии по партнерской программе, НДС, налога поставщиков и другие траты. В результате на данный момент мы имеем около $17,000 ежемесячной чистой прибыли.
            Сегодня я хочу поделиться с вами, как мы создавали свои продукты и как немного раскрутили этот побочный бизнес.
            Читать дальше →
          • Бесплатное программное обеспечение для IP-камер

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

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

              Все программное обеспечение разбито на три группы:

              • Программное с открытым исходным кодом
              • Бесплатное программное обеспечение с ограниченным функционалом
              • Программное обеспечение бесплатное в течении пробного периода

              image
              Читать дальше →
            • Открытый курс машинного обучения. Тема 1. Первичный анализ данных с Pandas



                Курс состоит из:


                • 10 статей на Хабре (и то же самое на Медиуме на англ.)
                • 10 лекций (Youtube-канал на русском + более свежие лекции на англ.), подробное описание каждой темы – в этой статье
                • воспроизводимых материалов (Jupyter notebooks) в репозитории mlcourse.ai и в виде Kaggle Dataset (нужен только браузер)
                • отличных соревнований Kaggle Inclass (не на "стаканье xgboost-ов", а на построение признаков)
                • домашних заданий по каждой теме (в репозитории — список демо-версий заданий)
                • мотивирующего рейтинга, обилия живого общения и быстрой обратной связи от авторов

                Текущий запуск курса – с 1 октября 2018 года на английском языке (ссылка на опрос для участия, заполняйте на английском). Следите за объявлениями в группе ВК, вступайте в сообщество OpenDataScience.

                Читать дальше →
              • Базовые принципы машинного обучения на примере линейной регрессии

                  Здравствуйте, коллеги! Это блог открытой русскоговорящей дата саентологической ложи. Нас уже легион, точнее 2500+ человек в слаке. За полтора года мы нагенерили 800к+ сообщений (ради этого слак выделил нам корпоративный аккаунт). Наши люди есть везде и, может, даже в вашей организации. Если вы интересуетесь машинным обучением, но по каким-то причинам не знаете про Open Data Science, то возможно вы в курсе мероприятий, которые организовывает сообщество. Самым масштабным из них является DataFest, который проходил недавно в офисе Mail.Ru Group, за два дня его посетило 1700 человек. Мы растем, наши ложи открываются в городах России, а также в Нью-Йорке, Дубае и даже во Львове, да, мы не воюем, а иногда даже и употребляем горячительные напитки вместе. И да, мы некоммерческая организация, наша цель — просвещение. Мы делаем все ради искусства. (пс: на фотографии вы можете наблюдать заседание ложи в одном из тайных храмов в Москве).

                  Мне выпала честь сделать первый пост, и я, пожалуй, отклонюсь от своей привычной нейросетевой тематики и сделаю пост о базовых понятиях машинного обучения на примере одной из самых простых и самых полезных моделей — линейной регрессии. Я буду использовать язык питон для демонстрации экспериментов и отрисовки графиков, все это вы с легкостью сможете повторить на своем компьютере. Поехали.
                  Читать дальше →
                • Уравнение теплопроводности в tensorflow

                  Привет, Хабр! Некоторое время назад увлекся глубоким обучением и стал потихоньку изучать tensorflow. Пока копался в tensorflow вспомнил про свою курсовую по параллельному программированию, которую делал в том году на 4 курсе университета. Задание там формулировалось так:

                  Линейная начально-краевая задача для двумерного уравнения теплопроводности:

                  \frac{\partial u}{\partial t} = \sum \limits_{\alpha=1}^{2} \frac{\partial}{\partial x_\alpha} \left (k_\alpha \frac{\partial u}{\partial x_\alpha} \right ) -u, \quad x_\alpha \in [0,1] \quad (\alpha=1,2), \ t>0;

                  k_\alpha =
\begin{cases}
    50, (x_1, x_2) \in \Delta ABC\\
    1, (x_1, x_2) \notin \Delta ABC
\end{cases}

                  (\alpha = 1,2), \ A(0.2,0.5), \ B(0.7,0.2), \ C(0.5,0.8);

                  u(x_1, x_2, 0) = 0,\ u(0,x_2,t) = 1 - e^{-\omega t},\  u(1, x_2, t) = 0,

                  u(x_1,0,t) = 1 - e^{-\omega t},\ u(0, x_2, t) = 0,\  \omega = 20.

                  Хотя правильнее было бы назвать это уравнением диффузии.

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

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

                  Численный алгоритм


                  Читать дальше →
                  • +32
                  • 15.2k
                  • 8
                • Использование Node.js технологии как платформу для оптимизации серверных мощностей

                  image

                  Web-программирование стремительно развивается и появляется необходимость выбора между сформировавшимися языками такими как PERL, C++ и Java и современными веб-ориентированными или прототипно-ориентироваными языками как например Ruby или Go. Один из таких языков является JavaScript. Много лет присутствовало мнение что JavaScript это клиентоориентированный язык программирования и будущего у него нет, но после того как компания Google выпустила стабильную версию JavaScript-движка V8 появился Node.js и его стали использовать как совершенно новой идеи, серверного JavaScript.

                  Node.js продолжает развиваться динамически и амбициозно. Так например, в течении нескольких последних лет разработчиками было добавлено около 200 000 модулей для Node.js, это превышает в несколько раз темпы развития уже устоявшихся серверных языков, таких как Perl у которого количество модулей в репозитории меньше. Так же нужно подчеркнуть что технология Node.js набирает обороты и используется такими компаниями, как Yahoo, Microsoft, PayPal и LinkedIn не говоря уже про гугл.
                  Читать дальше →
                • Check-list для подготовки качественной презентации

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

                    Для людей с маленьким опытом — это краткое учебное пособие. А для тех, кто уже «собаку съел» — это чек-лист для проверки готовности и качества презентации.

                    Использовались заметки с мероприятий:

                    1. «Ораторское мастерство», Робер Минегулов; 19.11.2009, Лига переводчиков-волонтеров “Nead For Speak”, центр «Сэлэт», Казань.
                    2. «Презентация инновационных проектов», Тэос Самфост; 26.11.2009, в рамках семинара «Движение к успеху», Инновационный Технопарк «Идея», Казань.
                    + личные навыки.
                    Читать дальше →
                  • Интервью с вице-президентом по технологической стратегии компании MapR

                      Приветствую, Хабр! Я немного помогал своим друзьям готовить конференцию CEE-SECR 2016 и в процессе познакомился с Кристал Валентайн – вице-президентом компании MapR по технологической стратегии. Кристал большая молодец, очень собранная, целеустремленная, глубоко понимающая свою отрасль При своей исключительной занятости умеет очень комфортно сотрудничать. Да и компания её не из последних. Думаю, её доклад в Москве будет очень интересным, а мне захотелось узнать больше про взгляды на будущее отрасли вице президента по технологической стратегии и я придумал сделать с Кристал интервью. Вот что у меня получилось. Кристал весьма любезно ответила на все вопросы, которые я ей задал. В целом же ответы Кристал отличает плотность предоставляемой информации на строку текста, четкость формулировок, умение оставаться в желаемых границах и предельно ясное видение миссии компании и будущего рынка.
                      Читать дальше →
                    • SageMathCloud — мечта для любителей Python, математики и Linux

                        SageMathCloud (сокращённо SMC) — это онлайновый сервис, в котором можно написать математический или любой другой расчёт в Sage или IPython Notebook. Расчёт можно комбинировать с HTML, CSS, JavaScript, CoffeeScript, Go, Fortran, Julia, Gap, Axiom, R, Ruby, Perl, Maxima, Maple, Markdown, Wiki (и это неполный список!). При редактировании поддерживается мультикурсорность, можно включить биндинги Vim или Sublime Text. Пользователю также доступна консоль Ubuntu и доступ к проекту по ssh. Можно создавать документы LaTeX и встраивать в них код на Python, который не будет отображаться в итоговом pdf. Широкие возможности позволяют написать не просто расчёт с 2D и 3D графикой, а целое интерактивное приложение или собственный веб-сервер на Flask. Можно расшарить расчёт пользователям на редактирование, и Вы будете видеть, что они меняют и даже где стоит их курсор! При этом великолепии SageMathCloud имеет открытый исходный код, который выложен на Github.



                        Читать дальше →
                      • Полное практическое руководство по Docker: с нуля до кластера на AWS

                        • Translation



                        Содержание



                        Вопросы и ответы


                        Что такое Докер?


                        Определение Докера в Википедии звучит так:


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



                        Ого! Как много информации.

                        Читать дальше →
                      • Запуск функций R на нескольких машинах

                        • Translation
                        • Tutorial
                        Как мы показали в «Небольшом введении в параллельное программирование на R», одно из преимуществ R — легкость, с которой можно воспользоваться преимуществами параллельного программирования для ускорения вычислений. В этой статье мы расскажем, как перейти от запуска функций на нескольких процессорах или ядрах к запуску на нескольких машинах (с целью еще большего масштабирования и ускорения).

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

                        • Подключайте более мощные параллельные библиотеки, например, Intel BLAS (доступна под Linux, OS X и Windows как часть дистрибутива Microsoft R Open). Это позволит заменить уже используемые библиотеки их параллельными версиями, благодаря чему получите ускорение (на соответствующих задачах, например, связанных с линейной алгеброй в lm()/glm()).

                        • Вынесите обработку задач моделирования из R во внешнюю библиотеку для параллелизации. Это стратегия, которую используют следующие системы: методы rx от RevoScaleR (теперь Microsoft Open R), методы h2o от h2o.ai, RHadoop.

                        • Используйте утилиту parallel в R, чтобы запускать функции на других экземплярах R. Эта стратегия из «Небольшого введения в параллельное программирование на R» и ряда библиотек на основе parallel. Фактически это реализация удаленного вызова процедуры через сокет или сеть.

                        Рассмотрим подробнее третий подход.
                        Читать дальше →