Designing Machine Learning Toolboxes: Concepts, Principles and Patterns

Machine learning (ML) and AI toolboxes such as scikit-learn or Weka are workhorses of contemporary data scientific practice -- their central role being enabled by usable yet powerful designs that allow to easily specify, train and validate complex modeling pipelines. However, despite their universal...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Király, Franz J, Löning, Markus, Blaom, Anthony, Guecioueur, Ahmed, Sonabend, Raphael
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator Király, Franz J
Löning, Markus
Blaom, Anthony
Guecioueur, Ahmed
Sonabend, Raphael
description Machine learning (ML) and AI toolboxes such as scikit-learn or Weka are workhorses of contemporary data scientific practice -- their central role being enabled by usable yet powerful designs that allow to easily specify, train and validate complex modeling pipelines. However, despite their universal success, the key design principles in their construction have never been fully analyzed. In this paper, we attempt to provide an overview of key patterns in the design of AI modeling toolboxes, taking inspiration, in equal parts, from the field of software engineering, implementation patterns found in contemporary toolboxes, and our own experience from developing ML toolboxes. In particular, we develop a conceptual model for the AI/ML domain, with a new type system, called scientific types, at its core. Scientific types capture the scientific meaning of common elements in ML workflows based on the set of operations that we usually perform with them (i.e. their interface) and their statistical properties. From our conceptual analysis, we derive a set of design principles and patterns. We illustrate that our analysis can not only explain the design of existing toolboxes, but also guide the development of new ones. We intend our contribution to be a state-of-art reference for future toolbox engineers, a summary of best practices, a collection of ML design patterns which may become useful for future research, and, potentially, the first steps towards a higher-level programming paradigm for constructing AI.
doi_str_mv 10.48550/arxiv.2101.04938
format Article
fullrecord <record><control><sourceid>arxiv_GOX</sourceid><recordid>TN_cdi_arxiv_primary_2101_04938</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2101_04938</sourcerecordid><originalsourceid>FETCH-LOGICAL-a678-2016b095971cb7aa77bbcf8567ddfb22490bfac4392fed22194d3a42d8aa85b53</originalsourceid><addsrcrecordid>eNotz81KxDAYheFsXMjoBbgyF2BrkiZN4k6qjgMVZ9F9-fI3BmpakiLj3YvV1YF3ceBB6IaSmishyD3kc_yqGSW0Jlw36hLtn3yJpxTTCb-B_YjJ495D3sIwz5OZz7484G5O1i9rucPHHJONy-QLhuTwEdbV51Su0EWAqfjr_92h4eV56F6r_n1_6B77ClqpKkZoa4gWWlJrJICUxtigRCudC4YxrokJYHmjWfCOMaq5a4AzpwCUMKLZodu_200yLjl-Qv4ef0XjJmp-AEUzRoM</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Designing Machine Learning Toolboxes: Concepts, Principles and Patterns</title><source>arXiv.org</source><creator>Király, Franz J ; Löning, Markus ; Blaom, Anthony ; Guecioueur, Ahmed ; Sonabend, Raphael</creator><creatorcontrib>Király, Franz J ; Löning, Markus ; Blaom, Anthony ; Guecioueur, Ahmed ; Sonabend, Raphael</creatorcontrib><description>Machine learning (ML) and AI toolboxes such as scikit-learn or Weka are workhorses of contemporary data scientific practice -- their central role being enabled by usable yet powerful designs that allow to easily specify, train and validate complex modeling pipelines. However, despite their universal success, the key design principles in their construction have never been fully analyzed. In this paper, we attempt to provide an overview of key patterns in the design of AI modeling toolboxes, taking inspiration, in equal parts, from the field of software engineering, implementation patterns found in contemporary toolboxes, and our own experience from developing ML toolboxes. In particular, we develop a conceptual model for the AI/ML domain, with a new type system, called scientific types, at its core. Scientific types capture the scientific meaning of common elements in ML workflows based on the set of operations that we usually perform with them (i.e. their interface) and their statistical properties. From our conceptual analysis, we derive a set of design principles and patterns. We illustrate that our analysis can not only explain the design of existing toolboxes, but also guide the development of new ones. We intend our contribution to be a state-of-art reference for future toolbox engineers, a summary of best practices, a collection of ML design patterns which may become useful for future research, and, potentially, the first steps towards a higher-level programming paradigm for constructing AI.</description><identifier>DOI: 10.48550/arxiv.2101.04938</identifier><language>eng</language><subject>Computer Science - Learning ; Computer Science - Software Engineering</subject><creationdate>2021-01</creationdate><rights>http://creativecommons.org/licenses/by/4.0</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>228,230,776,881</link.rule.ids><linktorsrc>$$Uhttps://arxiv.org/abs/2101.04938$$EView_record_in_Cornell_University$$FView_record_in_$$GCornell_University$$Hfree_for_read</linktorsrc><backlink>$$Uhttps://doi.org/10.48550/arXiv.2101.04938$$DView paper in arXiv$$Hfree_for_read</backlink></links><search><creatorcontrib>Király, Franz J</creatorcontrib><creatorcontrib>Löning, Markus</creatorcontrib><creatorcontrib>Blaom, Anthony</creatorcontrib><creatorcontrib>Guecioueur, Ahmed</creatorcontrib><creatorcontrib>Sonabend, Raphael</creatorcontrib><title>Designing Machine Learning Toolboxes: Concepts, Principles and Patterns</title><description>Machine learning (ML) and AI toolboxes such as scikit-learn or Weka are workhorses of contemporary data scientific practice -- their central role being enabled by usable yet powerful designs that allow to easily specify, train and validate complex modeling pipelines. However, despite their universal success, the key design principles in their construction have never been fully analyzed. In this paper, we attempt to provide an overview of key patterns in the design of AI modeling toolboxes, taking inspiration, in equal parts, from the field of software engineering, implementation patterns found in contemporary toolboxes, and our own experience from developing ML toolboxes. In particular, we develop a conceptual model for the AI/ML domain, with a new type system, called scientific types, at its core. Scientific types capture the scientific meaning of common elements in ML workflows based on the set of operations that we usually perform with them (i.e. their interface) and their statistical properties. From our conceptual analysis, we derive a set of design principles and patterns. We illustrate that our analysis can not only explain the design of existing toolboxes, but also guide the development of new ones. We intend our contribution to be a state-of-art reference for future toolbox engineers, a summary of best practices, a collection of ML design patterns which may become useful for future research, and, potentially, the first steps towards a higher-level programming paradigm for constructing AI.</description><subject>Computer Science - Learning</subject><subject>Computer Science - Software Engineering</subject><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2021</creationdate><recordtype>article</recordtype><sourceid>GOX</sourceid><recordid>eNotz81KxDAYheFsXMjoBbgyF2BrkiZN4k6qjgMVZ9F9-fI3BmpakiLj3YvV1YF3ceBB6IaSmishyD3kc_yqGSW0Jlw36hLtn3yJpxTTCb-B_YjJ495D3sIwz5OZz7484G5O1i9rucPHHJONy-QLhuTwEdbV51Su0EWAqfjr_92h4eV56F6r_n1_6B77ClqpKkZoa4gWWlJrJICUxtigRCudC4YxrokJYHmjWfCOMaq5a4AzpwCUMKLZodu_200yLjl-Qv4ef0XjJmp-AEUzRoM</recordid><startdate>20210113</startdate><enddate>20210113</enddate><creator>Király, Franz J</creator><creator>Löning, Markus</creator><creator>Blaom, Anthony</creator><creator>Guecioueur, Ahmed</creator><creator>Sonabend, Raphael</creator><scope>AKY</scope><scope>GOX</scope></search><sort><creationdate>20210113</creationdate><title>Designing Machine Learning Toolboxes: Concepts, Principles and Patterns</title><author>Király, Franz J ; Löning, Markus ; Blaom, Anthony ; Guecioueur, Ahmed ; Sonabend, Raphael</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a678-2016b095971cb7aa77bbcf8567ddfb22490bfac4392fed22194d3a42d8aa85b53</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2021</creationdate><topic>Computer Science - Learning</topic><topic>Computer Science - Software Engineering</topic><toplevel>online_resources</toplevel><creatorcontrib>Király, Franz J</creatorcontrib><creatorcontrib>Löning, Markus</creatorcontrib><creatorcontrib>Blaom, Anthony</creatorcontrib><creatorcontrib>Guecioueur, Ahmed</creatorcontrib><creatorcontrib>Sonabend, Raphael</creatorcontrib><collection>arXiv Computer Science</collection><collection>arXiv.org</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Király, Franz J</au><au>Löning, Markus</au><au>Blaom, Anthony</au><au>Guecioueur, Ahmed</au><au>Sonabend, Raphael</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Designing Machine Learning Toolboxes: Concepts, Principles and Patterns</atitle><date>2021-01-13</date><risdate>2021</risdate><abstract>Machine learning (ML) and AI toolboxes such as scikit-learn or Weka are workhorses of contemporary data scientific practice -- their central role being enabled by usable yet powerful designs that allow to easily specify, train and validate complex modeling pipelines. However, despite their universal success, the key design principles in their construction have never been fully analyzed. In this paper, we attempt to provide an overview of key patterns in the design of AI modeling toolboxes, taking inspiration, in equal parts, from the field of software engineering, implementation patterns found in contemporary toolboxes, and our own experience from developing ML toolboxes. In particular, we develop a conceptual model for the AI/ML domain, with a new type system, called scientific types, at its core. Scientific types capture the scientific meaning of common elements in ML workflows based on the set of operations that we usually perform with them (i.e. their interface) and their statistical properties. From our conceptual analysis, we derive a set of design principles and patterns. We illustrate that our analysis can not only explain the design of existing toolboxes, but also guide the development of new ones. We intend our contribution to be a state-of-art reference for future toolbox engineers, a summary of best practices, a collection of ML design patterns which may become useful for future research, and, potentially, the first steps towards a higher-level programming paradigm for constructing AI.</abstract><doi>10.48550/arxiv.2101.04938</doi><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier DOI: 10.48550/arxiv.2101.04938
ispartof
issn
language eng
recordid cdi_arxiv_primary_2101_04938
source arXiv.org
subjects Computer Science - Learning
Computer Science - Software Engineering
title Designing Machine Learning Toolboxes: Concepts, Principles and Patterns
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-15T14%3A42%3A31IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-arxiv_GOX&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Designing%20Machine%20Learning%20Toolboxes:%20Concepts,%20Principles%20and%20Patterns&rft.au=Kir%C3%A1ly,%20Franz%20J&rft.date=2021-01-13&rft_id=info:doi/10.48550/arxiv.2101.04938&rft_dat=%3Carxiv_GOX%3E2101_04938%3C/arxiv_GOX%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true