Считаем категории

Одна из самых частых мелких подзадач, которые мне приходится делать при анализе данных, — для категориального признака определить число вхождений для каждой категории. Есть много способов её решения — я постарался описать всё, что пришли в голову на языке Python. Есть методы, в которых эту подзадачу приходится решать много раз на данных большого объёма, поэтому время решения критично… а ещё многие студенты не знают о стандартных способов решения этой задачи.

count Читать далее

Реклама

Случайный лес (Random Forest)

Случайный лес — один из самых потрясающих алгоритмов машинного обучения, придуманные Лео Брейманом и Адель Катлер ещё в прошлом веке. Он дошёл до нас в «первозданном виде» (никакие эвристики не смогли его существенно улучшить) и является одним из немногих универсальных алгоритмов. Универсальность заключается, во-первых, в том, что он хорош во многих задачах (по моим оценкам, 70% из встречающихся на практике, если не учитывать задачи с изображениями), во-вторых, в том, что есть случайные леса для решения задач классификации, регрессии, кластеризации, поиска аномалий, селекции признаков и т.д.

random_forest.jpg Читать далее

Питон (Python)

Сейчас практически все, кто занимается анализом малых данных, делают это с помощью Питона… а ведь ещё 5 лет назад не было пакетов типа scikit-learn и единственной средой с реализованными бустингом, случайным лесом и т.п. оставался R (+ RStudio, т.к. никаких ноутбуков тоже не было). Или приходилось реализовывать все алгоритмы «с нуля», что я и делал в том же Matlab-е. Ещё были разные программки на С/С++ типа libSVM, SVMlight

%d0%bf%d0%b8%d1%82%d0%be%d0%bd

Читать далее

Python: категориальные признаки

Увидел несколько «немного неуклюжих» программ на Питоне, в которых авторы возились с категориальными признаками и решил написать небольшую заметку: как делать базовые вещи в несколько строк. Все примеры выложены на гитхабе, а ниже пояснения.

contries Читать далее

NumPy — делаем быстрее

Чтобы ускорить выполнение кода на интерпретируемом языке программирования, следуют известным советам по избеганию использования циклов, своевременному выделению памяти, применению параллелизации и встроенных средств линейной алгебры. Для М-языка (Matlab) все советы можно найти в гл.15 уже старенькой книги автора. В принципе, они все годятся и для библиотеки NumPy языка Python, поскольку она практически копирует функционал Матлаба. Но кроме самих советов есть некоторые тонкости их использования. Сейчас на одном конкретном примере покажем, как можно ускорить выполнение кода.

speed Читать далее

Знакомство с Pandas (слайды)

Для магистров ВМК МГУ подготовил презентацию по пакету Pandas. С удивлением обнаружил, что по очень популярной среди питонистов панде совсем нет образовательных презентаций. Например, на www.slideshare.net нет ни одного материала по этому пакету (только среди обзоров пакетов для аналитиков данных). Поэтому исправил данный недостаток и закачал туда свою презенташку. Читать далее