Aspiring Data Science
368 subscribers
420 photos
11 videos
10 files
1.86K links
Заметки экономиста о программировании, прогнозировании и принятии решений, научном методе познания.
Контакт: @fingoldo

I call myself a data scientist because I know just enough math, economics & programming to be dangerous.
Download Telegram
#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." А что выберете Вы?
#python #chatgpt #weakai

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

СКМ, блд ) Что ж вы, и правда, раньше молчали?

"Оказывается, всё это время можно было заблокировать прыгающие процессы в диспетчере задач Windows 7/10/11 с помощью Ctrl.

«Знаете ли вы, что если вы удерживаете Ctrl, то это приостанавливает обновление диспетчера задач и означает, что имена процессов не перемещаются и их легче выбирать, когда вы сортируете нужные процессы по использованию различных ресурсов ПК», — сообщил менеджер Microsoft Джен Джентльман.

Почему он решил рассказать об этом только сейчас — загадка."

А вообще, в этой истории прекрасно всё. Джен(нифер) вроде женское имя. Но фамилия Джентльмен? Это псевдоним? )
#ml #randomforest #pzad #dyakonov #syntheticrf #tricks #mlgems #oof

Понравился совет, как определить n_estimators для лесов, и аргументация, почему его не надо тюнить с HPT.

Оказывается, подрезание деревьев снижает калибровку.

Крутой трюк с подбором порогов для выравнивания распределений в "целочисленной регрессии" (у С. Семёнова это вообще вылилось в подзадачу ML). Кстати, а почему нету лесов, которые могут выдавать медиану в листьях вместо среднего?

OOF-прогнозы - тоже интересная техника, особенно для генерации новых признаков.

https://www.youtube.com/watch?v=sAcjGjMHduc&list=PLaRUeIuewv8CMFox0oEjlyePUhUmo-x0h&
#kaggle #tricks #ml #titericz #featureengineering

Before FE, calculate corr coeff of raw features & the target; наверное, лучше всё-таки брать половину сета, чтобы не оверфитить совсем уж. С оценкой корреляций (нелинейных) и "интеракций", кстати, очень может помочь Диоген.

Combine numerical features: log(A)*log(B), A*exp(B), Rank(A)+Rank(B), sin(A)+cos(B) etc;

Use binary flag for NAs;

Do N-way nested OOF Target Encoding;

Try aggregations of one feature by another;

Try extensive target transformations (TT), as y^1/2, y^1/4,log(10+y), 10/y etc;

Try several clustering algos to create new categorical or numerical features based on cluster IDs or distances;

Trees leaves indices as weak features to the linear models (incl. factorization machines);

LOFO feature selection;

Adversarial Validation to tell train apart from test;


https://www.youtube.com/watch?v=RtqtM1UJfZc
🔥1