AUTOMAT[R]IX: learning simple matrix pipelines
[EN] Matrices are a very common way of representing and working with data in data science and artificial intelligence. Writing a small snippet of code to make a simple matrix transformation is frequently frustrating, especially for those people without an extensive programming expertise. We present...
| Authors: | , , |
|---|---|
| Format: | article |
| Publication Date: | 2021 |
| Country: | España |
| Institution: | Universitat Politècnica de València (UPV) |
| Repository: | RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia |
| Language: | English |
| OAI Identifier: | oai:riunet.upv.es:10251/183987 |
| Online Access: | https://riunet.upv.es/handle/10251/183987 |
| Access Level: | Open access |
| Keyword: | Automating data science Inductive programming Program synthesis LENGUAJES Y SISTEMAS INFORMATICOS CIENCIAS DE LA COMPUTACION E INTELIGENCIA ARTIFICIAL |
| Summary: | [EN] Matrices are a very common way of representing and working with data in data science and artificial intelligence. Writing a small snippet of code to make a simple matrix transformation is frequently frustrating, especially for those people without an extensive programming expertise. We present AUTOMAT[R]IX, a system that is able to induce R program snippets from a single (and possibly partial) matrix transformation example provided by the user. Our learning algorithm is able to induce the correct matrix pipeline snippet by composing primitives from a library. Because of the intractable search space-exponential on the size of the library and the number of primitives to be combined in the snippet, we speed up the process with (1) a typed system that excludes all combinations of primitives with inconsistent mapping between input and output matrix dimensions, and (2) a probabilistic model to estimate the probability of each sequence of primitives from their frequency of use and a text hint provided by the user. We validate AUTOMAT[R]IX with a set of real programming queries involving matrices from Stack Overflow, showing that we can learn the transformations efficiently, from just one partial example |
|---|