Pull to refresh
60
0
Илья Шутов@i_shutov

Data Science

Send message

Ну не одним же MLOps-ом все живет, уже давал комментарий. Тем и задач выше крыши.

У нас ansible AWX вполне успешно оркестрирует R-овские докеры в проде. Да и airflow тоже может.

И не надо никакую сову натягивать, зачем животное мучать. Без этого все вполне органично встраивается и интегрируется.

H2O automl нравится. лучше джуниоров :)

Ваша логика предельно понятна. Классический архитектурный подход. Думай глобально, решай локально.

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

Но это все будет потом.

Давайте попробуем с сохранением нумерации.

  1. Выхожу за рамки одномерных массивов из numpy. Попадаю во фреймы -- объекты. Работа с файлами, графиками, бд, модельками -- опять ООП.

  2. Если читали, то видели архитектурные косяки панды? А что там было на практике -- неизвестно. Что, где, когда, при каких условиях... чем читали.

  3. `query` никак не спасает в большом количестве случаев.

  4. пайпы много функциональнее в R. И никак не генераторы. Вы просто почитайте, я же ссылку дал. Это не просто передача выход-вход. И они очень удобны. Обертками это не решается в питоне.

  5. на одной машине data.table всех обыгрывает, не надо огород городить. есть еще `apache arrow` как хорошее дополнение.

  6. бенчмарк алогоритмических конструкций. ну не дают профилировщики полноты картины, что надо при оптимизации вычислений.

Что Вы к статмоделям привязались? Спектр задач гораздо шире и без ML/DL. Интегрируется все на ура. Вообще нет вопросов. Вы ведь знаете, например, что в телекоме до сих пор (о ужас!) идет интеграция с биллингом через файлы (CDR)? Просто как пример.

Архитектор -- круто, так что тогда в штыки так воспринимаете и закрываетесь?
В проде должно быть все равно, что там в кубере/докере/опеншифте крутится. API и response time.
ML -- это маленькая вишенка на торте, чтобы до этого добраться нужно пропахать вдоль и поперек не один раз перед этим. Я нигде не писал слов ML/DL, это вообще на 80% инфраструктурные задачи, MLOps, как он есть.

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

На тезис "пандас медленный" следует реакция -- "а R на ноутбуке 10 Тб не перелопатит, зуб даю".
На тезис "индексы неудачно построены" -- "наберись опыта, а в промышленной разработке на R не пишут, а перепиши библиотеки, да ты пакетов в питоне не видел, да все вообще в excel считают" и пр...
Ну что это такое?

Вам пачку референсов коммерческих нужно? Ну право слово, не на площади же.

Увы, стиль "не читал, но осуждаю" превалирует.
R прекрасно заходит во всех вертикалях.
Где-то один, где-то вкупе с тяжелой артиллерией в виде баз, балансировщиков, серверов приложений, шин и пр.

Джуны про регэкспы не слышали, а Вы заливаете, что он тут задачу возьмет и решит левой задней. Какую модельку? Что аналогичного?
Ага, прогноз пополнения остатков для Озона нарисует.

Как там учили??? fit-predict.

Подумайте сначала внимательно что Вы пишете. Николай, ну ведь DS -- это же не ваше поле. Много делали проектов по аналитической поддержке, бизнес-аналитике? Не агрегацию за месяц, а полный цикл от формирования требований и выработки алгоритмов решения на имеющихся огрызках данных, до вывода в прод на 24x7?

Драйвера и сервера -- это другое и не аналогичное.
Хоть людей своим комментариями не сбивайте с толку.

"Модельку аналогичную найдет..."

Вы ведь в курсе, что коммерческие решения во многих случаях представляют сборную солянку из языков и технологий. R себя там очень хорошо проявляет в качестве "мат. сопроцессора" и аналитического окна.
Но при чем здесь промышленная разработка и аналитика, как про нее изначально было написано? Что Вы в кучу мешаете все?

Представьте себе, вот очень даже и работает. Пока джависты пыхтят и классы рисуют, прототип на R уже в среде и бизнес понимает, что хотеть надо совсем не то, что они сначала просили.

  1. Панда ООП-шная. И сам питон по своей идеологии ООП-шный. И все там ООП пропитано снизу доверху

  2. В панде почитайте про blockmanager. Просто почитайте.

  3. Никуда не деться от множественного написания переменной. Факт, проверяемый каждым лично.

  4. Генератор и пайп -- разные вещи. Хотел бы сказать генератор -- сказал.

  5. Здесь не затрагивались распределенные вычисления. Это отдельная область. Считаем на одной машине.

  6. Вы спутали профилировщики с бенчмаркингом. Это две разные вещи, ну просто поглядите хотя бы. Хотел бы я написать про профилировщик -- ну так бы прямо и написал. И в R хорошо и с этим и с другим.
    https://rstudio.github.io/profvis/
    https://r-prof.github.io/proffer/index.html

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

Видел я многие курсы, не надо старье пихать 20-ти летней давности. Курсы надо актуализировать периодически, хоть это и трудозатратно.

Утомили уже эти комментарии без привязки к темы, без ссылок, без доказательств. А также желание каждого второго облить грязью. Нацепили каски и давай палить, даже не прочитав от начала до конца. Ну вот с чего Вы взяли, что что-то там про го непонятно? Но есть другой факт, когда говорят про ds в энтерпрайзе, зачастую подразумевают %30-40 загрузки/перезагрузки данных. и ETL там выше крыши.

Есть хоть одно возражение к тезисам в исходном тексте? Там ведь масса материалов и ссылок была дана?

Вы не показали никаких кейсов, только какие-то куски кода с гитхаба и много-много-много слов.
1. Что именно в медиане для четного числа чисел Вас не устраивает? Поддерживается аж 9 вариантов вычислений, которые описаны в статье в уважаемом журнале. Wolfram Alpha считает и не переживает -- можете поглядеть: https://www.wolframalpha.com/input?i=median&assumption={"F"%2C+"MedianCalculator"%2C+"list"}+->"{1%2C+2%2C+3%2C+4}"&assumption={"C"%2C+"median"}+->+{"Calculator"}. Откуда Вы взяли свою версию расчетов? Можно привести источник? Можете привести воспроизводимый пример, чтобы показать, что считается в питоне правильно и не так в R? Не словами, а цифрами. Вы же, в конце концов, околонаучный сотрудик? Сравним с Wolfram, Matlab, Maple, Statistica и т.д. Не нравится stats::quantile, возьмите https://sebkrantz.github.io/collapse/reference/fnth.html
2. Что Вы так рьяно рветесь править core library без наличия доказательной базы? И не забывайте правил корректировки любого софта -- если обещали обратную совместимость -- надо поддерживать. Да даже если отложить разработку -- на любом научном семинаре требуют (раньше точно требовали) предъявлять веские доказательства своих утверждений.
3. По активному упоминанию фортрана и "того времени" я полагаю, что Вы еще на 386 это писали. Но не надо сравнивать свой опыт использования R в 2004-м году с нынешней парадигмой. Все совсем иное.
И как можно закрыть вопрос безапеляционными утвержениями, что в R все работает через копии, если и окружения работают по ссылкам и весь пакет data.table работает по ссылкам? То, что Вы его не упоминаете и игнорируете как раз и показывает, что познания в R откровенно слабы.
4. Чем Вам сдались F-ordering и C-ordering? Это всё протуберанцы фортрана. Ну вот правда? Кто из читателей вообще в курсе этих штук? Какая разница как матрицы индексируются? Кэширование и все такое -- тонкая материя, время теряют далеко не там. Тем более, что Вы можете сами указать порядок свертки, а в памяти они все равно живут одномерным куском, меняются атрибуты и формула адресации через индекс.
5. А что мне остается думать, когда Вы раз за разом пеняете на те вещи, которые либо давно неактуальны, либо вообще непрозрачно сформулированы, либо противоречат реальным фактам (поглядите бенчмарки в конце)? Басни Крылова вспоминаются, это что, запрещено?

Горьковский радиофак -- это знаковое место. Но сдается, что мне найдется что паритетно ответить на многие вещи из Вашего профиля.

Поглядел проект — здорово. Когда-то тоже приходилось считать квантовые эффекты и взаимодействие света с веществом. Гигабайтами не пугайте, считаем-считаем. И терабайты тоже.

Но так вот наскакивать и грубо публично хамить незнакомому человеку — ну негоже это для учёного. Не находите?

Голый base R — да.

Надо использовать data.table. Он уж лет 14-15 существует. Все что Вы написали к нему неприменимо, там работа по указателям. Просто Вы не совсем ознакомились с матчастью.

«Пух открыл Северный Полюс», сказал Кристофер Робин. «Правда замечательно?»

Пух скромно потупился.

«Это что ли?», говорит И-Ё.

«Да», говорит Кристофер Робин.

«Это то, что мы искали?»

«Да», говорит Пух.

«О!», говорит И-Ё. «Ладно, по крайней мере не было дождя», говорит.

Они воткнули Полено в землю и Кристофер Робин привязал к нему надпись:

СЕВЕРНЫЙ ПОЛЮС ОТКРЫТ ПУХОМ ПУХ ЕГО ОБНАРУЖИЛ

В ВУЗ-ах есть кадровая проблема.
И не секрет, что в части программирования лекторы/семинаристы будут далеки от индустриальных подходов. Математики -- не самые лучшие преподаватели по программированию. По разработке алгоритмов -- да, по эффективному программированию и современным подходам -- скорее нет.

  1. Есть масса других языков, которые более пригодны для промышленной разработки и куда производительнее.
    https://habr.com/ru/post/488644/ -- прекрасный доклад. Golang рулит для многопоточных задачек.

  2. Полмира сидит на аналитических микросервисах на R. Ажур с радостью предоставит.
    Стыдно за курсы тех "нескольких университетов". Честно, стыдно. Что хоть за универы?

Ценность моих "умозаключений" в том, что все подкреплено материалами, ссылками и тестами различных, очень уважаемых людей.
Многие тезисы можно проверить и измерить самостоятельно и сделать свое собственное заключение на основании полученных результатов.
Ничего не надо принимать на веру.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity