• Руководство по Power Bi: начало работы

    • Tutorial
    Microsoft Power BI — это коллекция программных служб, приложений и соединителей, которые взаимодействуют друг с другом, чтобы превратить разрозненные источники данных в согласованные, визуально иммерсивные и интерактивные аналитические сведения. Сегодня мы делимся с вами начальным руководством по этому бесплатному инструменту. Из руководства вы узнаете следующее:

    • Как службы и приложения Power BI работают вместе.
    • Как с помощью PowerApps повысить эффективность бизнеса.
    • Как создавать впечатляющие визуальные элементы и отчеты.

    Читать дальше →
  • Список ресурсов по машинному обучению. Часть 2

    • Translation


    Продолжим (1, 2) рассматривать тему машинного обучения. Вашему вниманию вторая часть (первая тут) адаптированной подборки полезных материалов.
    Читать дальше →
  • Как конкуренты могут легко заблокировать ваш сайт

      Недавно мы столкнулись с ситуацией, когда ряд антивирусов (Касперский, Quttera, McAfee, Norton Safe Web, Bitdefender и несколько менее известных) начали блокировать наш сайт. Изучение ситуации привело меня к пониманию, что попасть в список блокировки крайне просто, достаточно нескольких жалоб (даже без обоснования). Детальнее проблему я опишу дальше.

      Проблема довольно серьезная, так как сейчас почти у каждого пользователя установлен антивирус или файрвол. И блокировка сайта крупным антивирусом, таким как Касперский, может сделать сайт недоступным для большого количества пользователей. Хотелось бы привлечь внимание сообщества к проблеме, так как она открывает огромный простор для грязных методов борьбы с конкурентами.

      Читать дальше →
    • Как решить 90% задач NLP: пошаговое руководство по обработке естественного языка

      • Translation
      Неважно, кто вы — зарекомендовавшая себя компания, или же только собираетесь запустить свой первый сервис — вы всегда можете использовать текстовые данные для того, чтобы проверить ваш продукт, усовершенствовать его и расширить его функциональность.

      Обработкой естественного языка (NLP) называется активно развивающаяся научная дисциплина, занимающаяся поиском смысла и обучением на основании текстовых данных.

      Как вам может помочь эта статья


      За прошедший год команда Insight приняла участие в работе над несколькими сотнями проектов, объединив знания и опыт ведущих компаний в США. Результаты этой работы они обобщили в статье, перевод которой сейчас перед вами, и вывели подходы к решению наиболее распространенных прикладных задач машинного обучения.

      Мы начнем с самого простого метода, который может сработать — и постепенно перейдем к более тонким подходам, таким как feature engineering, векторам слов и глубокому обучению.

      После прочтения статьи, вы будете знать, как:

      • осуществлять сбор, подготовку, и инспектирование данных;
      • строить простые модели, и осуществлять при необходимости переход к глубокому обучению;
      • интерпретировать и понимать ваши модели, чтобы убедиться, что вы интерпретируете информацию, а не шум.

      Пост написан в формате пошагового руководства; также его можно рассматривать в качестве обзора высокоэффективных стандартных подходов.
      Читать дальше →
    • Визуализация странных аттракторов в Plotly — это шедеврально

        Поэзия — это очень красивый, зачастую глубокомысленный слог, которым мы не пользуемся в обыденной жизни, но так им любим наслаждаться. То же самое можно сказать и о математике. В фильме «Пи» главный герой называет математику «языком природы», а в фильме «Игры разума» главный герой говорит о ней, как об «особом виде искусства». Мы же, в обыденной жизни, можем напрочь забыть об этом.

        Облик странных аттракторов необычен и притягателен даже в двумерном измерении. Plotly позволяет строить их в трех измерениях, причем он дает возможность очень легко получить именно 3D-модель, которую можно «вертеть» и сквозь которую можно «пролетать» — ощущение «прикосновения».

        image

        Читать дальше →
      • Граф Скоринг де ля Фер или исследование на тему кредитного скоринга, в рамках расширения кругозора. Ч.1

        AntipovSN and MihhaCF


        UPD Часть вторая здесь
        UPD Часть третья здесь


        Часть первая, в которой Граф еще не стал Атосом, не встретил Миледи и все у него хорошо


        Вступление от авторов:


        Добрый день! Сегодня мы начинаем цикл статей, посвященных скорингу и использованию в оном теории графов (Т.Г.). Надеюсь, нам хватит запала, сил и терпения, т.к. тема достаточно объемная и, на наш взгляд, интересная.


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


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


        А теперь к делу.


        Цель данной статьи: не более, чем за 30 минут, ввести читателя в проблематику исследования, определить уровень рассмотрения проблемы, описать основную концепцию исследования и познакомить с базовыми терминами.


        Термины и определения:


        • Скоринг – система бальной оценки объекта, основанная на численных статистических методах.
        • Граф – способ моделирования связей объектов. Представьте, что Вы с друзьями играете в покер и хотите смоделировать, кто кому сейчас должен. Например, «Д’Артаньян должен Атосу 10 луидоров»


        Полный граф может выглядеть следующим образом:

        Арамис всегда был хитрож… себе на уме, ему должен даже Атос. Портос, пока не встретил госпожу Кокнар, перевязь не мог себе нормальную купить и умудрился задолжать нищеброду Д’артаньяну, хотя, честно говоря, они всю дорогу что-то мутили вместе…

        Читать дальше →
      • Интересные алгоритмы кластеризации, часть первая: Affinity propagation

          Часть первая — Affinity Propagation
          Часть вторая — DBSCAN
          Часть третья — кластеризация временных рядов
          Часть четвёртая — Self-Organizing Maps (SOM)
          Часть пятая — Growing Neural Gas (GNG)

          Если вы спросите начинающего аналитика данных, какие он знает методы классификации, вам наверняка перечислят довольно приличный список: статистика, деревья, SVM, нейронные сети… Но если спросить про методы кластеризации, в ответ вы скорее всего получите уверенное «k-means же!» Именно этот золотой молоток рассматривают на всех курсах машинного обучения. Часто дело даже не доходит до его модификаций (k-medians) или связно-графовых методов.

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

          image

          Читать дальше →
        • Интересные алгоритмы кластеризации, часть вторая: DBSCAN

            Часть первая — Affinity Propagation
            Часть вторая — DBSCAN
            Часть третья — кластеризация временных рядов
            Часть четвёртая — Self-Organizing Maps (SOM)
            Часть пятая — Growing Neural Gas (GNG)

            Углубимся ещё немного в малохоженные дебри Data Science. Сегодня в очереди на препарацию алгоритм кластеризации DBSCAN. Прошу под кат людей, которые сталкивались или собираются столкнуться с кластеризацией данных, в которых встречаются сгустки произвольной формы — сегодня ваш арсенал пополнится отличным инструментом.


            Читать дальше →
            • +24
            • 39.3k
            • 4
          • Пример Feature Engineering в машинном обучении

              Привет, хабр!



              В одной из прошлых статей мы познакомились с таким понятием как Feature Engineering и применением его на практике. В комментариях было озвучено пожелание показать на примере, как искусство генерации признаков помогает заметно улучшить качество алгоритмов машинного обучения. Я поискал задачи, в которых бы это можно было наглядно продемонстрировать и нашел один хороший пример. Это задача Forest Cover Type Prediction. Покажем, как можно применяя простые идеи, не содержащие в себе машинное обучение, сразу попасть в топ 10% Leader Board!
              Читать дальше →
            • Введение в машинное обучение с помощью Python и Scikit-Learn

              Привет, хабр!



              Меня зовут Александр, я занимаюсь машинным обучением и анализом веб-графов (в основном — теоретическим), а также разработкой Big Data продуктов в одном из операторов Большой Тройки. Это мой первый пост — прошу, не судите строго!)

              В последнее время ко мне все чаще стали обращаться люди, которые хотят научиться разрабатывать эффективные алгоритмы и участвовать в соревнованиях по машинному обучению с вопросом: «С чего начать?». Некоторое время назад я руководил разработкой инструментов Big Data для анализа медиа и социальных сетей в одном из учреждений Правительства РФ, и у меня остался некоторый материал, по которому обучалась моя команда и которым можно поделиться. Предполагается, что у читателя есть хорошее знание математики и машинного обучения (в команде были в основном выпускники МФТИ и студенты Школы Анализа Данных).
              Читать дальше →
            • Расчет оттока клиентов банка (решение задачи с помощью Python)

              Хочу поделиться опытом решения задачи по машинному обучению и анализу данных от Kaggle. Данная статья позиционируется как руководство для начинающих пользователей на примере не совсем простой задачи.
              Читать дальше →
            • Пример решения задачи множественной регрессии с помощью Python

                Введение


                Добрый день, уважаемые читатели.
                В прошлых статьях, на практических примерах, мной были показаны способы решения задач классификации (задача кредитного скоринга) и основ анализа текстовой информации (задача о паспортах). Сегодня же мне бы хотелось коснуться другого класса задач, а именно восстановления регрессии. Задачи данного класса, как правило, используются при прогнозировании.
                Для примера решения задачи прогнозирования, я взял набор данных Energy efficiency из крупнейшего репозитория UCI. В качестве инструментов по традиции будем использовать Python c аналитическими пакетами pandas и scikit-learn.
                Читать дальше →
              • Распознавание дорожных знаков с помощью CNN: Spatial Transformer Networks

                  Привет, Хабр! Продолжаем серию материалов от выпускника нашей программы Deep Learning, Кирилла Данилюка, об использовании сверточных нейронных сетей для распознавания образов — CNN (Convolutional Neural Networks).

                  В прошлом посте мы начали разговор о подготовке данных для обучения сверточной сети. Сейчас же настало время использовать полученные данные и попробовать построить на них нейросетевой классификатор дорожных знаков. Именно этим мы и займемся в этой статье, добавив дополнительно к сети-классификатору любопытный модуль — STN. Датасет мы используем тот же, что и раньше.

                  Spatial Transformer Network (STN) — один из примеров дифференцируемых LEGO-модулей, на основе которых можно строить и улучшать свою нейросеть. STN, применяя обучаемое аффинное преобразование с последующей интерполяцией, лишает изображения пространственной инвариантности. Грубо говоря, задача STN состоит в том, чтобы так повернуть или уменьшить-увеличить исходное изображение, чтобы основная сеть-классификатор смогла проще определить нужный объект. Блок STN может быть помещен в сверточную нейронную сеть (CNN), работая в ней по большей части самостоятельно, обучаясь на градиентах, приходящих от основной сети.

                  Весь исходный код проекта доступен на GitHub по ссылке. Оригинал этой статьи можно посмотреть на Medium.

                  Чтобы иметь базовое представление о работе STN, взгляните на 2 примера ниже:
                  Слева: исходное изображение. Справа: то же изображение, преобразованное STN. Spatial transformers распознают наиболее важную часть изображения и затем масштабируют или вращают его, чтобы сфокусироваться на этой части.
                  Читать дальше →
                  • +19
                  • 10.3k
                  • 6
                • От Junior'a до Middle'a: Парсер

                  Здраствуйте, Хабровчане! Давно было желание написать статейку, но никак не осмеливался.
                  В моей серии постов будет описан мой путь от Junior'a до Middle'a, а потом возможно даже до Senior'a. Программировать будем на Python.

                  P.S. Документация к некоторым малоизвестным библиотекам будет прикреплена в конце.

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

                  С чего бы начать? Пару месяцев назад я написал свой первый парсер. Оказалось, что писать парсеры довольно просто и на них даже можно зарабатывать. Пока что покажу пару примеров, используя стек из bs4 + requests. Парсить будем наш любимый Хабр.
                  Читать дальше →
                • Как обработать большие датасеты в pandas. Работаем с базой ФИАС, используя python и 8Гб памяти

                  • Tutorial
                  Особо представлять базу ФИАС нет необходимости:



                  Скачать ее можно перейдя по ссылке, данная база является открытой и содержит все адреса объектов по России (адресный реестр). Интерес к этой базе вызван тем, что файлы, которые в ней содержатся достаточно объемны. Так, например, самый маленький составляет 2,9 Гб. Предлагается остановиться на нем и посмотреть, справится ли с ним pandas, если работать на машине, располагая только 8 Гб оперативной памяти. А если не справится, какие есть опции, для того, чтобы скормить pandas данный файл.
                  Читать дальше →
                • Кластеризация: алгоритмы k-means и c-means

                    Добрый день!

                    Как и обещал, продолжаю серию публикаций о технологии Data Mining. Сегодня хочу рассказать о двух алгоритмах кластеризации (k-means и c-means), описать преимущества и недостатки, дать некоторые рекомендации по их использованию. Итак, поехали…

                    Кластеризация — это разделение множества входных векторов на группы (кластеры) по степени «схожести» друг на друга.

                    Кластеризация в Data Mining приобретает ценность тогда, когда она выступает одним из этапов анализа данных, построения законченного аналитического решения. Аналитику часто легче выделить группы схожих объектов, изучить их особенности и построить для каждой группы отдельную модель, чем создавать одну общую модель для всех данных. Таким приемом постоянно пользуются в маркетинге, выделяя группы клиентов, покупателей, товаров и разрабатывая для каждой из них отдельную стратегию (Википедия).

                    Читать дальше →
                    • +5
                    • 107k
                    • 9
                  • Обзор алгоритмов кластеризации данных

                      Приветствую!

                      В своей дипломной работе я проводил обзор и сравнительный анализ алгоритмов кластеризации данных. Подумал, что уже собранный и проработанный материал может оказаться кому-то интересен и полезен.
                      О том, что такое кластеризация, рассказал sashaeve в статье «Кластеризация: алгоритмы k-means и c-means». Я частично повторю слова Александра, частично дополню. Также в конце этой статьи интересующиеся могут почитать материалы по ссылкам в списке литературы.

                      Так же я постарался привести сухой «дипломный» стиль изложения к более публицистическому.
                      Читать дальше →
                    • Простой классификатор P300 на открытых данных

                      • Tutorial

                      Мой коллега Рафаэль Григорян eegdude недавно написал статью о том, зачем человечеству потребовалась ЭЭГ и какие значимые явления могут быть зарегистрированы в ней. Сегодня в продолжение темы нейроинтерфейсов мы используем один из открытых датасетов, записанных на игре, использующей механику P300, чтобы визуализировать сигнал ЭЭГ, посмотреть структуру вызванных потеницалов, построить основные классификаторы, оценить качество, с которым мы можем предсказать наличие такого вызыванного потенциала.


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



                      Для того, чтобы заняться классификацией ЭЭГ, можно позвать друзей, написать игру про Енотов и Демонов в VR, записать собственные реакции и написать научную статью (об этом я расскажу как-нибудь в другой раз), но по счастью, учёные со всего мира уже провели некоторые эксперименты за нас и осталось только скачать данные.


                      Разбор способа построения нейроинтерфейса на P300 с пошаговым кодом и визуализациями, а также ссылку на репозиторий можно найти под катом.

                      Читать дальше →
                      • +15
                      • 3.7k
                      • 3
                    • Как прогнозировать спрос и автоматизировать закупки с помощью machine learning: кейс Ozon

                        image
                        В интернет магазине Ozon есть примерно всё: холодильники, детское питание, ноутбуки за 100 тысяч и т.д. Значит, все это есть и на складах компании — и чем дольше товары там лежат, тем дороже обходятся компании. Чтобы выяснить, сколько и чего людям захочется заказать, а Ozon нужно будет закупить, мы использовали machine learning.
                        Читать дальше →
                      • Открытый курс машинного обучения. Тема 10. Градиентный бустинг


                          Всем привет! Настало время пополнить наш с вами алгоритмический арсенал.


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


                          UPD: теперь курс — на английском языке под брендом mlcourse.ai со статьями на Medium, а материалами — на Kaggle (Dataset) и на GitHub.


                          Видеозапись лекции по мотивам этой статьи в рамках второго запуска открытого курса (сентябрь-ноябрь 2017).

                          Читать дальше →