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

Data Science

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

Представьте себе, вот очень даже и работает. Пока джависты пыхтят и классы рисуют, прототип на 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. Ажур с радостью предоставит.
    Стыдно за курсы тех "нескольких университетов". Честно, стыдно. Что хоть за универы?

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

Так про питон можно на основании сайта сказать, что ему в DS делать нечего. Тоже с сайта официального: Python is a programming language that lets you work quickly and integrate systems more effectively.

В чем Вы хотите убедить?

Да-да, подозревал, но не хотел так думать.
В целом, весь поток обсуждений вместо техники сваливается на личности и завуалированные оскорбления. Причем мы на брудершафт не пили.

Каждый раз на хабре одно и то же.
И даже уже раздражать перестало, неизбежный шлейф.
"Ну вот... опять поехало..."
Но комментаторы могут подумать, как именно они себя выставляют?

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

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

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

Тематика "What-If" требует погружения в конкретный кейс и составление модели. Я частенько занимаюсь симуляцией и цифровыми двойниками, чтобы немного понимать сложность этого вопроса. Маловероятные ветки на первых итерациях нужно прибивать сразу, иначе Ктулху утащит.

Со "студентами" вообще морока.
Очень много времени до выхода на безубыточость.
3-4 месяца надо учить методам командной работы и промышленной разработки, чтобы их код можно было в гит вливать.

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

Искорки нет -- понятно. Выгорание, рутина сжирает. Не Вы первый, не Вы последний.

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

Практиканты -- это любопытно. Где это так? Если искорка осталась, можете дать тест драйв для R, результаты могут превзойти ожидания.

  1. Ничего сразу нигде не работает. Все требует больших усилий по освоению. А если уж и работает, то в R с этим куда проще.

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

  3. С утверждением "я попробовал и у меня не получилось" работать ну никак невозможно. Даже поддержка тикет не откроет в такой постановке вопроса.

  4. На западе R занимает сегмент примерно такой же как питон. Целая индустрия. Это у нас исторический перекос возник.

  5. Если есть серьезный вопрос, то он требует тщательного разбора с `reprex`, уточнениями по разным моментам и т.д. Формат комментариев для этого совсем неудобен. Вот и все.

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

А.С. Пушкин, 1829

А еще можно законы Мёрфи почитать.

Информация

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