Not logged in.

Contribution Details

Type Master's Thesis
Scope Discipline-based scholarship
Title Automatic Annotation of Data Science Notebooks: A Machine Learning Approach
Organization Unit
Authors
  • Dhivyabharathi Ramasamy
Supervisors
  • Abraham Bernstein
Language
  • English
Institution University of Zurich
Faculty Faculty of Business, Economics and Informatics
Date 2019
Abstract Text Data Science Notebooks are notebooks developed for data science activities like exploration, collaboration, and visualization. Traditionally used as a tool to provide reproducible results and documenting the research, they have become prominent in the last few years due to the enormous traction in Machine learning field. Interactive notebooks like Jupyter, Zeppelin, and Kaggle are some of the primary platforms people use for implementing a data science task. Notebooks, used by data scientists to implement their data science tasks, have become an important source of data for understanding and analysing data science pipelines implemented in practice. Each data science pipeline contains many data science activities and in order to analyse them, it is necessary to identify where in a given notebook each data science activity takes place. Labelling the data science activities in the data science notebooks by experts is a time consuming and expensive process. In this master thesis, I attempt to automatically classify and assign the data science activity/activities to each cell of the data science notebooks using supervised machine learning. I have identified a set of common high-level data science activities as labels and assign each notebook cell the labels based on the data science activity they perform. Multiple data science activity labels have been allowed to each cell due to different coding style of the notebook users, overlapping activities, etc. An annotation experiment was designed and conducted to get expert/s labelled data and a set of 100 expert-annotated jupyter notebooks is used as a dataset in the experiments. Python classes have been developed in order to extract various features from the jupyter notebooks for the classification task. Multiple supervised classifiers (KNearest Neighbors, Support Vector Machines, Multi-layer Perceptron, Gradient Boosting, Random Forest, Decision Tree, Naive Bayes, Logistic Regression) have been evaluated using both Singlelabel and Multilabel Classification methods for the classification task. Logistic Regression classifier using Multilabel Classification has a higher precision compared to Singlelabel Classification. The research shows that ensemble methods and logistic regression are more suitable for classification of source code written in notebooks. Features importances discussed in the research questions provide insights into the informatory features for code classification. The comparison of the two classification paradigms and better performance of Multilabel Classification in terms of precision leads to the conclusion that data science pipelines as found in notebooks are not always sequential and are highly overlapping most of the times compared to the theoretical design of data science pipelines. I have also developed an ontology for notebooks and the data science activities and use the same to provide the annotations in semantic web style serialized in Resource Description Framework (RDF) format for further analysis. In addition, I have produced and discussed the results of exploratory data analysis and the performance of unsupervised classification on the dataset. An analysis of inter-annotator agreement is also discussed. It is important to mention that the features generated using the system can also be used in analyses set in other contexts.
Zusammenfassung Daten-Wissenschafts-Notebooks sind die Notebooks, die für Datenwissenschaftstätigkeiten wie Erforschung, Zusammenarbeit und Visualisierung entwickelt werden. Traditionsgemäss verwendet, wie ein instrument, zum von reproduzierbaren Ergebnissen und von Dokumentation der Forschung bereitzustellen, sie in den letzten Jahren wegen der enormen Zugkraft im Bereich des maschinellen Lernens bekannt geworden. Wechselwirkende Notebooks sowie Jupyter, Zeppelin, und Kaggle sind etwas von dem Primärplattformleutegebrauch für die Implementierung einer Datenwissenschaftsaufgabe. Die Notebooks, benutzt von den Datenwissenschaftlern, um ihre Datenwissenschaftsaufgaben einzuführen, sind eine wichtige Quelle von den Daten für das Verständnis und das Analysieren von Datenwissenschaftsrohrleitungen in der Praxis eingeführt geworden. Jede Datenwissenschaftsrohrleitung enthält viele Datenwissenschaftstätigkeiten und zwecks sie zu analysieren, ist es notwendig, zu identifizieren, wo in einem gegebenen Notebooks jede Datenwissenschaftstätigkeit stattfindet. Die Datenwissenschaftstätigkeiten in den notebooks durch Experten zu beschriften ist ein Zeit raubender und teurer Prozess. In dieser Master-Arbeit versuchen ich, die Datenwissenschaftstätigkeit/-tätigkeiten jedem Zelle der Datenwissenschafts Notebooks unter Verwendung ¸berwachtes maschinelles Lernen zu klassifizieren und zuzuweisen. Ich haben einen Satz allgemeine hochrangige Datenwissenschaftstätigkeiten als Aufkleber identifiziert und jedes Notebooks Zelle die Aufkleber zuweisen, die auf der Datenwissenschaftstätigkeit basieren, die sie durchführen. Mehrfache Datenwissenschafts-Tätigkeitsaufkleber sind zu jedem Zelle wegen der unterschiedlichen Kodierungsart der notebook benutzer, der ‹berschneidungstätigkeiten, des etc. erlaubt worden. Ein Anmerkungsexperiment war entworfen und geleitet, um expert/s beschriftete zu erhalten Daten und ein Satz von 100 Experte angemerkten jupyter Notebooks wird als Datensatz in den Experimenten benutzt. Python sind Klassen entwickelt worden, um verschiedene Merkmale aus den jupyter Notebooks für die Klassifikationsaufgabe zu extrahieren. Mehrfachverbindungsstelle ¸berwachte Klassifikatoren (KNearest Neighbors, Support Vector Machine, Multi-layer Perceptron, Gradient Boosting, Random Forest, Decision Tree, Naive Bayes, Logistic Regression) sind unter Verwendung der Klassifikationsmethoden Singlelabel und Multilabel für die Klassifikationsaufgabe ausgewertet worden. Logistic Regression klassifikator unter Verwendung Multilabel-Klassifikation hat im Vergleich zur Singlelabel Classification eine höhere Präzision. Die Forschung zeigt, dass Ensemble methoden und Logistic Regression für die Klassifikation des Quellcodes geschrieben in Notebooks passender sind. Die Bedeutung des Merkmale, die in den Forschungsfragen besprochen werden, stellen Einblicke in die informativen Merkmale für Codeklassifikation zur Verfügung. Der Vergleich der zwei Klassifikationsparadigmen und der besseren Leistung von Multilabel-Klassifikation im Hinblick auf Präzision führt zu die Schlussfolgerung, dass Datenwissenschaftsrohrleitungen, wie in den Notebooks gefunden nicht immer sequenziell sind und in hohem Grade die meisten Zeiten ¸berschneiden, sich im Vergleich zum theoretischen Design von Datenwissenschaftsrohrleitungen. Ich haben auch eine Ontologie für Notebooks und die Datenwissenschaftstätigkeiten entwickelt und verwenden diese, um die Anmerkungen in der semantischen Netzart zur Verfügung zu stellen, im Resource Description Framework (RDF) format gespeichert für weitere Analyse. Darüber hinaus haben ich auch Ergebnisse der explorativen Datenanalyse und der Leistung der unüberwachten Klassifikation auf dem Datensatz produziert und diskutiert. Eine Analyse der inter-annotator Vereinbarung wird auch diskutiert. Es ist wichtig, zu erwähnen, dass die Merkmals, die unter Verwendung dem Systems erzeugt werden, in den Analysen auch benutzt werden können, die in andere Kontexten eingestellt werden.
PDF File Download
Export BibTeX