Search
Write a publication
Pull to refresh
1
0

Директор Центра исследований в Wildberries

Send message

Стратегии по ускорению кода на R, часть 1

Reading time3 min
Views7.3K
Цикл for в R может быть очень медленным, если он применяется в чистом виде, без оптимизации, особенно когда приходится иметь дело с большими наборами данных. Есть ряд способов сделать ваш код быстрее, и вы, вероятно, будете удивлены, узнав насколько.

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

Давайте попробуем ускорить код с циклом for и условным оператором (if-else) для создания колонки, которая добавляется к набору данных (data frame, df). Код ниже создает этот начальный набор данных.
# Создание набора данных
col1 <- runif (12^5, 0, 2)
col2 <- rnorm (12^5, 0, 2)
col3 <- rpois (12^5, 3)
col4 <- rchisq (12^5, 2)
df <- data.frame (col1, col2, col3, col4)

В этой части: векторизация, только истинные условия, ifelse.
В следующей части: which, apply, побайтовая компиляция, Rcpp, data.table.
Читать дальше →

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

Reading time11 min
Views48K


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

Список ресурсов по машинному обучению. Часть 1

Reading time3 min
Views30K


Ранее мы говорили о разработке системы квантовой связи и о том, как из простых студентов готовят продвинутых программистов. Сегодня мы решилие еще раз (1, 2) взглянуть в сторону темы машинного обучения и привести адаптированную (источник) подборку полезных материалов, обсуждавшихся на Stack Overflow и Stack Exchange.
Читать дальше →

Как уменьшить количество измерений и извлечь из этого пользу

Reading time10 min
Views54K
Сначала я хотел честно и подробно написать о методах снижения размерности данных — PCA, ICA, NMF, вывалить кучу формул и сказать, какую же важную роль играет SVD во всем этом зоопарке. Потом понял, что получится текст, похожий на вырезки из опусов от Mathgen, поэтому количество формул свел к минимуму, но самое любимое — код и картинки — оставил в полном объеме.
Читать дальше →

TensorFlow и логистическая регрессия

Reading time3 min
Views19K
После непродолжительной, но весьма кровавой войны мне все-таки удалось откомпилировать и собрать TensorFlow для GPU с CUDA capability=3.0. Теперь можно погрузиться в него основательно, потому что машинное обучение с GPU — это быстро, легко и приятно, а без GPU — порой лишь огромная потеря времени.

Попробуем запрограммировать самую простейшую логистическую регрессию.
Читать дальше →

CNTK — нейросетевой инструментарий от Microsoft Research

Reading time5 min
Views26K
2015 год был очень богат на события, связанные с нейросетевыми технологиями и машинным обучением. Особенно заметный прогресс показали сверточные и рекуррентные сети, подходящие для решения задач в области компьютерного зрения и распознавания речи. Многие крупные компании опубликовали на Github свои разработки, Google выпустил в свет TensorFlow, Baidu — warp-ctc. Группа ученых из Microsoft Research тоже решила присоединиться к этой инициативе, выпустив Computational Network Toolkit, набор инструментов для проектирования и тренировки сетей различного типа, которые можно использовать для распознавания образов, понимания речи, анализа текстов и многого другого. Интригующим при этом является то, что эта сеть победила в конкурсе ImageNet LSVR 2015 и является самой быстрой среди существующих конкурентов.


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

Работа с Arduino из C# приложения

Reading time7 min
Views92K

В этой статье я хотел бы рассказать о том, как можно считывать данные и управлять платой Arduino, подключенной через USB порт, из .Net приложения и из приложения UWP.

Делать это можно без использования сторонних библиотек. Фактически, используя только виртуальный COM порт.
Читать дальше →

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке

Reading time3 min
Views28K
Всем привет, этот небольшой мануал будет полезен тем, кто хочет пользоваться SQL Database в облаке Azure, но по ряду причин еще это не делает. Как известно, Microsoft Azure — это облачный хостинг, который с недавнего времени является бесплатным для студентов. Сегодня я хочу рассказать про способ, схожий с тем, что был описан в статье моего коллеги MSP (но немного отличающийся), как пользоваться SQL Database в облаке абсолютно бесплатно.



В облаке Microsoft Azure уже давно есть возможность размещать бесплатные Azure Web Sites. Отдельно скажу, что студенты в рамках программы DreamSpark могут получить доступ к Azure Web Sites, MySQL Database (до 32 мб) и некоторые другие возможности облака Azure. С недавнего времени, по подписке DreamSpark для студентов доступна Azure SQL Database, но только объемом до 32 мб. Но, если нельзя бесплатно получить большее, но очень хочется, — то можно.
На помощь нам в деле создания проекта с бесплатной SQL Database в облаке придет SQL Server Compact, но обо всем по порядку.
Читать дальше →

Linux на LEGO Mindstorms EV3

Reading time2 min
Views17K
image

Некоторое время работаю с Education версией LEGO Mindstorms EV3. Однажды подумалось: «Плохо, что нельзя писать под EV3 программы на Python, всё таки создавать в визуальной среде программирования более-менее серьёзные программы достаточно сложно и долго. Хотя...».
Читать дальше →

Bluetooth-метеостанция на Arduino для начинающих

Reading time8 min
Views34K
В данной статье я расскажу о том, как сделать первый шаг в мир Arduino и смастерить собственную метеостанцию. Метеостанция будет состоять из двух модулей: один модуль будет считывать информацию с подключенных датчиков, другой — выводить считанные данные на небольшой экран. Для передачи информации будем использовать Bluetooth.

Также приведу информацию по настройке BT-модулей для работы друг с другом.

image

Итак, поехали!
Читать дальше →

TensorFlow: машинное обучение от Google, теперь – умнее и для всех

Reading time2 min
Views61K
Всего-то пару лет назад мы не могли общаться с приложениями Google сквозь уличный шум, не переводили русские надписи в Google Translate и не искали фото того самого лабрадудля в Google Photos, только лишь о нём услышав. Дело в том, что наши приложения были тогда недостаточно умны. Что ж, очень быстро они стали значительно, значительно умнее. Сегодня, благодаря технологии машинного обучения, все эти замечательные штуки, равно как и многое другое и более серьёзное, мы можем делать играючи.

В общем, встречайте: мы создали принципиально новую систему машинного обучения по имени TensorFlow. TensorFlow быстрее, умнее и гибче в сравнении с нашей предыдущей технологией (DistBelief, с 2011, та самая, что распознавала кошку без учителя), благодаря чему стало значительно проще адаптировать её к использованию в новых продуктах и исследовательских проектах. TensorFlow – высокомасштабируемая система машинного обучения, способная работать как на простом смартфоне, так и на тысячах узлов в центрах обработки данных. Мы используем TensorFlow для всего спектра наших задач, от распознавания речи до автоответчика в Inbox и поиска в Google Photos. Такая гибкость позволяет нам конструировать и тренировать нейросетки до 5 раз быстрее в сравнении с нашей старой платформой, так что мы действительно можем использовать новую технологию значительно оперативнее.

image

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

Конкурс kaggle по анализу данных анкетирования населения

Reading time4 min
Views8.7K
На kaggle сейчас проходит конкурс USA Census по поиску интересных фактов в American Community Survey данных за 2013 год. Данные этого анкетирования выложены в свободный доступ, подробности можно найти здесь.
Kaggle выбрал для анализа два направления — персональные сведения (пол, возраст, семейное положение и т.д.) и сведения о домохозяйствах (различные характеристики жилья, доход домохозяйства, налоговые платежи и прочее). Хочу поделиться своими результатами, которые сфокусированы на различиях домохозяйств в зависимости от вида права собственности на их жилье — владение с ограничением (ипотека или заем), владение без ограничений и не владеют (аренда).


infographics: American Housing Survey Factsheets
Читать дальше →

Визуализация статических и динамических сетей на R, часть 7, последняя

Reading time8 min
Views6.2K
В первой части:
  • визуализация сетей: зачем? каким образом?
  • параметры визуализации
  • best practices — эстетика и производительность
  • форматы данных и подготовка
  • описание наборов данных, которые используются в примерах
  • начало работы с igraph

Во второй части: цвета и шрифты в графиках R.

В третьей части: параметры графов, вершин и ребер.

В четвертой части: размещения сети.

В пятой части: акцентирование свойств сети, вершин, ребер, путей.

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

В этой части: анимированная визуализация сетей, эволюция сети во времени.
Читать дальше →

Как учёные с помощью Twitter бесплатно скачивают исследования

Reading time3 min
Views30K
Если вы — учёный, и вам для работы нужно получить результаты определённого исследования, то у вас есть два пути: либо вы платите за него долларов тридцать, либо пишете в Twitter сообщение с «волшебным» хештегом, идентификационным кодом исследования и адресом электронной почты.

Я проверил. В течение получаса после моего твита я получил документ по почте. Моё сообщение ретвитнул аккаунт Shecanhazpdf, в описании к которому сказано: «С 2014 года не делает ничего, кроме ретвитов #icanhazpdf целый день».

По негласным правилам твит нужно удалить, но я этого делать не буду — я специально дал ссылку на документ, который не требует оплаты подписки. Поэтому я получил письмо с фразой: «Мне файл доступен без логина, но всё равно я прикладываю его к письму». image
Андреа Кужевски — учёная, придумавшая распространять работы с помощью Twitter. Фото из Google+
Читать дальше →

Курс по машинному обучению на Coursera от Яндекса и ВШЭ

Reading time4 min
Views118K
Когда-то мы публиковали на Хабре курс по машинному обучению от Константина Воронцова из Школы анализа данных. Нам тогда предлагали сделать из этого полноценный курс с домашними заданиями и разместить его на Курсере.

И сегодня мы хотим сказать, что наконец можем выполнить все эти пожелания. В январе на Курсере пройдёт курс, организованный совместно Яндексом (Школой анализа данных) и ВШЭ. Записаться на него можно уже сейчас: www.coursera.org/learn/introduction-machine-learning.


Сооснователь Coursera Дафна Коллер в офисе Яндекса

Курс продлится семь недель. Это означает, что по сравнению с ШАДовским двухсеместровым курсом он будет заметно упрощен. Однако в эти семь недель мы попытались вместить только то, что точно пригодится на практике, и какие-то базовые вещи, которые нельзя не знать. В итоге получился идеальный русскоязычный курс для первого знакомства с машинным обучением.

Кроме того, мы верим, что после прохождения курса у человека должна остаться не только теория в голове, но и скилл «в пальцах». Поэтому все практические задания построены вокруг использования библиотеки scikit-learn (Python). Получается, что после прохождения нашего курса человек сможет сам решать задачи анализа данных, и ему будет проще развиваться дальше.

Под катом можно прочитать подробнее обо всех авторах курса и узнать его примерное содержание.
Читать дальше →

Освоение специальности Data Science на Coursera: личный опыт (ч.1)

Reading time9 min
Views72K


Недавно Владимир Подольский vpodolskiy, аналитик в департаменте по работе с образованием IBS, закончил обучение по специализации Data Science на Coursera. Это набор из 9 курсеровских курсов от Университета Джонса Хопкинса + дипломная работа, успешное завершение которых дает право на сертификат. Для нашего блога на Хабре он написал подробный пост о своей учебе. Для удобства мы разбили его на 2 части. Добавим, что Владимир  стал еще и редактором проекта по переводу специализации Data Science на русский язык, который весной запустили IBS и ABBYY LS.

Часть 1. О специальности Data Science в общих чертах. Курсы: Инструменты анализа данных (программирование на R); Предварительная обработка данных; Документирование процесса обработки данных.

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


Не так давно закончился мой 7-месячный марафон по освоению специализации «Наука о данных» (Data Science) на Coursera. Организационные стороны освоения специальности очень точно описаны тут. В своём посте я поделюсь впечатлениями от контента курсов. Надеюсь, после прочтения этой заметки каждый сможет сделать для себя выводы о том, стоит ли тратить время на получение знаний по аналитике данных или нет.
Читать дальше →

Пульт радиоуправления моделями своими руками

Reading time3 min
Views80K
image

Всем привет. Представляю на общее обозрение самодельный пульт радиоуправления для управления различными объектами на расстоянии. Это может быть машинка, танк, катер и т.д. изготовленное мной для “детского” радио кружка. С применением радио модуля NRF24L01 и микроконтроллера ATMEGA16.
Читать дальше →

Печатаем картинки с помощью Arduino

Reading time9 min
Views52K


Очень давно хотелось сделать какой-нибудь проект на Arduino, да такой, чтобы всё в нём двигалось и работало. И, спустя пару месяцев проектирования, программирования и сборки получился вот такой мини-принтер, с помощью которого можно печатать разнообразные картинки и текст на самых обычных стикерах. Если после просмотра видео Вы загорелись необъятным желанием сделать нечто подобное — прошу под кат.
Читать дальше →

Беспроводная настройка ESP8266 в прошивке DeviceHive v 0.3

Reading time3 min
Views20K


Good news, everyone! Вышла новая версия прошивки DeviceHive для ESP8266. Мы реализовали поддержку самых популярных интерфейсов для подключения устройств: GPIO, ADC, PWM, UART, I2C, SPI, 1-wire. Теперь можно легко подключить устройства с этими интерфейсами к нашему облачному сервису. А самое главное — появилась возможность беспроводного конфигурирования прошивки (см. скриншот ниже). Об этом мы сегодня и поговорим.



Тройной RESET, или «Поехали!»


При создании IoT-устройств с беспроводным подключением часто можно столкнуться с неприятной проблемой: настроить устройство конечному пользователю не так легко, как кажется. Такие устройства обычно не оснащены экраном и клавиатурой, поэтому задать начальные настройки (данные Wi-Fi-сети, например) не выйдет без подходящего кабеля и специализированного ПО. Эту проблему мы и попытались решить в новой версии прошивки.
Читать дальше →

Визуализация статических и динамических сетей на R, часть 3

Reading time4 min
Views9.8K
В первой части:
  • визуализация сетей: зачем? каким образом?
  • параметры визуализации
  • best practices — эстетика и производительность
  • форматы данных и подготовка
  • описание наборов данных, которые используются в примерах
  • начало работы с igraph

Во второй части: цвета и шрифты в графиках R.

В этой части: параметры графов, вершин и ребер.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity

Specialization

Business Analyst, Product Analyst
Lead
From 950,000 ₽