#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." А что выберете Вы?
Как лучше аннотировать параметр, который мог быть строкой или списком, а потом ещё добавилось условие, что он может вообще отсутствовать? Изначально он был объявлен как 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 #tricks #nwise #casefold #rml #tee
Собственно, где я и заметил использование casefold. Стоит посмотреть полностью, если кто не знал.
https://www.youtube.com/watch?v=iE5QLrzkGBU
Собственно, где я и заметил использование casefold. Стоит посмотреть полностью, если кто не знал.
https://www.youtube.com/watch?v=iE5QLrzkGBU
YouTube
James Powell- Why do I need to know Python- I'm a pandas user | PyData NYC 2022
It's common for data scientists to narrowly focus on the APIs of the tools they use every day—pandas, matplotlib, pymc, dask, &c.—to the detriment of any focus on the surrounding programming language. In the case of tools like matplotlib, the total amount…
❤1
#windows #tricks
СКМ, блд ) Что ж вы, и правда, раньше молчали?
"Оказывается, всё это время можно было заблокировать прыгающие процессы в диспетчере задач Windows 7/10/11 с помощью Ctrl.
«Знаете ли вы, что если вы удерживаете Ctrl, то это приостанавливает обновление диспетчера задач и означает, что имена процессов не перемещаются и их легче выбирать, когда вы сортируете нужные процессы по использованию различных ресурсов ПК», — сообщил менеджер Microsoft Джен Джентльман.
Почему он решил рассказать об этом только сейчас — загадка."
А вообще, в этой истории прекрасно всё. Джен(нифер) вроде женское имя. Но фамилия Джентльмен? Это псевдоним? )
СКМ, блд ) Что ж вы, и правда, раньше молчали?
"Оказывается, всё это время можно было заблокировать прыгающие процессы в диспетчере задач 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&
Понравился совет, как определить n_estimators для лесов, и аргументация, почему его не надо тюнить с HPT.
Оказывается, подрезание деревьев снижает калибровку.
Крутой трюк с подбором порогов для выравнивания распределений в "целочисленной регрессии" (у С. Семёнова это вообще вылилось в подзадачу ML). Кстати, а почему нету лесов, которые могут выдавать медиану в листьях вместо среднего?
OOF-прогнозы - тоже интересная техника, особенно для генерации новых признаков.
https://www.youtube.com/watch?v=sAcjGjMHduc&list=PLaRUeIuewv8CMFox0oEjlyePUhUmo-x0h&
YouTube
ПЗАД2020. Лекция 24. Случайный лес
курс "Прикладные задачи анализа данных", ВМК МГУ, Дьяконов Александр (https://dyakonov.org/ag/)
страница курса: https://github.com/Dyakonov/PZAD/blob/master/README.md
страница курса: https://github.com/Dyakonov/PZAD/blob/master/README.md
#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
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
YouTube
Kaggle Tips for Feature Engineering and Selection | by Gilberto Titericz | Kaggle Days Meetup Madrid
Gilberto Titericz, Kaggle GrandMaster and top-1 in Kaggle Competitions Ranking for years, talks about two important topics in Machine Learning: Feature Engineering and Feature Selection
25 November 2019, Madrid - Part II
25 November 2019, Madrid - Part II
🔥1