Все потоки
Поиск
Написать публикацию
Обновить
18.03

Data Mining *

Глубинный анализ данных

Сначала показывать
Порог рейтинга
Уровень сложности

Анимированные графики в R (и немного про бифуркацию, хаос и аттракторы)

Время на прочтение4 мин
Количество просмотров20K
Однажды для презентации мне понадобились анимированные графики. С графиками, собственно, проблем не возникло, а для их анимации пришлось воспользоваться еще одним пакетом animation, который можно установить из CRAN.
Читать дальше →

Модель Random Forest для классификации, реализация на c#

Время на прочтение18 мин
Количество просмотров51K
Доброго времени суток, читатель. Random Forest сегодня является одним из популярнейших и крайне эффективных методов решения задач машинного обучения, таких как классификация и регрессия. По эффективности он конкурирует с машинами опорных векторов, нейронными сетями и бустингом, хотя конечно не лишен своих недостатков. С виду алгоритм обучения крайне прост (в сравнении скажем с алгоритмом обучения машины опорных векторов, кому мало острых ощущений в жизни, крайне советую заняться этим на досуге). Мы же попробуем в доступной форме разобраться в основных идеях, заложенных в Random Forest (бинарное дерево решений, бутстреп аггрегирование или бэггинг, метод случайных подпространств и декорреляция) и понять почему все это вместе работает. Модель относительно своих конкурентов довольно таки молодая: началось все со статьи 1997 года в которой авторы предлагали способ построения одного дерева решений, используя метод случайных подпространств признаков при создании новых узлов дерева; затем был ряд статей, который завершился публикацией каноничной версии алгоритма в 2001 году, в котором строится ансамбль решающих деревьев на основе бутстреп агрегирования, или бэггинга. В конце будет приведен простой, совсем не шустрый, но крайне наглядный способ реализации этой модели на c#, а так же проведен ряд тестов. Кстати на фотке справа вы можете наблюдать настоящий случайный лес который произрастает у нас тут в Калининградской области на Куршской косе.

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

Полиция Чикаго составила список из 400 предполагаемых будущих преступников

Время на прочтение2 мин
Количество просмотров32K
Американская полиция уже несколько лет экспериментирует с автоматической обработкой статистики о преступлениях. Например, в 2011 году в городе Санта-Крус (Калифорния) начали использовать в экспериментальном режиме программу предсказания преступлений. Там на базе статистики преступлений за последние несколько лет вычисляется частотность каждого типа преступлений в разных районах города — и соответствующим образом составляются маршруты для полицейских патрулей с указанием «горячих точек».



Полицейский отдел Чикаго вывел дата-майнинг на новый уровень — и объединил статистику с профилированием. Например, в прошлом году местная пресса писала о том, что полиция составила список наблюдения. В него внесены около 400 граждан, которые по профилю наиболее склонны совершить преступление в ближайшем будущем.
Читать дальше →

Data Mining Camp: как мы вдохновились на год вперед

Время на прочтение8 мин
Количество просмотров11K
Как-то в самом начале нового года мы решили совместить приятное с полезным: дружно отдохнуть и поработать. И пригласили сотрудников, наших студентов и экспертов из компаний EMC, Rosalind, Yota, Game|Changers провести три дня зимних каникул в домике под Петербургом.

Встреча с друзьями-единомышленниками за городом хороша, чтобы поделиться идеями, написать статью или закончить работу, до которой никак не доходили руки. Для этого мы и организовали выезд на Data Mining Camp. Решили, что будет сауна, настольные игры, контактный зоопарк и – гвоздь программы – хакатон.

На хакатоне ребята при помощи экспертов работали над тремя исследованиями: моделью иерархической кластеризации признаков, моделью ухода слушателей онлайн-курсов, попробовали улучшить алгоритм Gradient Boosting Machines, а также поучаствовали в конкурсе на платформе Kaggle. О том как это было и как ребята продолжают работать над этими идеями под катом…



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

Facebook знает, в кого ты влюбился

Время на прочтение1 мин
Количество просмотров50K


Специалисты по анализу данных из компании Facebook опубликовали статистику, собранную с анонимных профилей в социальной сети. Как романтично сказано в официальном блоге, статистика показывает «формирование любви» между парами.

«В течение 100 дней перед началом отношений мы наблюдаем медленное, но стабильное увеличение количества сообщений между будущей парой», — пишет автор исследования Карлос Дьюк (Carlos Diuk). Но самое интересное происходит потом: резкое уменьшение коммуникаций в социальной сети сразу после установления отношений (и нового статуса в профиле).
Читать дальше →

Алгоритм Улучшенной Самоорганизующейся Растущей Нейронной Сети (ESOINN)

Время на прочтение6 мин
Количество просмотров34K

Введение


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

В этой статье будет рассмотрен алгоритм An Enhanced Self-Organizing Incremental Neural Network, являющийся расширением базовой модели SOINN и частично решающий озвученные проблемы.
Читать дальше →

Let's fix NAs

Время на прочтение5 мин
Количество просмотров7.3K
Довольно часто встречаются неполные наборы данных, в которых некоторые переменные не определены. В языке R содержимое таких переменных задается как «Not Available» — или сокращенно NA. Соответственно, возникает вопрос, как поступать с неопределенными значениям: стоит ли их игнорировать или откорректировать каким-либо образом?
Читать дальше →

Деревья принятия решений на JavaScript

Время на прочтение4 мин
Количество просмотров33K
В качестве практического приложения к предыдущей статье, хочу предоставить крошечную JavaScript библиотеку для построения деревьев и леса принятия решений.

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

Построение модели SARIMA с помощью Python+R

Время на прочтение7 мин
Количество просмотров62K

Введение


Добрый день, уважаемые читатели.
После написания предыдущего поста про анализ временных рядов на Python, я решил исправить замечания, которые были указаны в комментариях, но при их исправлении я столкнулся с рядом проблем, например при построении сезонной модели ARIMA, т.к. подобной функции а пакете statsmodels я не нашел. В итоге я решил использовать для этого функции из R, а поиски привели меня к библиотеке rpy2 которая позволяетиспользовать функции из библиотек упомянутого языка.
У многих может возникнуть вопрос «зачем это нужно?», ведь проще просто взять R и выполнить всю работу в нем. Я полность согласен с этим утверждением, но как мне кажется, если данные требуют предварительной обработки, то ее проще произвести на Python, а возможности R использовать при необходимости именно для анализа.
Кроме этого, будет показано как интегрировать результаты выдачи работы функции R в IPython Notebook.
Читать дальше →

Математик взломал сайт знакомств и нашёл девушку мечты

Время на прочтение3 мин
Количество просмотров223K


35-летнему математику Крису Маккинли (Chris McKinlay) из Калифорнийского университета в Лос-Анджелесе потребовалось всего 88 дней, чтобы осуществить дата-майнинг анкет на сайте знакомств и подобрать девушку, которая идеально подходит по характеру. Помог ему в этом доступ к суперкомпьютерам Калифорнийского университета, пишет Wired.
Читать дальше →

Калман, Матлаб, и State Space Models

Время на прочтение15 мин
Количество просмотров27K
Недавно kuznetsovin опубликовал пост об использовании Питона для анализа временных рядов в экономике. В качестве модели была выбрана «рабочая лошадка» эконометрики — ARIMA, пожалуй, одна из наиболее распространенных моделей для временных данных. В то же время, главный недостаток АRIMA-подобных моделей в том, что они не приспособлены для работы с нестационарными рядами. Например, если в данных присутствует тренд или сезонность, то математическое ожидание будет иметь разное значение в разных участках серии — , что не есть хорошо. Для избежания этого, АRIMA предполагает работать не с исходными данными, а с их разностью (так называемое дифференцирование — от «taking a difference»). Все бы хорошо, но тут возникают две проблемы — (а) мы возможно теряем значимую информацию беря разницу ряда, и (б) упускается возможность разложить ряд данных на составляющие компоненты — тренд, цикл, и т.п. Поэтому, в данной статье я хотел бы привести альтернативный метод анализа — State Space Modeling (SSM), в русском переводе — Модель Пространства Состояний.
Читать дальше →

Как живется Data Mining компании: задачи и исследования

Время на прочтение4 мин
Количество просмотров17K
Привет, Хабр!

Наконец дошли руки Пришло время рассказать, чем занимается наша компания DM Labs в области анализа данных, помимо образовательной деятельности (о ней мы уже писали 1).

За прошлый год мы начали плотно сотрудничать с институтом роботехники fortiss при Техническом университете Мюнхена (TUM) (совместно учим роботов не убивать людей), выпустили прототип антифрод системы, участвовали в международных конференциях по машинному обучению, и, самое главное, смогли сформировать сильную команду аналитиков.

Теперь DM Labs объединяет в себе уже три направления: исследовательскую лабораторию, разработку готовых коммерческих решений и обучение. В сегодняшнем посте мы расскажем о них подробнее, подведем итоги прошедшего года и поделимся целями на будущее.
Читать дальше →

Применение машинного обучения в построении ИИ для игры в японские шахматы (сёги)

Время на прочтение13 мин
Количество просмотров21K


Доброго времени суток.

Уже довольно давно мы с моим другом Gorkoff увлекаемся игрой в сёги. Причем увлекаемся настолько, что решили написать собственного бота для этой замечательной игры. Данная статья является дальнейшим описанием процесса разработки бота, которым мы, с некоторыми перерывами, занимаемся уже несколько месяцев.

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

Ближайшие события

Анализ временных рядов с помощью python

Время на прочтение8 мин
Количество просмотров197K
Добрый день, уважаемые читатели.
В сегодняшней статье, я попытаюсь описать процесс анализа временных рядов с помощью python и модуля statsmodels. Данный модуль предоставляет широкий набор средств и методов для проведения статистического анализа и эконометрики. Я попытаюсь показать основные этапы анализа таких рядов, в заключении мы построим модель ARIMA.
Для примера взяты реальные данные по товарообороту одного из складских комплексов Подмосковья.
Читать дальше →

Введение в параллельные вычисления в R

Время на прочтение5 мин
Количество просмотров17K
   Эта статья посвящена языку R. Он не так широко распространен на территории ex-USSR, как Matlab и тем более Python, но, безусловно, заслуживает внимания. Нельзя не отметить, что R — фактически стандарт для Data Science (хотя тут хорошо написано, что не R единым живут data scientists). Богатый синтаксис, совместимость с legacy кодом (что весьма важно в научных приложениях), удобная среда разработки RStudio и наличие огромного числа библиотек в CRAN делают R таковым.
Читать дальше →

Пример решения задачи множественной регрессии с помощью Python

Время на прочтение6 мин
Количество просмотров133K

Введение


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

Классификатор изображений

Время на прочтение7 мин
Количество просмотров34K
Дана битовая матрица, содержащая закрашенное изображение круга, квадрата или треугольника.
Изображение может быть немного искажено и может содержать помехи.
Необходимо написать алгоритм для определения типа нарисованной фигуры по матрице.

Эта простая с первого взгляда задача встретилась мне на вступительном экзамене в DM Labs.
На первом занятии мы обсудили решение, а преподаватель (Александр Шлемов; он руководил и дальнейшей реализацией) показал, почему для решения лучше использовать машинное обучение.

В процессе дискуссии мы обнаружили, что наше решение производится в два этапа. Первый этап — фильтрация помех, второй этап — вычисление метрики, по которой будет проходить классификация. Здесь возникает проблема определения границ: необходимо знать, какие значения может принимать метрика для каждой фигуры. Можно проложить эти границы вручную “на глазок”, но лучше поручить это дело математически обоснованному алгоритму.
Эта учебная задачка стала для меня введением в Machine Learning, и я хотел бы поделиться с вами этим опытом.
Читать дальше →

Линейная регрессия на пальцах в распознавании

Время на прочтение7 мин
Количество просмотров40K
Линейная регрессия на пальцахВ задаче распознавания ключевую роль играет выделение значимых параметров объектов и оценка их численных значений. Тем не менее, даже получив хорошие численные данные, нужно суметь правильно ими воспользоваться. Иногда кажется, что дальнейшее решение задачи тривиальное, и хочется «из общих соображений» получить из численных данных результат распознавания. Но результат в этом случае получается далеко не оптимальный. В этой статье я хочу на примере задачи распознавания показать, как можно легко применить простейшие математические модели и за счет этого существенно улучшить результаты.
Читать дальше →

Введение в анализ текстовой информации с помощью Python и методов машинного обучения

Время на прочтение9 мин
Количество просмотров66K

Введение


Сегодня я продолжу рассказ о применении методов анализа данных и машинного обучения на практических примерах. В прошлой статье мы с вами разбирались с задачей кредитного скоринга. Ниже я попытаюсь продемонстрировать решение другой задачи с того же турнира, а именно «Задачи о паспортах» (Задание №2).
При решении будут показаны основы анализа текстовой информации, а также ее кодирование для построения модели с помощью Python и модулей для анализа данных (pandas, scikit-learn, pymorphy).
Читать дальше →

Gnuplot супротив 2MASS

Время на прочтение8 мин
Количество просмотров8.4K
image
Данная статья повествует о пользе низкоуровневых вычислений на примере атласа звездных объектов 2MASS.
2MASS — это ~471 млн. объектов, для которых приведены координаты, а также сопутствующая информация, всего 60 атрибутов.
Физически — это 50Гб исходных гзипнутых текстовых файлов.
Можно ли работать с такой базой, не прибегая к «тяжелой артиллерии»?
Давайте попробуем.
Читать дальше →