[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-118768-en":3,"doc-seo-118768-105":30,"detail-sidebar-cat-0-en-105":91},{"code":4,"msg":5,"data":6},0,"success",{"doc_id":7,"user_id":8,"nickname":9,"user_avatar":10,"doc_module":4,"category_id":11,"category_name":12,"doc_title":13,"doc_description":14,"doc_content":15,"file_id":16,"file_url":17,"file_type":18,"file_size":19,"view_count":4,"is_deleted":4,"is_public":20,"is_downloadable":20,"audit_status":20,"page_count":21,"language":22,"language_code":23,"site_id":24,"html_lang":23,"table_of_contents":25,"faqs":26,"seo_title":27,"seo_description":14,"update_tm":28,"read_time":29},118768,687197100911,"Himbo","https://ap-avatar.wpscdn.com/avatar/a000239b6f1da00475?x-image-process=image/resize,m_fixed,w_180,h_180&k=1785132997149421697",8,"Research & Report","Frouros - A Python library for drift detection in machine learning systems","Frouros is an open-source Python library for detecting drift in machine learning systems, supporting both concept drift and data drift. It combines classical and more recent algorithms, designed to be framework-agnostic so it can be integrated into diverse machine learning workflows and adapted to real-world deployment. The project follows best development and continuous integration practices to improve maintainability and extensibility. Source code is available publicly, enabling reproducibility and further use in drift-aware model monitoring.","Frouros: A Python library for drift detection in machine learning systems  \narXiv :2208 .06868v2 [ cs .LG] 22 Jun 2023  \nFrouros: A Python library for drift detection in machine  \nlearning systems  \nJaime C􀀓espedes Sisniega cespedes@ifca.unican.es  \n􀀓  \nAlvaro L􀀓opez Garc􀀓􀀐a [aloga@ifca.unican.es](aloga@ifca.unican.es)  \n[Instituto de F](Instituto de F) 􀀓􀀐sica de Cantabria (IFCA), CSIC-UC, Spain  \nAbstract  \nFrouros is an open-source Python library capable of detecting drift in machine learning systems. It provides a combination of classical and more recent algorithms for drift detection: both concept and data drift. We have designed it with the objective of making it compatible with any machine learning framework and easily adaptable to real-world use cases. The library is developed following a set of best development and continuous integration practices to ensure ease of maintenance and extensibility. The source code is available at [https://github.com/IFCA/frouros](https://github.com/IFCA/frouros).  \nKeywords: Machine learning, Drift detection, Concept drift, Data drift, Python  \n1. Introduction  \nWhen deploying machine learning models in real-world applications, there is often the erroneous assumption that a given model will be used in a stationary environment, assuming that the same concepts learned during the training phase will remain valid at inference time (Gama et al., 2004), or that training samples and production-time samples will come from the same distribution (Ackerman et al., 2021) . However, in real-world scenarios, this is often far from being always true, and both situations may result in some type of drift that  \n􀀔  \ncan end up a􀀋ecting the model performance (Zliobaite˙ et al., 2016) . Additionally, due to the high cost of collecting and labeling samples, this performance loss can often not be con􀀌rmed in many real-world problems, and other methods that only rely on distribution changes must be used.  \nIn this paper, we present Frouros, an open-source Python library for drift detection in machine learning systems. The library tries to ful􀀌ll two main objectives: 1 . to easily integrate into a machine learning system work􀀍ow that uses any machine learning framework, thus making it framework-agnostic; 2 . to unify in a single library the concept drift detection part (traditionally researched and used for streaming/evolving data streams and incremental learning as described by Khamassi et al., 2018) with the research of change detection in the covariate distributions (also known as data shift, related to the 􀀌eld of statistical two-sample testing as introduced in Rabanser et al., 2019, and methods that measure the distance between distributions as described by Goldenberg and Webb, 2019) .  \n2. Drift detection  \nTraditionally there has been little consensus on the terminology and de􀀌nitions of the di􀀋erent types of drift, as stated by Moreno-Torres et al. (2012) . In order to adopt some  \nCspedes Sisniega and Lpez Garca  \nclear de􀀌nitions for the remainder of this paper, we apply those used by Gama et al. (2014) for the concept drift part, in combination with those used by Rabanser et al. (2019) work for detecting dataset shift using only the covariates. Therefore, we set up the following de􀀌nitions assuming two di􀀋erent time points, t and t + w, where t could be any point in time, and w could be the time at which the existence of change is checked (Bayram et al. , 2022) . Thus, given P(X, y) = P(y|X)P (X), a change in the joint distribution between two di􀀋erent times that can result in performance degradation can be described as Pt(X, y)  Pt+w(X, y) . The types of changes that can lead to degradation of the model’s performance are categorized as follows:  \nConcept drift. There is a change in the conditional probability P(y|X), with or without a change in P (X) . Thus, it can be de􀀌ned as Pt(y|X)  Pt+w(y|X) . Also known as real concept drift (Gama et al., 2014) .  \nData drift. There is a change in P (X) . There","cbCaigMXtk4otnUh","https://ap.wps.com/l/cbCaigMXtk4otnUh","pdf",164107,1,11,"English","en",105,"# Introduction\n## Drift detection problem in real-world deployments\n# Drift detection\n## Concept drift vs. data drift\n# Overview and design\n## Framework-agnostic architecture\n## BaseDetector and callbacks\n## Prequential error metrics\n# Concept drift\n## Streaming updates and detector inputs","[{\"question\":\"What problem does Frouros address in machine learning systems?\",\"answer\":\"It addresses the performance degradation caused by drift when deployment conditions differ from training assumptions, such as changes in learned concepts or data distributions.\"},{\"question\":\"How does the library distinguish concept drift from data drift?\",\"answer\":\"Concept drift changes the conditional probability P(y|X), possibly with or without changes in P(X). Data drift changes P(X) and focuses on covariate distribution shifts.\"},{\"question\":\"Why is Frouros designed to be framework-agnostic?\",\"answer\":\"Its architecture unifies drift detection methods under shared interfaces and supports integration into any machine learning framework, enabling easy adoption across different workflows.\"}]","Frouros - A Python library for drift detection in machine learning systems | PDF",1785720133,28,{"code":4,"msg":31,"data":32},"ok",{"site_id":24,"language":23,"slug":33,"title":13,"keywords":34,"description":14,"schema_data":35,"social_meta":86,"head_meta":88,"extra_data":90,"updated_unix":28},"frouros-a-python-library-for-drift-detection-in-machine-learning-systems","",{"@graph":36,"@context":85},[37,54,68],{"@type":38,"itemListElement":39},"BreadcrumbList",[40,44,48,51],{"item":41,"name":42,"@type":43,"position":20},"https://docshare.wps.com","Home","ListItem",{"item":45,"name":46,"@type":43,"position":47},"https://docshare.wps.com/document/","Document",2,{"item":49,"name":12,"@type":43,"position":50},"https://docshare.wps.com/document/research-report/",3,{"item":52,"name":13,"@type":43,"position":53},"https://docshare.wps.com/document/frouros-a-python-library-for-drift-detection-in-machine-learning-systems/118768/",4,{"url":52,"name":13,"@type":55,"author":56,"headline":13,"publisher":58,"fileFormat":61,"inLanguage":23,"description":14,"dateModified":62,"datePublished":62,"encodingFormat":61,"isAccessibleForFree":63,"interactionStatistic":64},"DigitalDocument",{"name":9,"@type":57},"Person",{"url":41,"name":59,"@type":60},"DocShare","Organization","application/pdf","2026-08-03",true,{"@type":65,"interactionType":66,"userInteractionCount":4},"InteractionCounter",{"@type":67},"ViewAction",{"@type":69,"mainEntity":70},"FAQPage",[71,77,81],{"name":72,"@type":73,"acceptedAnswer":74},"What problem does Frouros address in machine learning systems?","Question",{"text":75,"@type":76},"It addresses the performance degradation caused by drift when deployment conditions differ from training assumptions, such as changes in learned concepts or data distributions.","Answer",{"name":78,"@type":73,"acceptedAnswer":79},"How does the library distinguish concept drift from data drift?",{"text":80,"@type":76},"Concept drift changes the conditional probability P(y|X), possibly with or without changes in P(X). Data drift changes P(X) and focuses on covariate distribution shifts.",{"name":82,"@type":73,"acceptedAnswer":83},"Why is Frouros designed to be framework-agnostic?",{"text":84,"@type":76},"Its architecture unifies drift detection methods under shared interfaces and supports integration into any machine learning framework, enabling easy adoption across different workflows.","https://schema.org",{"og:url":52,"og:type":87,"og:title":13,"og:site_name":59,"og:description":14},"article",{"robots":89,"canonical":52},"index,follow",{"doc_id":7,"site_id":24},{"code":4,"msg":5,"data":92},[93,97,101,105,110,115,120,123,128,131,135],{"id":20,"doc_module":4,"doc_module_name":46,"category_name":94,"show_sort_weight":95,"slug":96},"Story & Novel",90,"story-novel",{"id":47,"doc_module":4,"doc_module_name":46,"category_name":98,"show_sort_weight":99,"slug":100},"Literature",80,"literature",{"id":53,"doc_module":4,"doc_module_name":46,"category_name":102,"show_sort_weight":103,"slug":104},"Exam",70,"exam",{"id":106,"doc_module":4,"doc_module_name":46,"category_name":107,"show_sort_weight":108,"slug":109},5,"Comic",60,"comic",{"id":111,"doc_module":4,"doc_module_name":46,"category_name":112,"show_sort_weight":113,"slug":114},6,"Technology",50,"technology",{"id":116,"doc_module":4,"doc_module_name":46,"category_name":117,"show_sort_weight":118,"slug":119},7,"Healthcare",40,"healthcare",{"id":11,"doc_module":4,"doc_module_name":46,"category_name":12,"show_sort_weight":121,"slug":122},30,"research-report",{"id":124,"doc_module":4,"doc_module_name":46,"category_name":125,"show_sort_weight":126,"slug":127},9,"Religion & Spirituality",20,"religion-spirituality",{"id":126,"doc_module":4,"doc_module_name":46,"category_name":129,"show_sort_weight":126,"slug":130},"World Cup","world-cup",{"id":132,"doc_module":4,"doc_module_name":46,"category_name":133,"show_sort_weight":132,"slug":134},10,"Lifestyle","lifestyle",{"id":136,"doc_module":4,"doc_module_name":46,"category_name":137,"show_sort_weight":106,"slug":138},19,"General","general"]