Aspiring Data Science – Telegram
Aspiring Data Science
385 subscribers
465 photos
12 videos
12 files
2.15K links
Заметки экономиста о программировании, прогнозировании и принятии решений, научном методе познания.
Контакт: @fingoldo

I call myself a data scientist because I know just enough math, economics & programming to be dangerous.
Download Telegram
#writing #businessidea

Готовлю сейчас статью о трейдинге и ML к публикации на medium.com

Товарищи, кто там уже публиковался, как вы выбирали паблик? Хочется, с одной стороны, чтобы прочитало побольше людей, с другой стороны - чтоб побольше именно релевантных людей, которые оставят коммент, подпишутся, как-то провзаимодействуют, словом. Создавать свой паблик - дело дохлое, я так уже пробовал, трафика нет от слова совсем ) Списки самых крупных блогов в сети неактуальные, а сам медиум, похоже, вообще не заботит, куда ты там закинешь свою статью. Плюс там же ещё есть монетизация, но вроде как не везде. "So far in 2020, the number of writers in the Partner Program grew 106%, and 65,187 of them published their first story on Medium. Writers in the Partner Program have earned over $11 million this year. "
Есть ли вообще где-то актуальная статистика о блогах, подписчиках медиума? Что посоветуете?

https://findingtom.com/what-is-medium-com/
👍2
#finance #algotrading #ml #businessidea

Эрни Чан - бывший сотрудник хедж-фонда, уже много лет как частный трейдер, автор 3 хороших книг и множества лекций. Очень интересно наблюдать эволюцию его взглядов на трейдинг и применимость ML в финансах. Идея об уходе от общих таргетов заслуживает внимания и проверки, тем более что о ней же говорит и ДеПрадо (в его книге эта техника называется "метаразметкой").

https://www.youtube.com/watch?v=nAOjbL5bsjA

Книга Quantitative Trading: How to Build Your Own Algorithmic Trading Business https://www.amazon.com/gp/product/B097QGPVND/

Ещё у него есть активный блог: http://epchan.blogspot.com/
🔥3
#python #testing

Лекция об эффективных инструментах тестирования в Питоне от Рэя Хеттингера, разработчика ядра.

https://www.youtube.com/watch?v=ARKbfWk4Xyw&ab_channel=SFPython

Резюме:

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

2) не используйте модуль unittest, вместо него берите py.test: понятнее синтаксис, на 60% меньше печатания.

3) Рэй предпочитает PyFlakes вместо PyLint по причине излишней предвзятости и болтливости последнего )

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

5) интересен пример модуля, проходящего доктесты, юниттесты, имеющего 100% покрытие, строгую типизацию (проходящую проверки mypy), и всё же содержащего много критических ошибок, которые ждут своего часа, чтобы всплыть.

6) с подобными логическими ошибками помогает бороться пакет Hypothesis, который позволяет для входов функции с помощью декоратора задать стратегии (например: текст, или список целых чисел), автоматически влекущие синтез разнообразных тестовых значений, в том числе и краевых. Этот инструмент за секунды придумает и набросит вашей функции на вход столько всего самого разного и неожиданного, что сами и за неделю не составите ) В примере из доки пакет Гипотезы для текстового входа быстро находит ошибку для пустой строки, а затем и куда более нетривиальную логическую, возникающую при наличии в строке повторяющихся символов.

P.S.: у кого хватило терпения осилить мутации входов с помощью Гипотезы, велкам на следующий метауровень просветления: мутации самого вашего кода с помощью mutatest (и проверки, что сломанный код действительно вызывает падение тестов)! Тем самым автоматически проверяется качество и полнота уже ваших тестов.
👍5🤔1
#physics #energy

"Учёные из Ливерморской национальной лаборатории США совершили прорыв, впервые получив в результате термоядерного синтеза больше энергии, чем было потрачено на запуск реакции, сообщает The Financial Times. Это открывает невероятные перспективы, в теории позволяя обеспечить человечество почти неисчерпаемым источником энергии. Эксперимент проходил в минувшие две недели. Реакции синтеза в национальном комплексе National Ignition Facility (NIF), принадлежащем лаборатории, позволили генерировать 2,5 мегаджоулей энергии — почти 120 % от затраченного лазером 2,1 мегаджоуля. В Министерстве энергетики США уже назвали результаты эксперимента «крупным научным прорывом». Полученные данные всё ещё проверяются.Объект National Ignition Facility на площадке лаборатории обошёлся в $3,5 млрд и изначально предназначался для моделирования военных ядерных взрывов, но использовался также для экспериментов с термоядерным синтезом. В прошлом году в рамках эксперимента с термоядерным синтезом удалось генерировать 70 % энергии от той, что была затрачена лазерами.

Ранее в этом году, в ходе оглашения стратегии развития термоядерной энергии, один из американских конгрессменов заявил, что технология является «святым граалем» чистой энергетики и потенциально способна избавить большее число людей от бедности, чем открытие огня."
🔥1
Forwarded from Записки C3PO
Устали от еженедельных технологических прорывов в ML? Вот вам новость тогда: сегодня министерство энергетики США должно объявить, что смогло произвести реакцию термоядерного синтеза, которая дает энергии больше, чем было на нее потрачено.

https://www.washingtonpost.com/business/2022/12/11/fusion-nuclear-energy-breakthrough/
#python #tricks #hosyaikenazametku

Как лучше аннотировать параметр, который мог быть строкой или списком, а потом ещё добавилось условие, что он может вообще отсутствовать? Изначально он был объявлен как objects_names: Union[str, Iterable], и я думал добавить None как третью опцию в Union, просто и элегантно. Я знал, что вообще-то есть Optional для этих целей, и задумался, будет ли разница для проверщика типов, да и вообще, что лучше выбрать с точки зрения читаемости. Оказалось, что Optional[...] это технический синоним для Union[..., None], но мне понравилась идея всегда использовать Optional: "Personally, I'd stick with always using Optional[] when setting the type for a keyword argument that uses = None to set a default value, this documents the reason why None is allowed better. Moreover, it makes it easier to move the Union[...] part into a separate type alias, or to later remove the Optional[...] part if an argument becomes mandatory." А что выберете Вы?
#writing #reading #knowledgemanagement #businessidea #yan

Юджин Ян, дата сайентист из Амазона, ведёт крайне познавательный блог, рекомендую подписаться на его рассылку. У него лёгкий слог, и он исповедует подход "пиши, чтобы учиться". Основа этого подхода – цикл reading (consume) -> note-taking (collect) -> writing (create).

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

Чтение без создания заметок неэффективно. Юдж использует метод Zettelkasten ("ящик заметок") и приложение Roam, когда по мере чтения создаётся множество заметок (простых полезных идей, пересказанных своими словами и снабжённых тэгами), затем периодически они линкуются и реорганизуются в ключевые статьи, представляющие собой Ваш граф знаний.

https://netology.ru/blog/04-2022-zettelkasten

https://vc.ru/u/1249281-kod-samorazvitiya/467180-zettelkasten-metod-kak-sozdat-vtoroy-mozg-ili-kak-uluchshit-pamyat-sistema-cetelkasten-obsidian-i-zettelkasten

https://www.youtube.com/watch?v=rOSZOCoqOo8&t=3s&ab_channel=ShuOmi

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

Также очень любопытно было бы интегрировать ящики заметок и Анки (+)

Сам я до такого уровня пока не дошёл, просто использовал сайт liblib для поиска книг по ISBN (это удобно) и добавления к ним заметок по мере прочтения. Но там нет тэгов и невозможно образовать связи.

Не знаю, есть ли в природе такое приложение с готовой обновляемой базой книг (а желательно, и статей semanticscholar, да ещё мультиязычной), возможностями "цеттелькастен" (т.е. создания и каталогизации карточек идей, желательно надиктовкой с распознаванием речи) и "анкирования" (т.е. превращения карточек идей в карточки-вопросники, которые потом будут показываться по алгоритму spaced repetition), но вот вам бизнес-идея, если готовы вкалывать и искать инвесторов, ничем не хуже этой)
Причём, 2 из 3 шагов по классификации Юджина (тэгирование и линкование карточек) могут быть автоматизированы с помощью ML (как и автоанкирование карт-связок, а возможно, и полноценных карт с помощью ChatGPT). Опять же, такое мегаприложение могло бы пользователю и рекомендации качественные дать, что читать дальше. Вопрос, много ли на планете таких ботанов, кто бы это захотел использовать )

И, наконец, писательство. Я пытаюсь сам и рекомендую всем современным специалистам пробовать писать статьи. Публиковаться можно на Хабре (русскоязычная аудитория) и Медиуме (англоязычная аудитория, денежные выплаты читаемым авторам; только не повторяйте моей ошибки, печатайтесь сразу в большом тематическом паблике, а не в своём частном – не получите просмотров). Также хорошо дублировать статьи в соцсетях для покрытия большей аудитории. Юджин советует писать статьи как раз с уже созданных вами заметок Zettelkasten, опираясь на изученные и переработанные мозгом источники. Даже если вы себя не считаете экспертом в какой-то интересной теме, всё равно стоит написать по ней статью – как показывает опыт, множеству других людей будет интересна ваша интерпретация и опыт осмысления. Чтение-заметки-написание статьи[-тестирование Анки] – это очень эффективная организация процесса познания.
👍4
#AI #codinginterviews #chatgpt

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

https://www.youtube.com/watch?v=gOf2SQVMUL0&ab_channel=Cl%C3%A9mentMihailescu
🔥2
#python #chatgpt #weakai

Я старался не поддаваться хайпу и не обращать особо внимания на ChatGPT, но не вышло. Да, она не умеет считать и выдаёт порой странные факты. Но посмотрите только, что она творит в кодинге! Всё началось с задачи оптимизации поиска хэша в большом файле отсюда. Не знаю, сколько времени потратил автор на код в статье, день или несколько часов, но я "смог" воспроизвести и превзойти его результаты буквально за минуты с помощью этой нейросети. Если это не слабый ИИ, тогда что это? Пока это неидеально, конечно, и нужно задавать наводящие вопросы, а то и исправлять ошибки. Но это уже может ускорить работу программиста на порядок. А что будет через год?!
🔥3😱1
#python #chatgpt #weakai

А вот что ChatGPT думает об аннотировании.