Как стать автором
Обновить
44
0.1
Игорь Асонов @iasonov

Data-driven подходы и решения в образовании

Отправить сообщение

Семейство тестов хи-квадрат: что у них под капотом и какие выбрать для сравнения воронок

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

Всем привет, меня зовут Вячеслав Зотов, я аналитик в студии Whalekit. В этом тексте я расскажу про статистические тесты и сравнение воронок, а также мы попробуем разобраться, что объединяет χ²-тесты, какова область их применения и подробно исследуем применимость χ²-тестов к анализу воронок. И все это с примерами на Python.

Тест χ² — очень полезный аналитический инструмент, который тем не менее часто вызывает у аналитиков недопонимание и путаницу. Прежде всего это происходит из-за того, что существует целое семейство тестов χ², имеющих разные области применения. Дополнительную путаницу создает то, что тесты χ² часто рекомендуют применять для анализа продуктовых и маркетинговых воронок, а это обычно приводит к ошибочному использованию тестов.

Читать далее
Всего голосов 44: ↑44 и ↓0+44
Комментарии1

Особенности Jupyter Notebook, о которых вы (может быть) не слышали

Время на прочтение10 мин
Количество просмотров364K
Jupyter Notebook – это крайне удобный инструмент для создания красивых аналитических отчетов, так как он позволяет хранить вместе код, изображения, комментарии, формулы и графики:



Ниже мы расскажем о некоторых фишках, которые делают Jupyter очень крутым. О них можно прочитать и в других местах, но если специально не задаваться этим вопросом, то никогда и не прочитаешь.
Читать дальше →
Всего голосов 49: ↑45 и ↓4+41
Комментарии14

Практика использования Spark SQL, или Как не наступить на грабли

Время на прочтение17 мин
Количество просмотров37K
Если вы работаете с SQL, то вам это будет нужно очень скоро. Apache Spark – это один из инструментов, входящих в экосистему Hadoop, который обрабатывает данные в оперативной памяти. Одним из его расширений является Spark SQL, позволяющий выполнять SQL-запросы над данными. Spark SQL удобно использовать для работы посредством SQL-запросов с большими объемами данных и в системах с высокой нагрузкой.

Ниже вы найдёте некоторые нехитрые приёмы по работе со Spark SQL:

  • Как с помощью сбора статистики и использования хинтов оптимизировать план выполнения запроса.
  • Как, оставаясь в рамках SQL, эффективно обрабатывать соединения по ключам с неравномерным распределением значений (skewed joins).
  • Как организовать broadcast join таблицы, если её размер слишком велик.
  • Как средствами Spark SQL понять, сколько приложение Spark реально использовало памяти и ядер кластера в развёртке по времени.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии13
Привет, Хабр, мы — Softline Ecommerce, помогаем производителям софта запускать и развивать онлайн-продажи в России и по всему миру. Раньше многие из наших клиентов-вендоров продавали свои продукты исключительно через партнёров и сомневались, что собственные продажи смогут мирно сосуществовать с партнёрскими. Вендоры избегали собственных онлайн-продаж — и в итоге недополучали прибыль.

Под катом мы расскажем, что такое партнёрские сети, откуда они берутся и как сделать так, чтобы собственные продажи их не разрушали. Как водится, рассказ будет опираться на практику: на наш собственный опыт и на опыт двух наших клиентов: Embarcadero Technologies и АСКОН.
Читать далее
Всего голосов 11: ↑6 и ↓5+11
Комментарии7

Жизнь IT-специалиста на Кипре: халуми, сига-сига, горы, дайвинг и песчаные бури. Стоит ли переезжать?

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


Александр Кушнарев работал на Kaspersky и «Яндекс» в России, а потом устроился в Wargaming на Кипре. За два года собрал много интересных наблюдений, которыми поделился с нами.


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

Читать дальше →
Всего голосов 38: ↑32 и ↓6+36
Комментарии64

Мои вопросы работодателю, когда подаюсь на разработчика

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

За последние 10 лет я поменял 3 работы, прособеседовался с 10+ компаний на позицию разработчика (software engineer) и вел переписку с HR/рекрутерами из нескольких десятков фирм. По ходу дела заметил, что вопросы, которые я задаю на собеседовании с менеджером/командой или с HR, повторяются, и решил их структурировать. Некоторые из них являются общими, и их может задать кандидат на почти любую вакансию; другие касаются только вакансий для программистов. В этой статье поделюсь с вами наиболее типичными и важными вопросами, которые, на мой взгляд, может задать соискатель потенциальному работодателю.

Читать далее
Всего голосов 72: ↑66 и ↓6+78
Комментарии70

Водопровод в современной квартире

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

Здравствуйте! Тема ремонта актуальна для всех и во все времена. Я занимаюсь монтажом сантехники и знаю, что разобраться с нуля в этом деле довольно сложно. Но чтобы проконтролировать качество работ надо хоть немного разбираться в сантехнике. Я в краткой форме освятил ключевые моменты на которые нужно обращать внимание. Надеюсь, это будет полезная статья.

Читать далее
Всего голосов 147: ↑130 и ↓17+156
Комментарии366

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

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


Перевод A Complete Machine Learning Walk-Through in Python: Part Two

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

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

Весь код проекта лежит на GitHub, а здесь находится второй блокнот, относящийся к текущей статье. Можете использовать и модифицировать код по своему усмотрению!
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии4

12 фильмов о виртуальной реальности из 90-х

Время на прочтение11 мин
Количество просмотров20K
Новогодние праздники — лучшее время для активного отдыха, приготовления блюд и уютных кинопросмотров по вечерам. Только вот киноновинки быстро закончатся. Специально на этот случай мы подготовили 12 лучших фильмов из 90-х о виртуальной реальности. Готовы спорить, что большую часть из них, вы точно не видели.

Мы перевели текст Райана Лэмби «The Top 12 Virtual Reality Movies of the 1990s», который он написал для Den of Geek в 2017 году, когда был заместителем главного редактора этого портала. Сейчас Райан — редактор ежемесячного журнала про видеоигры, а ещё автор гида про научно-фантастические фильмы.

Источник
Читать дальше →
Всего голосов 45: ↑42 и ↓3+58
Комментарии41

Как разработать ансамбль Light Gradient Boosted Machine (LightGBM)

Время на прочтение16 мин
Количество просмотров45K
В преддверии старта нового потока курса «Машинное обучение» представляем вашему вниманию материал о Light Gradient Boosted Machine (далее — LightGBM), библиотеке с открытым исходным кодом, которая предоставляет эффективную и действенную реализацию алгоритма градиентного бустинга.

LightGBM расширяет алгоритм градиентного бустинга, добавляя тип автоматического выбора объектов, а также фокусируясь на примерах бустинга с большими градиентами. Это может привести к резкому ускорению обучения и улучшению прогнозных показателей. Таким образом, LightGBM стала де-факто алгоритмом для соревнований по машинному обучению при работе с табличными данными для задач регрессионного и классификационного прогностического моделирования. В этом туториале вы узнаете, как разрабатывать ансамбли машин Light Gradient Boosted для классификации и регрессии. После завершения этого урока вы будете знать:

  • Light Gradient Boosted Machine (LightGBM) — эффективную реализацию ансамбля стохастического градиентного бустинга с открытым исходным кодом.
  • Как разрабатывать ансамбли LightGBM для классификации и регрессии с помощью API scikit-learn.
  • Как исследовать влияние гиперпараметров модели LightGBM на её производительность.


Давайте начнём
Всего голосов 15: ↑13 и ↓2+16
Комментарии0

Как представители разных профессий вас пробивают

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


Чтобы проводить расследования по открытым данным в интернете, совершенно не обязательно обладать сверхтехническими познаниями.

Раньше возможности таких расследований были доступны только крупным корпорациям. Сейчас малый бизнес и вообще любой человек с интернетом может воспользоваться благами открытых данных.

Компании используют открытые данные, чтобы принимать важные решения, получать конкурентные преимущества и обеспечивать безопасность. Открытую информацию дешевле собирать и исследовать, она доступна — нужен только интернет и компьютер, а большинство инструментов можно использовать бесплатно. Такие данные легко распространять: они открытые, у всех к ним сразу будет доступ. Кроме того, OSINT ускоряет поиск и позволяет проводить исследования в режиме реального времени.

В этом материале мы приводим несколько простых примеров, как можно использовать OSINT в работе. Возможно, что-то из описанного ниже вы уже активно применяете, а что-то покажется вам интересной идеей и подтолкнет к новым.
Читать дальше →
Всего голосов 21: ↑18 и ↓3+23
Комментарии3

Открытый курс машинного обучения. Тема 1. Первичный анализ данных с Pandas

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров1.1M


Открытый курс машинного обучения mlcourse.ai сообщества OpenDataScience – это сбалансированный по теории и практике курс, дающий как знания, так и навыки (необходимые, но не достаточные) машинного обучения уровня Junior Data Scientist. Нечасто встретите и подробное описание математики, стоящей за используемыми алгоритмами, и соревнования Kaggle Inclass, и примеры бизнес-применения машинного обучения в одном курсе. С 2017 по 2019 годы Юрий Кашницкий yorko и большая команда ODS проводили живые запуски курса дважды в год – с домашними заданиями, соревнованиями и общим рейтингом учаcтников (имена героев запечатлены тут). Сейчас курс в режиме самостоятельного прохождения.

Читать дальше →
Всего голосов 44: ↑43 и ↓1+42
Комментарии61

Почему все врут, правда о кривде

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

Мы не любим ложь, мы ненавидим когда нас обманывают и ненавидим тех, кто нас обманывает. Праведный гнев охватывает нас, когда понимаем, что стали жертвой обмана. И в то же время мы постоянно лжём. Мы, люди - чемпионы по вранью. Лгут родители и лгут дети, лгут жены и лгут мужья, лгут политики, врачи, священники. Конечно же, лгут торговцы и мошенники. С одной стороны мы постоянно лжём, с другой стороны мы ненавидим ложь. Почему у нас двойные стандарты по отношению ко лжи. И откуда она, кривда, взялась?

Читать далее
Всего голосов 80: ↑66 и ↓14+72
Комментарии115

Тестирование альтернативных гипотез – эффективная методика структурированного анализа информации

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

Когда мы пытаемся разобраться с какой-либо ситуацией и найти ответ на один из извечных вопросов «Кто виноват?», наш мозг любит выбирать первый понравившийся ответ и все факты уже рассматривать через его призму. Для того, чтобы ленивое серое вещество обмануть и заставить выйти из энергосберегающего режима, аналитики разведывательных служб придумали техники структурированного анализа (Structured Analytic Techniques), которые заставляют нас принять во внимание не только симпатичные нам варианты развития событий. Одной из самых распространенных техник является техника тестирования альтернативных гипотез, которую мы рассмотрим на небольшом шуточном кейсе.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии2

Как мы предсказывали поломки нефтяных насосов: когда big data – это в прямом смысле нефть

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

Привет, меня зовут Сергей Алямкин, я CTO компании Expasoft. В сфере моих профессиональных интересов: ML/DL, нейросети, квантизация, компьютерное зрение (полный список). В своей первой статье на Хабре хочу поделиться нашим пилотным проектом – как мы разрабатывали модель предиктивного обслуживания нефтедобывающих насосов для компаний из Северной Америки и России.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии6

8 ошибок, из-за которых ты проиграешь в соревновательном Data Science

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

Привет, чемпион!

Если ты читаешь этот пост, значит, тебе стало интересно, не допускаешь ли этих ошибок ты?! Почти уверен, что ты допускал эти ошибки хотя бы раз в жизни. Мы не застрахованы от совершения ошибок, такова наша человеческая натура — ошибаться для нас естественно. Однако, я постараюсь уберечь тебя от тех ошибок, которые совершал сам или замечал у других.

Так вышло, что за время участия в чемпионатах по соревновательному анализу данных я достаточно часто бывал в призовых местах. Однако, бывали случаи, когда я лишался призовых по глупости или неосторожности. Рассказываю по порядку.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+55
Комментарии10

Подборка о релокейте: страны, в которых хорошо

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


Мы уже несколько лет выпускаем на Хабре истории о переезде. Некоторые успешные, некоторые не очень (примерно 30% экспатов со временем возвращались).


Сейчас тема стала особенно актуальной. И, может быть парадоксально, но количество вакансий из других стран (тег «Релокейт») у нас в боте тоже выросло в полтора раза. Никакой русофобии и близко не наблюдается, компании понимают, что сейчас уникальный шанс получить мозги, выезжающие из страны.


Если кто-то задумался о том, что делать, — вот личные истории из тех стран, в которые сейчас реально переехать, и в которых относительно просто построить новую жизнь.

Читать дальше →
Всего голосов 66: ↑49 и ↓17+46
Комментарии317

Руководство по использованию pandas для анализа больших наборов данных

Время на прочтение16 мин
Количество просмотров161K
При использовании библиотеки pandas для анализа маленьких наборов данных, размер которых не превышает 100 мегабайт, производительность редко становится проблемой. Но когда речь идёт об исследовании наборов данных, размеры которых могут достигать нескольких гигабайт, проблемы с производительностью могут приводить к значительному увеличению длительности анализа данных и даже могут становиться причиной невозможности проведения анализа из-за нехватки памяти.

В то время как инструменты наподобие Spark могут эффективно обрабатывать большие наборы данных (от сотен гигабайт до нескольких терабайт), для того чтобы полноценно пользоваться их возможностями обычно нужно достаточно мощное и дорогое аппаратное обеспечение. И, в сравнении с pandas, они не отличаются богатыми наборами средств для качественного проведения очистки, исследования и анализа данных. Для наборов данных средних размеров лучше всего попытаться более эффективно использовать pandas, а не переходить на другие инструменты.



В материале, перевод которого мы публикуем сегодня, мы поговорим об особенностях работы с памятью при использовании pandas, и о том, как, просто подбирая подходящие типы данных, хранящихся в столбцах табличных структур данных DataFrame, снизить потребление памяти почти на 90%.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии7

F-strings или как сделать код чуть более быстрым и читаемым

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


В Python есть 3 способа форматировать строки, и один из них лучше других. Но не будем забегать наперед — о каком именно форматировании вообще речь? Каждый раз когда мы хотим поприветствовать пользователя по имени нам нужно вставить строку с именем в строку-шаблон. Большинство полезных записей в логах так же содержат значения переменных. И вот пример:

integer = 42
string = 'FORTY_TWO'

print('string number %s, or simply %d' % (string, integer))
print('string number {}, or simply {}'.format(string, integer))
print(f'string number {string}, or simply {integer}')

Первый способ, форматирование оператором %, пришел в Python еще из С — он имитирует функцию printf. Этот способ был первым в питоне, и остается единственным (из обсуждаемых в статье) в Python версии 2.5 и ниже.

Второй способ — это метод str.format, принадлежащий встроенному классу строк. Он появился с Python 3.0, и был портирован в версию 2.6. Этот метод был рекомендован как обладающий более богатым синтаксисом.

Третий способ, f-string, появился в Python версии 3.6. Как объяснено в PEP-0498, создание нового способа форматирования строк было мотивировано недостатками существующих методов, которые авторы характеризуют как подверженные ошибкам, недостаточно гибкие и не элегантные:
This PEP is driven by the desire to have a simpler way to format strings in Python. The existing ways of formatting are either error prone, inflexible, or cumbersome.
Итак, у нас есть три способа решить одну задачу. Но может это дело личного вкуса и предпочтений? Возможно, но стиль вашего кода (особенно кода в проекте с большим количеством участников) точно выиграет от единообразия. В лучшем случае стоит использовать один метод форматирования строк, тогда читать код станет проще. Но какой же метод выбрать? И есть ли разница в производительности кода?
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии11

Информация

В рейтинге
3 559-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность