Как стать автором
Обновить
59
0
Илья Шутов @i_shutov

Data Science

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

Элементы функционального программирования в R

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

"На небе только и разговоров, что о функциональном программировании."

Всем привет. Меня зовут Дмитрий Володин, я Analytics Engineer в TrafficStars. Сегодня я хочу рассказать вам о приёмах ФП в R. Исходить я постараюсь из более-менее реальных задач, а не учебных, чтобы показать, что элементам ФП вполне есть место в вашем ящике с инструментами.

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 2

На берегу океана или о тестах для таблиц 2*k

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

Сообщение посвящено простому (всего 1 функция ) пакету chisquare, который реализует статистический тест на равенство пропорций для таблиц 2*k, выдает по ней подробную информацию, а также приятно оформленные таблицы в виде графиков

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

Хорошая идея не пропадает зря или о пакете gMWT

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

В заметке кратко описан функционал пакета gMWT, который реализовывает обобщенный тест Манна-Уитни. Описано его применение для проверки гипотез о равенстве законов распределения для случая двух и трех выборок, продемонстрировано его применение для проверки гипотез о принадлежности изучаемого распределения некоторому закону.

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

Наглядное руководство по SSH-туннелям

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

Прим. переводчика: автор статьи рассматривает практические сценарии и примеры организации SSH-туннелей. А для лучшего понимания того, как это работает, графически показывает потоки трафика.

Туннели SSH — это зашифрованные TCP-соединения между клиентами и серверами SSH. Трафик входит с одной стороны туннеля и прозрачно выходит с другой. Изначально этот термин относился к туннелям на виртуальных сетевых интерфейсах TUN/TAP, однако сейчас так обычно называют проброс портов SSH.

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

Интересные алгоритмы кластеризации, часть вторая: DBSCAN

Время на прочтение 10 мин
Количество просмотров 91K
Часть первая — Affinity Propagation
Часть вторая — DBSCAN
Часть третья — кластеризация временных рядов
Часть четвёртая — Self-Organizing Maps (SOM)
Часть пятая — Growing Neural Gas (GNG)

Углубимся ещё немного в малохоженные дебри Data Science. Сегодня в очереди на препарацию алгоритм кластеризации DBSCAN. Прошу под кат людей, которые сталкивались или собираются столкнуться с кластеризацией данных, в которых встречаются сгустки произвольной формы — сегодня ваш арсенал пополнится отличным инструментом.


Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Комментарии 4

Магнитная аномалия: как предсказать продажи промо в ритейле

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

Привет, Хабр! Меня зовут Андрей Ткаченко, я руковожу направлением прогнозирования промо в «Магните». Наша команда запускает цикл статей о прогнозировании промо: мы приоткроем дверь в мир процессов, технологий и алгоритмов крупного российского ритейла, а также поделимся собственным опытом. 

Во вводной статье мы расскажем о разнице между промо и регулярными продажами, о команде и истории развития направления прогнозирования в «Магните», а также объясним, почему качественный прогноз промо важен для бизнеса. 

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 16

Рекурсивное название небольшой статьи о рекурсии

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 5.4K

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

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

NumPy: оттачивайте навыки Data Science на практике

Уровень сложности Средний
Время на прочтение 21 мин
Количество просмотров 17K

В этой статье мы рассмотрим ряд различных упражнений, используя библиотеку NumPy (и сравним с тем, как мы бы реализовали их без неё). В самом конце статьи я приведу ряд упражнений.

t.me/ai_machinelearning_big_data -  моем телеграм канале я публикую актуальные проекты курсы, уроки и примеры с кодом по машинному обучению.

Для этой статьи рекомендуется, чтобы читатель имел средний уровень знаний Python, NumPy, numpy.dtypenumpy.ndarray.strides, и numpy.ndarray.itemsize. Краткое введение в массивы и NumPy см. в разделе 💡 Немного предыстории ниже.

Рекомендуемые бесплатные курсы и гайды:

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

Авария Boeing 737 Max глазами разработчика ПО

Время на прочтение 22 мин
Количество просмотров 105K
Представляю вашему вниманию перевод статьи «How the Boeing 737 Max Disaster Looks to a Software Developer» Грега Трэвиса. Речь пойдет о том, как желание Боинга сэкономить и «срезать углы» для коммерческой выгоды, а также культура «некомпетентности и неэтичности» в сообществе разработчиков привело к гибели 346 человек. Я не во всем разделяю позицию автора (в частности, я считаю, что человеческий фактор куда большее зло, чем ПО), но с основными доводами сложно не согласиться.

Ниже очень много букв. Если читать лень, а ознакомиться с темой хочется, то на Хабре есть первая, более короткая версия этой статьи в переводе Вячеслава Голованова, с ней можно ознакомиться здесь.
Читать дальше →
Всего голосов 79: ↑72 и ↓7 +65
Комментарии 239

Эльфы и пингвины: что такое ELF и как он работает в Linux?

Уровень сложности Простой
Время на прочтение 37 мин
Количество просмотров 21K

image


Всем привет! С вами как всегда я, Аргентум. Сегодня я расскажу и поведаю вам древние тайны, которые хранят горные старцы-сисадмины — тайны об эльфах, и как они взаимодействуют с древним народцем пингвинов. Дамы и господа, встречайте — статья о работе ELF и двоичных файлов в Linux!


Что такое ELF? Чем он отличается от PE в Windows? И многие другие ответы на ваши вопросы.


Перед тем как погрузиться в технические детали, будет нелишним объяснить, почему понимание формата ELF полезно. Это позволяет изучить внутреннюю работу операционной системы. Когда что-то пошло не так, эти знания помогут лучше понять, что именно случилось, и по какой причине. Также возможность изучения ELF-файлов может быть ценна для поиска дыр в безопасности и обнаружения подозрительных файлов. И наконец, для лучшего понимания процесса разработки. Даже если вы программируете на высокоуровневом языке типа Go или Rust, вы всё равно будет лучше знать, что происходит за сценой.


Итак, зачем изучать ELF?


  • Для общего понимания работы операционной системы
  • Для разработки ПО
  • Цифровая криминалистика и реагирование на инциденты (DFIR)
  • Исследование вредоносных программ (анализ бинарных файлов)
Читать дальше →
Всего голосов 58: ↑52 и ↓6 +46
Комментарии 22

Как работает ChatGPT: объясняем на простом русском эволюцию языковых моделей с T9 до чуда

Уровень сложности Простой
Время на прочтение 30 мин
Количество просмотров 365K

В последнее время нам почти каждый день рассказывают в новостях, какие очередные вершины покорили языковые нейросетки, и почему они уже через месяц совершенно точно оставят лично вас без работы. При этом мало кто понимает — а как вообще нейросети вроде ChatGPT работают внутри? Так вот, устраивайтесь поудобнее: в этой статье мы наконец объясним всё так, чтобы понял даже шестилетний гуманитарий!

Погнали →
Всего голосов 357: ↑350 и ↓7 +343
Комментарии 283

Кто такие LLM-агенты и что они умеют?

Уровень сложности Средний
Время на прочтение 24 мин
Количество просмотров 24K

В последнее время большие языковые модели (Large Language Models, LLM) стали невероятно популярными — кажется, их обсуждают везде, от школьных коридоров до Сената США. Сфера LLM растёт бурными темпами, привлекая внимание не только специалистов в области машинного обучения, но и обычных пользователей. Кто-то высказывает массу опасений насчет их дальнейшего развития, а кто-то и вовсе предлагает бомбить дата-центры — и даже в Белом Доме обсуждают будущее моделей. Но неужели текстом можно кому-то навредить? А что если такая модель приобрела бы агентность, смогла создать себе физическую оболочку и полностью ей управлять? Ну, это какая-то фантастика из (не)далёкого будущего, а про агентов нашего времени я расскажу в этой статье. И не переживайте — знание машинного обучения вам не понадобится!

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

Заблуждения Clean Architecture

Время на прочтение 15 мин
Количество просмотров 409K
Превращаем круги в блоки

­­ 


На первый взгляд, Clean Architecture – довольно простой набор рекомендаций к построению приложений. Но и я, и многие мои коллеги, сильные разработчики, осознали эту архитектуру не сразу. А в последнее время в чатах и интернете я вижу всё больше ошибочных представлений, связанных с ней. Этой статьёй я хочу помочь сообществу лучше понять Clean Architecture и избавиться от распространенных заблуждений.

Читать дальше →
Всего голосов 58: ↑56 и ↓2 +54
Комментарии 203

Andrej Karpathy: глубокие нейросети 33 года назад и 33 года спустя

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

На мой взгляд, статья Янна Лекуна с соавторами Backpropagation Applied to Handwritten Zip Code Recognition (1989 год) имеет определённую историческую ценность, поскольку, насколько мне известно, это первое реальное применение нейронной сети, от начала до конца обученной при помощи обратного распространения (backpropagation). Если не учитывать крошечный датасет (7291 изображений цифр в градациях серого размером 16x16) и крошечный размер использованной нейронной сети (всего тысяча нейронов), эта статья спустя 33 года ощущается вполне современной — в ней описана структура датасета, архитектура нейронной сети, функция потерь, оптимизация и приведены отчёты об величинах экспериментальных ошибок классификации для обучающего и тестового датасетов. Всё это очень узнаваемо и воспринимается как современная статья о глубоком обучении, только написанная 33 года назад. Я решил воспроизвести эту статью 1) для развлечения, а ещё 2) чтобы использовать это упражнение как исследование природы прогресса глубокого обучения.
Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 12

Как быстро получить много данных от Битрикс24 через REST API

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

Нередко при работе с Bitrix24 REST API возникает необходимость быстро получить содержимое определенных полей всех элементов какого-то списка (например, лидов).

Традиционный способ для этого - обращение к серверу через метод *.list (например, crm.lead.list для лидов) с параметром select, перечисляющим список требуемых полей. При этом, чем больше полей вы запрашиваете, тем больше времени серверу требуется для формирования ответа. Плюс, в силу того, что информация сервером выдается постранично, получение всего списка через последовательные запросы всех страниц может занимать много времени.

Однако существует несколько стратегий для того, которые позволяют ускорить процесс на порядки.

И что это за стратегии?
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 9

Я люблю питон, и вот почему он меня бесит

Уровень сложности Простой
Время на прочтение 18 мин
Количество просмотров 56K

Вас приветствует ваш зануда!

Если вы следите за моей ленивой активностью, то заметили бы, что у меня много от чего пригорает. Вот, например:
- У меня пригорает от низкосортных статей на потоке: Питон против Безумного Макса, или как я посты на Хабре замораживал
- У меня пригорает от Django: Окей, Джанго, у меня к тебе несколько вопросов
- И от Яндекса тоже: Собеседование в Яндекс: театр абсурда :/
- И от рекрутеров: Я единственный из 1400, или самый крутой рекрутинг, что я проходил

Посмотришь так - я уже давно должен был сгореть. Но я, аки феникс, возрождаюсь, и сегодня у меня горит от, внезапно, Питона, на котором я пишу больше десяти лет. Если вам интересно, что же, по моему мнению, с ним не так - то прошу под кат.

Это что же получается, kesn опять открыл postman и сломал вёрстку на сайте? Поразительно, никогда такого не было, и вот опять! В принципе, тут можно писать текст любой длины (похоже, у них на бэкенде не Char(255), а Text). Они проверяют длину только на фронтенде, а бэкенд принимает строку любой длины. И это, блин, забавно) Вообще мой девиз - 'кто ищет, тот всегда найдёт', поэтому я ищу постоянно. Кстати, на Хабре скоро выйдет статья про программирование глазами Погромиста, там в том числе про уязвимости на сайтах будет - поэтому если не хотите пропустить, то подписывайтесь на меня в телеге: @blog_pogromista
Всего голосов 248: ↑238 и ↓10 +228
Комментарии 143

От Web до Desktop за 2 недели: технология Electron на практике

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

Если у вас есть компьютер и вы используете его по назначению, то скорее всего вы так или иначе работали с приложениями на Electron (даже если об этом не знали).

Меня зовут Сергей Володин, я руковожу командой разработки VK WorkMail. В этой статье я расскажу, как на основе Electron мы за две недели создали PoC кроссплатформенного настольного приложения Почты, что узнали о технологии и к каким выводам пришли.

Читать далее
Всего голосов 34: ↑30 и ↓4 +26
Комментарии 31

Ускоряем Python в сто раз при помощи менее чем ста строк на Rust

Уровень сложности Средний
Время на прочтение 15 мин
Количество просмотров 19K

Однажды на работе у нас возникла проблема с производительностью одной из наших основных Python-библиотек.

Эта библиотека формирует фундамент нашего конвейера 3D-обработки. Это довольно большая и сложная библиотека, использующая NumPy и другие научные пакеты Python для выполнения широкого спектра математических и геометрических операций.

Кроме того, наша система должна работать на мощностях компании с ограниченными ресурсами CPU, и хотя поначалу она справлялась хорошо, с ростом количества одновременных физических пользователей у нас начали возникать проблемы, а наша система едва выдерживала нагрузку.

Мы пришли к выводу, что для работы с увеличившейся нагрузкой нужно сделать систему, по крайней мере, в пятьдесят раз быстрее, и решили, что помочь в этом нам может Rust.

Так как проблемы производительности, с которыми мы столкнулись, встречаются довольно часто, мы можем воссоздать и решить их прямо здесь, в (не такой уж короткой) статье.

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

Если вы хотите сразу перейти к получившемуся коду, то читайте раздел «Подведение итогов».
Читать дальше →
Всего голосов 76: ↑72 и ↓4 +68
Комментарии 10

Пайпы, the pythonic way

Время на прочтение 3 мин
Количество просмотров 18K
Одни питонисты любят код читаемый, другие предпочитают лаконичный. К сожалению, баланс между первым и вторым — решения по-настоящему изящные — редко случается встретить на практике. Чаще стречаются строки вроде
my_function(sum(filter(lambda x: x % 3 == 1, [x for x in range(100)])))
Или четверостишья а ля
xs = [x for x in range(100)]
xs_filtered = filter(lambda x: x % 3 == 1, xs)
xs_sum = sum(xs_filtered)
result = my_function(xs_sum)
Идеалистам же хотелось бы писать как-то так
result = [x for x in range(100)] \
    | where(lambda x: x % 3 == 1)) \
    | sum \
    | my_function

Не в Питоне?
Зря так думаете...
Всего голосов 83: ↑81 и ↓2 +79
Комментарии 81

10 шаблонов запросов для ChatGPT, которые выдадут качественные ответы в помощь продакт-менеджеру

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

Привет! Я Аля — продакт-менеджер выделенных серверов Selectel. Люблю быстрое тестирование гипотез (и да, верю, что в B2B это возможно), общаться с целевой аудиторией и чистить бэклог.

Хочу поделиться, как продакт-менеджеры могут превратить ChatGPT из магии и забавной болталки, вокруг которой уже существует целая куча мемов, в полезный инструмент для решения повседневных задач. В этом тексте дам шаблоны запросов для разных целей — от составления структуры презентаций до валидации идей. Задачу ChatGPT не облегчала и проверяла его на боевых задачах, связанных с развитием моего непростого продукта.

Дисклеймер: Сразу отмечу, что рассматриваю AI-инструменты в качестве мощного ускорителя работы и источника вдохновения, а не как полную замену продакт-менеджера. Да, с помощью ChatGPT или Notion AI можно генерировать идеи и вопросы для интервью, но принятие решения о дальнейших шагах и выбор путей реализации все равно остаются в компетенции специалиста.

Читать дальше →
Всего голосов 53: ↑48 и ↓5 +43
Комментарии 18

Информация

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