Pull to refresh
2
0
Send message

Хорошие замечания! Мы тоже про это думали. То что описано в статье - это не конец истории, мы продолжаем развивать проект, и дообучение в каком-то виде наверняка будет.

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

Что конкретно вы используете в DS ? Статистика ? А что еще там вы используете? Интересно просто.

В первую очередь статистику, да. А так-то в ML-либах под капотом много чего зашито: линейная алгебра, оптимизация например. Спускаться до них обычно не требуется, но иногда нужно (да и интересно просто, если время позволяет).

А какие алгоритмы если не секрет?

В первую очередь классический ML: линейную/логистическую регрессию, KNN, разные виды кластеризации (k-means, DBSCAN), понижение размерности (PCA) - это первое что вспомнилось. Сейчас вот нейросети изучаю и пробую применять. Плюс много работы с временными рядами, они дают свою специфику.

Вы используете Python?

Да.

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

Честно говоря, я ожидал, что будут комментарии мол поясни почему мы здесь не увидели Зорича, Кострикина и т.д..

Насчет поиска наилучших книг и курсов тоже имею что сказать (опять же это мое личное мнение). Есть такая идея у новичков (и у меня была): дескать надо найти самые лучшие книги, и все пойдет как по маслу. А я скажу, что по каким именно книгам заниматься - дело даже не второстепенное, а вообще не сильно важное. И даже хуже: если новичок сразу возьмется за Зорича/Кострикина, то скорее всего только впустую потратит кучу сил и времени, да еще словит демотивацию. Эти книги не для начинающих. Не начинайте с них, если не занимаетесь с ментором/репетитором, который будет по ним вас вести за руку. И вообще, самое главное - это не книги, а другие вещи - мотивация, скорость и вдумчивость изучения, пропорции теории и практики, периодическое самотестирование, наличие рядом наставника. Книги как сомелье будете выбирать когда базу наработаете на книгах попроще.

Сорри, не поверю даже в 10 часов с перерывами нормальной учебы в день. В 10 часов профанации вместо учебы - может и поверю. Возможно конечно вы просто уникум, тогда ок. Спорить если что не собираюсь, просто выражаю мнение (подкрепленное своим многолетним опытом и опытом моих знакомых).

Возможно, хороший список книг (я занимался по другим), но совершенно фантастические сроки - 8 месяцев по 10 часов в день (!!!). Никогда не поверю что в таком режиме можно 1) вообще продержаться 8 месяцев, 2) реально учиться, т.е. узнавать и запоминать новое по 10 часов в день.

Немного расскажу про свой опыт чтобы уравновесить. В универе (примат) учился плохо, и мало что понял и запомнил, поэтому когда решил вкатиться в DS начинать учить математику пришлось чуть ли не с нуля. Начал в 25 лет, сначала проходил курсы на курсере/edx/степике, потом стал читать серьезные книги (Зорич и т.д.), походил немного в НМУ (на 2 месяца кое-как хватило), стал заниматься с репетитором, прорешивать листочки какие мог найти (например Давидовича, и из того же НМУ). Сейчас мне 35 лет (т.е. 10 лет я этим всем занимаюсь - сравните с авторскими 8 месяцами), в процессе у меня родилась дочь, началась война, прилетели инопланетяне, цивилизации рождались и умирали. Я несколько раз выгорал до полного упадка, восстанавливался, понимал что занимаюсь неправильно (сначала понял что слишком много теории читаю и проглатываю ее слишком быстро, потом понял что наоборот - только листки прорешиваю, а надо бы теорию еще почитывать), несколько раз вообще хотел все бросить (и бросал, но максимум на полгода). И вот уже взрослый дядя, я несколько лет как вкатился в DS, уже успел поработать на нескольких DS-работах и успешно вел проекты, и что вы думаете - я до сих пор занимаюсь математикой и чувствую что есть еще много тем которые я либо не знаю либо знаю плохо.

С высоты своего опыта, и если отбросить чисто мои затупы, то реальные сроки и режим изучения математики для DS с около-нуля для взрослого человека с семьей видятся мне примерно такими: 3-5 лет по 2-3 часа в день. Быстрее 3х лет я вообще не знаю как можно это изучить, ведь нужна математика по сути первых 3х курсов технического универа, вот и настраивайтесь минимум на эти полноценные 3 курса, да еще с параллельной взрослой жизнью. Ну и в день лично мой (да и практически всех моих знакомых) "стандарт" тяжелой интеллектуальной работы - 3-4 часа. И это не каждый день, хотя бы 1 день в неделю надо от этого отдыхать.

А раз уж такое дело, может вы еще и про всю программу www.edx.org/micromasters/mitx-statistics-and-data-science чего-нибудь расскажете? Остальные курсы в ней стОят того чтобы их пройти?
Спасибо за статью! Обязательно пишите продолжение по матстату!
От себя: удваиваю рекомендованный автором www.edx.org/course/probability-the-science-of-uncertainty-and-data — очень крутой курс с понятными объяснениями (сигма-алгебр там нет), при этом довольно сложный, настолько что во время его прохождения ни на какую другую учебу сил уже не было. В мае в очередной раз запускается его продолжение (точнее оба курса объединены в одной магистерской программе) — курс по матстату www.edx.org/course/fundamentals-of-statistics, думаю его тоже пройти. Кто-нибудь проходил уже кстати?
Смешанные чувства от статьи.
С одной стороны — ну явно талантливый чувак, молодец!
С другой стороны, как бы это написать… Я вот работаю кодером с 3-го курса, сначала даже гордился собой что раньше одногруппников работать начал, а теперь мне уже за 30, и оглядываясь назад — лучше бы я нормально с полной самоотдачей учился, и особенно лучше б учил фундаментальные науки, особенно математику. Меня от прикладного программирования/формошлепства, на которые я зачем-то потратил свои лучшие годы, уже давно тошнит, сейчас оно мне кажется крайне тупым занятием. «Возьми там, положи сюда». А математику сейчас, имея семью и ипотеку, наверстывать очень трудно. А надо, ведь по-настоящему интересные задачи (многие из них) — там где математика, в машин лернинге например.
Желаю автору все-таки постараться проникнуться матаном, тем более кажется 57-я школа самое подходящее место для этого (я прорешал половину вашего Давидовича) и временно подзабить на всякие джаваскрипты.
Не особо разбираюсь в том что нарисовано (не знаток Unix), но очень нравится сам формат. Гуглить «скетчноутинг». Недавно прочитал Майкла Роуди и проникся, теперь все свои записи/конспекты стараюсь вести в таком формате — на бумаге от руки и с картинками, и очень доволен. Попытки делать электронные конспекты забыл как страшный сон.
Золотые слова! (безотносительно Agile) Недавно понял, что книги где даются готовые мысли/решения для меня в основном бесполезны (особенно если тема книги для меня новая). А вот что полезно — так это книги где описан ПУТЬ как прийти к нужному пониманию.
Для меня главным принципом стала фраза «что не записано, то продолбано». Запись всех задач в trello разгружает голову и одновременно не позволяет про что-либо забыть.
Эта идея про разгрузку головы путем записывания всего на внешний носитель, которая так превозносится всеми адептами GTD и прочей эффективности/продуктивности, способна превратить жизнь не то чтобы в ад, но уж точно во многом лишить ее удовольствия. И отразится это не в последнюю очередь как раз на продуктивности, за которой тут так гонятся. Причем происходит это незаметно. Есть риск стать эдаким «компульсивным записывателем дел» — вместо обещаемой разгрузки головы будет вечная тревога «а все ли я записал или нет?». Прочувствовано на собственном опыте. Вообще это интересная тема для обсуждения, надо бы собраться и написать статью с критикой GTD (не видел тут таких статей).
Сдается мне, автор и сам понимает что его отношение к работе (когда упор на написание кода, а не на продукт) неправильное, поэтому и озвучивает его с таким вызовом, типа «да, я такой, и не хочу меняться». Было время, у меня было такое же отношение. И я рад что я смог его изменить (пока еще не до конца, правда). Меня тоже не волновал конечный продукт, я тоже видел только код, я горел «правильным кодом». И в результате перегорел и полностью разочаровался в кодинге. Пришел к тому что кодинг не стОит того чтобы ставить его на пьедестал в своей жизни. Все эти языки и фреймворки стали казаться мне довольно ограниченными и просто скучными. Ум стал требовать новых челленджей, и написание кода его уже не могло удовлетворить. Все эти паттерны, командная разработка, аджайл — да не такое уж это и умное занятие на самом деле, на челлендж не тянет. А теперь я стараюсь думать в первую очередь про готовый продукт, что он даст юзерам. А код — просто средство, инструмент. И при таком подходе ко мне опять вернулось удовольствие от кодинга. Ведь я больше не отношусь к нему серьезно.
Часто di предпочтительней, согласен. Подробнее про di: www.objc.io/issues/15-testing/dependency-injection
По пунктам 1 и 2 — согласен, Вы правы.

По поводу синглтонов. Специально для начинающих разработчиков — не надо клепать синглтоны где попало :) Бездумное использование глобальных переменных (пусть даже обернутых в синглтон) не есть признак хорошей архитектуры, часто без него можно обойтись (например, с помощью dependency injection, как справедливо заметили здесь). Из минусов синглтонов я бы выделил сложность их тестирования. Модульное тестирование предполагает независимость тестов друг от друга (т.е. по-хорошему их можно запускать в любой очередности). Если какой-то тест изменяет некоторую переменную в синглтоне, а другой тест использует ее значение, то получаем зависимость между тестами.
Более подробно про проблемы синглтонов в статье: www.objc.io/issues/13-architecture/singletons

Information

Rating
Does not participate
Works in
Registered
Activity

Specialization

Data Scientist, Data Engineer