Архив рубрики: Заметки

Михаил Токовинин о продажах

Ознакомился с выступлениями Михаила Токовинина. Начал с видео «Как продать сайт за 100 000 долларов», затянуло. Вообще, обожаю изучать вещи, в которых плохо разбираюсь — очень большая концентрация новых фактов.

Наиболее интересные вещи — про кривую спроса на сложные услуги, механизм формирования цены, мотивацию при принятии решений о покупке и квалификацию лидов. Сильно пересекается с книгой Девида Майстера «Управление фирмой, оказывающей профессиональные услуги», которую я прямо сейчас дочитываю. Еще понравился пример торгов о цене и выступление про мотивацию предпринимателя, его характерных черт и ловушек, которые из этого следуют.

Читать далее Михаил Токовинин о продажах

График распределения дроби

Посмотрите, каким шикарным графиком поделились со мной коллеги!

Это график распределения частотности двух событий за всю жизнь пользователя. X — число событий типа А в месяц, Y — число событий типа Б в месяц, каждая точка — отдельный пользователь. На графике увеличена область от 0 до 1 по обоим шкалам. Откуда здесь полосы?! Читать далее График распределения дроби

Формальная постановка задачи предиктивного моделирования

На прошлой неделе встрял в теоретическую дискуссию с одним data scientist’ом  о формальной постановке задачи предиктивного моделирования. Тема совершенно оторванная от реальности, но тем не менее, может, кому-то из неофитов покажется полезной.

Data scientist обычно не выбирает задачи сам себе. Задачи исходят из бизнес-кейса и предметной области, а гипотезы и модели подбираются, исходя из их практической применимости. Более того, большинство гипотез о решении задач уже давно придуманы и осмыслены людьми, работающими с предметной областью — технарями, продажниками, рисковиками и т.п. Читать далее Формальная постановка задачи предиктивного моделирования

Версионирование .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. Скоринговая модель оперирует многомиллионными бюджетами, цена ошибки огромна, параметры зависят от кредитной политики, в итоге естественно желание полностью контролировать модель. Кроме того, допуск аутсорсеров к модели может повлечь за собой утечки, которые могут использоваться мошенниками или конкурентами. Читать далее Как разрабатывают скоринговые модели для банков

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

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

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

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