Все записи автора fediq

Версионирование .ipynb в git: готовые решения

Я очень не люблю класть .ipynb блокноты в git. На каждое движение они изменяют свои метаданные, порождая хаотичные диффы. Если класть .ipynb в систему версионирования, то нужно предварительно очищать его от всех входов и выходов и следить, чтобы никто нечаянно не закоммитил неочищенную версию, и это все очень неудобно… Оказывается, не я один беспокоюсь из-за этого. Читать далее Версионирование .ipynb в git: готовые решения

Как класть Parquet 2: внутреннее устройство

Почему-то в интернетах не так уж много пишут о внутреннем устройстве Parquet. Мне удалось найти всего несколько достойных внимания источников, и это официальный док, readme для parquet-mr, официальная презентация и презентация про оптимизацию от Ryan Blue. Кроме этого, у нас есть JavaDoc к ParquetOutputFormat.java и гора исходников. Давайте разберемся, как же оно работает? Читать далее Как класть Parquet 2: внутреннее устройство

Как класть Parquet 1: когда использовать

Для одного клиента написал подробную инструкцию об том, как работать с Parquet. Хотел сослаться на какие-нибудь приличные гайды в интернетах, но не обнаружил таковых ни на русском, ни на английском. Придется писать самому. Итак, начинаем цикл заметок.

Apache Parquet это файловый формат для поколоночного хранения структурированных данных, оптимизированный под использование с HDFS и Apache Spark. Он великолепно подходит для хранения тяжелых таблиц, их быстрого чтения и фильтрации. По производительности и компактности он оставляет далеко позади себя все неколоночные форматы. При этом он подходит далеко не для всех случаев. Давайте поговорим, когда имеет смысл его использовать, а когда лучше обойтись другими форматами. Читать далее Как класть Parquet 1: когда использовать

Как разрабатывают скоринговые модели для банков

Поучаствовал в дискуссии на тему разработки скоринговых моделей для банков. Полный текст дискуссии — в сообществе Open Data Science, вступайте.

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

Ха-Джун Чанг «Как устроена экономика»

Недавно мне в руки попалась книга Ха-Джуна Чанга (Чхана) «Как устроена экономика». Это ориентированная на широкие массы книга, которая пытается донести мысль, что экономика довольно проста для понимания, с одной стороны, и что на нее не существует единственно верной точки зрения, с другой.

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

Читать далее Ха-Джун Чанг «Как устроена экономика»

Data Science кейс-клуб: Николай Трошнев, МТС

7 марта 2017 состоялось вторая встреча Data Science кейс клуба. Рассказывал Николай Трошнев, начальник отдела управления данными департамента стратегического маркетинга МТС. Я составил краткий конспект выступления.

Читать далее Data Science кейс-клуб: Николай Трошнев, МТС

Курс Java в МФТИ

Отчитал в осеннем семестре  курс лекций «Программирование на Java» на физтехе. По ссылке есть все лекции, материалы и задачи домашек, а ниже под катом — немного философствования про способ проверки. Читать далее Курс Java в МФТИ

Параметрический полиморфизм как он есть

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

Примитивы и generic’и в Scala

Когда я только знакомился со Scala, я был впечатлён тем, что ребятки разрешили проблему с поддержкой примитивов в generic’ах, или параметризированных типах, как их здесь называют. Это то, чего в Java очень не хватало. Недавно я заинтересовался деталями реализации, как конкретно это работает. И тут мне открылось страшное. Читать далее Примитивы и generic’и в Scala

Социальное неравенство и зарплаты чиновников

Моя третья статья на Хабре. На этот раз на острую социально-экономическую тематику. Я случайно наткнулся в интернетах на датасет с зарплатами всех муниципальных чиновников Сан-Франциско за 4 года. Это отличный материал для маленького исследования, в котором можно продемонстрировать базовые экономические закономерности, касающиеся распределения благ в социуме. Читать далее Социальное неравенство и зарплаты чиновников