Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Отзыв по использованию примера example_socio.ipynb для знакомства в Bamt #73

Closed
fingoldo opened this issue Aug 4, 2023 · 3 comments · Fixed by #77
Assignees
Labels
accepted for consideration label for users to make them know that their issue has been read bug Something isn't working documentation Improvements or additions to documentation

Comments

@fingoldo
Copy link

fingoldo commented Aug 4, 2023

Здравствуйте, моя попытка потестировать Bamt провалилась. Возможно, мой отзыв окажется полезен. В руководстве (https://github.com/aimclub/BAMT/blob/master/tutorials/example_socio.ipynb) приведён пример предсказания байесовской сетью наличия питомца по профилю vk юзера. Получили точность 94% и на том посчитали пример завершённым. При более детальном рассмотрении оказалось:

  1. питомец был всего у 5% пользователей, и bamt ВСЕГДА предсказывала класс 0 (те ничему не училась)
  2. из 80+ фичей авторы взяли лишь 8. казалось бы, почему? Ответ: библиотека работает ОЧЕНЬ МЕДЛЕННО. 30k примеров, 8 фичей обучается примерно секунд 50. с мультипроцессингом.
  3. в примере авторы обучались на train set и потом предсказывали на ... sample(100) от того же train set.
  4. катбуст и особенно xgboost обучались за доли секунды. но даже они не смогли ничему научиться, что было видно на CV, потому что.. отобранные авторами 8 фичей были нерелевантными.
  5. предсказывать наличие питомца всё же было можно, и с хорошей точностью, надо было просто взять все фичи. доказано бустингами. но bamt над всеми фичами сожрал всю память на ноуте. а на компе питон младше 3.9, bamt не поставился.
  6. гауссовы смеси в bamt постоянно вылетали с fitting the mixture model failed because some components have ill-defined empirical covariance (for instance caused by singleton or collapsed samples). Try to decrease the number of components, or increase reg_covar. В MathUtils.py к вызовам GaussianMixture(n_components=i, random_state=0) пришлось добавить с потолка reg_covar=1e-1, чтобы оно просто запускалось. Хотя как это влияет на качество решения - вопрос.

Я начал переделку блокнота, но так и не смог обучить Bamt, даже на половине признаков - не хватило 16gb ноутбучной памяти. Возможно, в будущем у уважаемых авторов получится провести ревизию данного примера в свете выявленных недостатков.

@fingoldo fingoldo changed the title Отзыв по использованию примера example_socio.ipynb для знакомста в Bamt Отзыв по использованию примера example_socio.ipynb для знакомства в Bamt Aug 4, 2023
@Roman223 Roman223 added the accepted for consideration label for users to make them know that their issue has been read label Aug 7, 2023
@Anaxagor
Copy link
Collaborator

Anaxagor commented Aug 8, 2023

Здравствуйте!
Наверное, в примере создалось ложное впечатление, что мы хотим показать высокое предсказательное качество БС, однако это не совсем так, пример был просто для того, чтобы показать, как запускаются те или иные функции нашей библиотеки. Предсказание мажоритарного класса тоже вполне понятно, так как БС – это вывод на основе условных вероятностей. Что касается скорости работы БС, то вероятностные модели действительно не всегда быстры, однако для больших БС (с большим количеством узлов) в нашей библиотеки предусмотрен отдельный класс сетей - BigBraveBN.

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

@fingoldo
Copy link
Author

fingoldo commented Aug 8, 2023

Здравствуйте! Наверное, в примере создалось ложное впечатление, что мы хотим показать высокое предсказательное качество БС, однако это не совсем так, пример был просто для того, чтобы показать, как запускаются те или иные функции нашей библиотеки. Предсказание мажоритарного класса тоже вполне понятно, так как БС – это вывод на основе условных вероятностей. Что касается скорости работы БС, то вероятностные модели действительно не всегда быстры, однако для больших БС (с большим количеством узлов) в нашей библиотеки предусмотрен отдельный класс сетей - BigBraveBN.

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

Так а я -то хотел с корыстной точки зрения посмотреть, чем байесовские сети смогут улучшить мои предсказания в реальных проектах ) Спасибо за ответ.

@Anaxagor
Copy link
Collaborator

Anaxagor commented Aug 8, 2023

Да, этот запрос и натолкнул нас на идею переработки примеров, скоро добавим)

@Roman223 Roman223 self-assigned this Aug 9, 2023
@Roman223 Roman223 added bug Something isn't working documentation Improvements or additions to documentation labels Aug 9, 2023
@jrzkaminski jrzkaminski self-assigned this Aug 11, 2023
@jrzkaminski jrzkaminski linked a pull request Aug 14, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted for consideration label for users to make them know that their issue has been read bug Something isn't working documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants