Data Collection and Integration

Total Page:16

File Type:pdf, Size:1020Kb

Data Collection and Integration Data Collection and Integration 01219335 Data Acquisition and Integration Chaiporn Jaikaeo Department of Computer Engineering Kasetsart University Revised 2020-10-07 Outline • Data collection from various online sources • Data cleaning • Data transformation • Web scraping • Web API 2 Public Data Sources • Examples in Thailand ◦ Government Open Data for Thailand ◦ http://data.go.th ◦ National Statistical Office of Thailand ◦ http://www.nso.go.th • WikiData ◦ Free and open knowledge base in form of structured data • Google Dataset Search ◦ https://toolbox.google.com/datasetsearch • Many many more 3 Online Data Sharing Options • Static data files such as csv, tsv, xlsx, txt, pdf, images • Human-friendly web pages • Web API 4 Example: Household Income • Available at ◦ https://www.cpe.ku.ac.th/~cpj/219335/data/household- income.html • Originally obtained from NSO • Deliberately modified to contain some inconsistency 5 Data Transformation • The process of converting data from one format or structure into another to produce desired output • Transformation operations include ◦ Pivoting/unpivoting (transposition) ◦ Mapping ◦ Joining ◦ Aggregating 6 Messy Data • Messy data contains inconsistency • E.g., all following rows probably contain the same data Name Marriage Birth date Income status (USD) Smith, John Single 1980-09-23 $98,200 Mr. John Smith single 23.09.1980 98200 John Smith single Sep 23, 1980 98,200.00 7 Data Cleaning • The process of detecting and correcting, as well as removing, messy data • Techniques/tools ◦ Spreadsheet software, e.g., Google Sheets, Microsoft Excel ◦ Pros: interactive, easy to get started, extensions may be readily available ◦ Cons: inflexible and tedious to repeat Jobs ◦ Programming libraries, e.g., Python’s Pandas ◦ Pros: most flexible ◦ Cons: difficult to setup and may lacK interactivity ◦ Others specifically designed to handle messy data, e.g., Trifacta OpenRefine 8 OpenRefine • Formally called Google Refine • Now belongs to open-source community ◦ Official website: http://openrefine.org/ ◦ Source repository: https://github.com/OpenRefine/OpenRefine • Runs locally as an interactive web application • Cleaning and transformation instructions can be stored and reused 9 Example: OpenRefine • Launch OpenRefine • Open the link below and copy the table data into the clipboard ◦ https://www.cpe.Ku.ac.th/~cpJ/219335/data/household-income.html • In OpenRefine, choose Clipboard as data source • Verify the import settings • Create a project 10 Faceting • Faceting allows data exploration by applying multiple filters • A facet is created on a particular column • Try creating a text facet on the Region column 11 Clustering • Clustering helps find groups of different cell values that might be alternative representations of the same thing • Values in a cluster can be merged into one 12 Transposition • Displaying values from different years across multiple columns is good for presentation, but not appropriate as a database structure • Transposition allows unpivoting columns into rows 13 Transforming Cells • All values in a column can be mapped to new values using Python/Jython statements or GREL (Google Refine Expression Language) • E.g., ◦ Converting text into number ◦ Removing unnecessary characters such as commas 14 Possible Additional Steps • Find and fix anomalies in the income values ◦ Using Numeric facet • Convert income values into numbers ◦ Using transform… menu • Link parts of data to other knowledge bases ◦ E.g., reconcile province cells to WikiData • Export data to a csv file • Import data into MySQL database, normalize as needed ◦ Access and manage your database via https://iot.cpe.ku.ac.th/pma ◦ Username: <ku-account> ◦ Password: <ku-google-email> 15 Getting Data from Web Pages • Most data available only on web pages are difficult to extract • With data updated periodically, some level of automation is required • Data extraction can be automated using a technique called web scraping ◦ The process of extracting information from a website in an automated way ◦ Usually based on specifying appropriate CSS selectors to pinpoint desired data in HTML document • Some available tools ◦ Web Scraper (Chrome extension) ◦ Beautiful Soup for Python, or JSoup for Java 16 Web Scraper Extension • Install Web Scraper extension for Google Chrome • Open Developer Tools and select Web Scraper tab • Documentation and video tutorial can be found at https://webscraper.io • Test sites for practicing are available at https://webscraper.io/test-sites 17 Example: SETTRADE • Browse to SETTRADE’s Market Summary page at https://www.settrade.com/C13_MarketSummary.jsp • We want to extract indices and values listed on the page • The values keep changing over time, so we are to periodically collect values 18 Launching Web Scraper • Open Chrome’s Developer Tools and select Web Scraper • Create a new sitemap and paste the URL 19 Extracting Index Names and Values • Add a Text selector and name it indices • Choose Select and click on any two of the indices • Also check Multiple as multiple values will be extracted • Click Data preview to make sure only and all needed values are extracted • Repeat the process to extract values 20 Web Scraping using Python • Scraping process can be further automated using code, e.g., written in Python • Beautiful Soup is a widely used web scraping library • CSS selectors created in Web Scraper can be used import requests from bs4 import BeautifulSoup response = requests.get("https://www.settrade.com/C13_MarketSummary.jsp") soup = BeautifulSoup(response.text,"html.parser") Selectors from # extract indices; also strip out wrapping whitespaces indices = [s.text.strip() for s in soup.select(".col-md-8 a")] Web Scraper # extract values; get rid of ',' and convert to numbers values = [float(s.text.replace(",","")) for s in soup.select(".col-md-8 td:nth-of-type(2)")] for idx,val in zip(indices,values): print(f"{idx} : {val}") 21 Web Scraping using Node-RED • Web scraping can be done in Node-RED using http request node in conjunction with html node 22 Web Scraping: Caveats • Be responsible! • Respect the robots.txt file • Do not hit servers too frequently • If possible, scrape during off-peak hours • Use the scraped data responsibly ◦ Respect copyright laws and be aware of potential copyright infringement ◦ Check the website’s Terms of Service 23 Getting Data from Web Services • Public data sources have increasingly made their data available as web services • For examples, ◦ The World Air Quality Project: http://aqicn.org ◦ Thailand Meteorological Department API (TMDAPI) https://data.tmd.go.th/api/index1.php • Several public APIs are listed at ◦ https://github.com/public-apis/public-apis 24 Example: Air Quality Data • https://aqicn.org/json-api/doc/ website provides data feed based on geographical location • For example, this URL will get feed from the station nearest to latitude 10.3, longitude 20.7 https://api.waqi.info/feed/geo:10.3;20.7/?token=XXXXX • Registration is required to obtain an access token 25 Conclusion • Data can be found and collected from several online sources using various methods • Data sources may be available in forms of static document files, static/dynamic web pages, and web services • Web scraping is a technique to extract data from web sites • Collected data needs to be carefully examined, cleaned, and transformed into appropriate structures for storing 26 Further Reading • Cleaning data with OpenRefine ◦ https://libjohn.github.io/openrefine/ • Web Scraper documentation and video tutorials ◦ http://webscraper.io • Node-RED Cookbook: HTTP requests ◦ https://cookbook.nodered.org/#http-requests 27 Assignment 7.1: AQI and Traffic • Create Node-RED flows to ◦ Collect PM2.5 levels from aqicn.org every 15 minutes ◦ Choose three different locations around Bangkok ◦ Collect Bangkok traffic index from Longdo every 15 minutes ◦ https://traffic.longdo.com/api/json/traffic/index • Record data in separate tables in your MySQL database at 158.108.34.31 ◦ Table name for PM2.5 levels: aqi ◦ Table name for traffic index: traffic ◦ Design your own schema for each table • Create a dashboard that displays: ◦ Current values and historical chart of PM2.5 levels for the 3 locations ◦ Current value and historical chart of Bangkok traffic index 28.
Recommended publications
  • Open Source Copyrights
    Kuri App - Open Source Copyrights: 001_talker_listener-master_2015-03-02 ===================================== Source Code can be found at: https://github.com/awesomebytes/python_profiling_tutorial_with_ros 001_talker_listener-master_2016-03-22 ===================================== Source Code can be found at: https://github.com/ashfaqfarooqui/ROSTutorials acl_2.2.52-1_amd64.deb ====================== Licensed under GPL 2.0 License terms can be found at: http://savannah.nongnu.org/projects/acl/ acl_2.2.52-1_i386.deb ===================== Licensed under LGPL 2.1 License terms can be found at: http://metadata.ftp- master.debian.org/changelogs/main/a/acl/acl_2.2.51-8_copyright actionlib-1.11.2 ================ Licensed under BSD Source Code can be found at: https://github.com/ros/actionlib License terms can be found at: http://wiki.ros.org/actionlib actionlib-common-1.5.4 ====================== Licensed under BSD Source Code can be found at: https://github.com/ros-windows/actionlib License terms can be found at: http://wiki.ros.org/actionlib adduser_3.113+nmu3ubuntu3_all.deb ================================= Licensed under GPL 2.0 License terms can be found at: http://mirrors.kernel.org/ubuntu/pool/main/a/adduser/adduser_3.113+nmu3ubuntu3_all. deb alsa-base_1.0.25+dfsg-0ubuntu4_all.deb ====================================== Licensed under GPL 2.0 License terms can be found at: http://mirrors.kernel.org/ubuntu/pool/main/a/alsa- driver/alsa-base_1.0.25+dfsg-0ubuntu4_all.deb alsa-utils_1.0.27.2-1ubuntu2_amd64.deb ======================================
    [Show full text]
  • Nosql Databases
    Query & Exploration SQL, Search, Cypher, … Stream Processing Platforms Data Storm, Spark, .. Data Ingestion Serving ETL, Distcp, Batch Processing Platforms BI, Cubes, Kafka, MapReduce, SparkSQL, BigQuery, Hive, Cypher, ... RDBMS, Key- OpenRefine, value Stores, … Data Definition Tableau, … SQL DDL, Avro, Protobuf, CSV Storage Systems HDFS, RDBMS, Column Stores, Graph Databases Computing Platforms Distributed Commodity, Clustered High-Performance, Single Node Query & Exploration SQL, Search, Cypher, … Stream Processing Platforms Data Storm, Spark, .. Data Ingestion Serving ETL, Distcp, Batch Processing Platforms BI, Cubes, Kafka, MapReduce, SparkSQL, BigQuery, Hive, Cypher, ... RDBMS, Key- OpenRefine, value Stores, … Data Definition Tableau, … SQL DDL, Avro, Protobuf, CSV Storage Systems HDFS, RDBMS, Column Stores, Graph Databases Computing Platforms Distributed Commodity, Clustered High-Performance, Single Node Computing Single Node Parallel Distributed Computing Computing Computing CPU GPU Grid Cluster Computing Computing A single node (usually multiple cores) Attached to a data store (Disc, SSD, …) One process with potentially multiple threads R: All processing is done on one computer BidMat: All processing is done on one computer with specialized HW Single Node In memory Retrieve/Stores from Disc Pros Simple to program and debug Cons Can only scale-up Does not deal with large data sets Single Node solution for large scale exploratory analysis Specialized HW and SW for efficient Matrix operations Elements: Data engine software for
    [Show full text]
  • Easybuild Documentation Release 20210907.0
    EasyBuild Documentation Release 20210907.0 Ghent University Tue, 07 Sep 2021 08:55:41 Contents 1 What is EasyBuild? 3 2 Concepts and terminology 5 2.1 EasyBuild framework..........................................5 2.2 Easyblocks................................................6 2.3 Toolchains................................................7 2.3.1 system toolchain.......................................7 2.3.2 dummy toolchain (DEPRECATED) ..............................7 2.3.3 Common toolchains.......................................7 2.4 Easyconfig files..............................................7 2.5 Extensions................................................8 3 Typical workflow example: building and installing WRF9 3.1 Searching for available easyconfigs files.................................9 3.2 Getting an overview of planned installations.............................. 10 3.3 Installing a software stack........................................ 11 4 Getting started 13 4.1 Installing EasyBuild........................................... 13 4.1.1 Requirements.......................................... 14 4.1.2 Using pip to Install EasyBuild................................. 14 4.1.3 Installing EasyBuild with EasyBuild.............................. 17 4.1.4 Dependencies.......................................... 19 4.1.5 Sources............................................. 21 4.1.6 In case of installation issues. .................................. 22 4.2 Configuring EasyBuild.......................................... 22 4.2.1 Supported configuration
    [Show full text]
  • Towards a Fully Automated Extraction and Interpretation of Tabular Data Using Machine Learning
    UPTEC F 19050 Examensarbete 30 hp August 2019 Towards a fully automated extraction and interpretation of tabular data using machine learning Per Hedbrant Per Hedbrant Master Thesis in Engineering Physics Department of Engineering Sciences Uppsala University Sweden Abstract Towards a fully automated extraction and interpretation of tabular data using machine learning Per Hedbrant Teknisk- naturvetenskaplig fakultet UTH-enheten Motivation A challenge for researchers at CBCS is the ability to efficiently manage the Besöksadress: different data formats that frequently are changed. Significant amount of time is Ångströmlaboratoriet Lägerhyddsvägen 1 spent on manual pre-processing, converting from one format to another. There are Hus 4, Plan 0 currently no solutions that uses pattern recognition to locate and automatically recognise data structures in a spreadsheet. Postadress: Box 536 751 21 Uppsala Problem Definition The desired solution is to build a self-learning Software as-a-Service (SaaS) for Telefon: automated recognition and loading of data stored in arbitrary formats. The aim of 018 – 471 30 03 this study is three-folded: A) Investigate if unsupervised machine learning Telefax: methods can be used to label different types of cells in spreadsheets. B) 018 – 471 30 00 Investigate if a hypothesis-generating algorithm can be used to label different types of cells in spreadsheets. C) Advise on choices of architecture and Hemsida: technologies for the SaaS solution. http://www.teknat.uu.se/student Method A pre-processing framework is built that can read and pre-process any type of spreadsheet into a feature matrix. Different datasets are read and clustered. An investigation on the usefulness of reducing the dimensionality is also done.
    [Show full text]
  • A Multilingual Information Extraction Pipeline for Investigative Journalism
    A Multilingual Information Extraction Pipeline for Investigative Journalism Gregor Wiedemann Seid Muhie Yimam Chris Biemann Language Technology Group Department of Informatics Universita¨t Hamburg, Germany gwiedemann, yimam, biemann @informatik.uni-hamburg.de { } Abstract 2) court-ordered revelation of internal communi- cation, 3) answers to requests based on Freedom We introduce an advanced information extrac- tion pipeline to automatically process very of Information (FoI) acts, and 4) unofficial leaks large collections of unstructured textual data of confidential information. Well-known exam- for the purpose of investigative journalism. ples of such disclosed or leaked datasets are the The pipeline serves as a new input proces- Enron email dataset (Keila and Skillicorn, 2005) sor for the upcoming major release of our or the Panama Papers (O’Donovan et al., 2016). New/s/leak 2.0 software, which we develop in To support investigative journalism in their cooperation with a large German news organi- zation. The use case is that journalists receive work, we have developed New/s/leak (Yimam a large collection of files up to several Giga- et al., 2016), a software implemented by experts bytes containing unknown contents. Collec- from natural language processing and visualiza- tions may originate either from official disclo- tion in computer science in cooperation with jour- sures of documents, e.g. Freedom of Informa- nalists from Der Spiegel, a large German news or- tion Act requests, or unofficial data leaks. Our ganization. Due to its successful application in the software prepares a visually-aided exploration investigative research as well as continued feed- of the collection to quickly learn about poten- tial stories contained in the data.
    [Show full text]
  • Introduction to Openrefine
    Introduction to OpenRefine 2018 Bibliometrics and Research Assessment Symposium Candace Norton, MLS © Library Carpentry: "OpenRefine Lessons for Librarians." Housekeeping • This session will be recorded and distributed after editing and captioning. • Slides will be available following the Symposium. • Questions are welcome throughout the presentation; please use the microphone. • Due to the set up of the breakout room, this is a lecture style course and will not be hands on. Course Objectives • Explain what OpenRefine does and why to use it. • Recognize when using OpenRefine is appropriate. • Understand how to import, edit, transform, and export data using OpenRefine. Introduction to OpenRefine • OpenRefine is a powerful tool for working with messy data • OpenRefine can clean data, transform data from one format to another, and can extend data via web services and external data • OpenRefine is available for download online at http://openrefine.org/download.html Why use OpenRefine? • Get an overview of a data set • Resolve inconsistencies in a data set – standardizing date formatting • Helps split data up into more granular parts – splitting up cells with multiple authors into separate cells • Match local data up to other data sets – matching local subjects against the Library of Congress Subject Headings • Enhance a data set with data from other sources Common Scenarios: Dates Data as entered Desired data 1st January 2014 2014-01-01 01/01/2014 2014-01-01 Jan 1 2014 2014-01-01 2014-01-01 2014-01-01 Common Scenarios: Names Data as entered
    [Show full text]
  • Issue Editor
    Bulletin of the Technical Committee on Data Engineering June 2018 Vol. 41 No. 2 IEEE Computer Society Letters Letter from the Editor-in-Chief . David Lomet 1 Letter from the Special Issue Editor . Guoliang Li 2 Special Issue on Large-scale Data Integration Data Integration: The Current Status and the Way Forward . Michael Stonebraker, Ihab F. Ilyas 3 BigGorilla: An Open-Source Ecosystem for Data Preparation and Integration. ........................... Chen Chen, Behzad Golshan, Alon Halevy, Wang-Chiew Tan, AnHai Doan 10 Self-Service Data Preparation: Research to Practice . Joseph M. Hellerstein, Jeffrey Heer, Sean Kandel 23 Toward a System Building Agenda for Data Integration (and Data Science) . ..........................AnHai Doan, Pradap Konda, Paul Suganthan G.C., Adel Ardalan, Jeffrey R. Ballard, Sanjib Das,Yash Govind, Han Li, Philip Martinkus, Sidharth Mudgal, Erik Paulson, Haojun Zhang 35 Explaining Data Integration . Xiaolan Wang, Laura Haas, Alexandra Meliou 47 Making Open Data Transparent: Data Discovery on Open Data . Renee´ J. Miller, Fatemeh Nargesian, Erkang Zhu, Christina Christodoulakis, Ken Q. Pu, Periklis Andritsos 59 Big Data Integration for Product Specifications . Luciano Barbosa, Valter Crescenzi, Xin Luna Dong, Paolo Merialdo, Federico Piai, Disheng Qiu, Yanyan Shen, Divesh Srivastava 71 Integrated Querying of SQL database data and S3 data in Amazon Redshift . Mengchu Cai, Martin Grund, Anurag Gupta, Fabian Nagel, Ippokratis Pandis, Yannis Papakonstantinou, Michalis Petropoulos 82 Robust Entity Resolution Using a CrowdOracle . .............................. Donatella Firmani, Sainyam Galhotra, Barna Saha, Divesh Srivastava 91 Human-in-the-loop Rule Learning for Data Integration . Ju Fan, Guoliang Li 104 Conference and Journal Notices ICDE 2019 Conference. 116 TCDE Membership Form . back cover Editorial Board TCDE Executive Committee Editor-in-Chief Chair David B.
    [Show full text]
  • Please Stand by for Realtime Captions. My Name Is Jamie Hayes I Am Your
    Please stand by for realtime captions. My name is Jamie Hayes I am your host for today's webinar. We also have hash Lee on tech support so if you're having any technical technical difficulties plea email Ashley. Are presented as Amy Solis and she is the librarian for social sciences data. Government documents and public administration at the University of Southern California USC. In Los Angeles California. She also serves as USC's official representative to the inter-Consortium for political and social research or IC PFR. She is responsible for overseeing data services in the USC libraries and works closely with university faculty, subject librarians and the referenced team to build and promote numeric data collections in support of data literacy, research and curriculum. In the social sciences. Before we get started I will walk you through a few housekeeping reminders. If you have any questions you would like to ask the presenter or if you have any technical issues please feel free to use the chat box. It is located in the bottom right-hand corner of your screen and I will keep track of all the questions that come in and at the end of the presentation Amy will respond to each of them. We are recording today's session and will email you a link of the recording and slides to everyone who registered for this webinar. We are also going to be sending you a certificate of participation using the email you used to register for today's webinar. If anyone needs additional certificates because multiple people are watching the webinar with you please email STL P [email protected] and include the title of today's webinar along with the names and email addresses of those needing certificates.
    [Show full text]
  • Mike Bolam Metadata Librarian Digital Scholarship Services University Library System [email protected] // 412-648-5908 Assessment Survey
    Mike Bolam Metadata Librarian Digital Scholarship Services University Library System [email protected] // 412-648-5908 Assessment Survey http://goo.gl/MiDZSm Learning Objectives • What is OpenRefine? What can I do with it? • Installing OpenRefine • Exploring data • Analyzing and fixing data • If we have time: • Some advance data operations • Splitting, clustering, transforming, adding derived columns • Installing extensions • Linking datasets & named-entity extraction What is OpenRefine? • Interactive Data Transformation (IDT) tool • A tool for visualizing and manipulating data • Not a good for creating new data • Extremely powerful for exploring, cleaning, and linking data • Open Source, free, and community supported • Formerly known as Gridworks Freebase then GoogleRefine • OpenRefine 2.6 is still considered a beta release, so we’ll be using GoogleRefine 2.5. http://openrefine.org/2015/01/26/Ma pping-OpenRefine-ecosystem.html Why OpenRefine? • Clean up data that is: • In a simple tabular format • Is inconsistently formatted • Has inconsistent terminology • Get an overview of a data set • Resolve inconsistencies • Split data up into more granular parts • Match local data up to other data sets • Enhance a data set with data from other sources Installing OpenRefine • http://www.openrefine.org • Direct link to the downloads • https://github.com/OpenRefine/OpenRefine/wiki/Installation-Instructions • Windows • Download the ZIP archive. • Unzip & extract the contents of the archive to a folder of your choice. • To launch OpenRefine, double-click on openrefine.exe. • Mac • Download the DMG file. • Open the disk image & drag the OpenRefine icon into the Applications folder. • Double-click on the icon to start OpenRefine. Installing OpenRefine • OpenRefine runs locally on your computer.
    [Show full text]
  • Report of Contributions
    UbuntuNet-Connect 2017 Report of Contributions https://events.ubuntunet.net/e/10 UbuntuNet- … / Report of Contributions NRENs, library consortia and gov … Contribution ID: 1 Type: Reviewed Presentation NRENs, library consortia and government: Nexus for democratic access to scholarship Thursday, 2 November 2017 14:30 (20 minutes) The propagation of NRENs in Africa is transforming the knowledge infospheres through providing internet connectivity to enhance research collaboration and shareability of research output among researchers irrespective of chronemic and spatial limitations. NRENs serve as special vehicles for facilitating access to scientific research and collaboration for socio-economic development. This article will seek to scrutinize how NRENs, library consortia and government can collaborate to support research and education. It will examine how the helical collaboration between NRENs, library consortia and government supports education and research. It will examine how the col- laboration between NRENS and library consortia are contributing to the virtualisation of learning teaching and research with regards to collaboration and unlimited access to information. It will seek to highlight how users are benefitting from cooperation between libraries, library consortia and NRENs. The article will explore the challenges and opportunities of NRENs and library con- sortia collaboration. It will examine the patterns of collaboration at different organisational and inter-organisational levels. The article will also seek to explore the opportunities for collabora- tion beyond national boundaries. It will study how cooperation amongst academic libraries has helped to provide for the epistemic landscape in Zimbabwe. The researchers will also examine how collaboration with other institutions outside the country is contributing towards widening access to scholarship.
    [Show full text]
  • A Component-Based Approach to Traffic Data Wrangling
    THE UNIVERSITY OF MANCHESTER FACULTY OF SCIENCE AND ENGINEERING SCHOOL OF COMPUTER SCIENCE A Component-Based Approach to Traffic Data Wrangling THIRD YEAR PROJECT REPORT SUBMITTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF BACHELOR’S OF SCIENCE IN COMPUTER SCIENCE WITH BUSINESS AND MANAGEMENT arXiv:1906.03418v1 [cs.DB] 8 Jun 2019 Author: Supervisor: Hendrik MOLDER¨ Dr. Sandra SAMPAIO April 2019 Contents Acknowledgements 7 Abstract 8 Copyright 9 Glossary 10 1 Introduction 11 1.1 Motivation . 11 1.2 Research Questions . 12 1.3 Project Scope . 12 1.4 Project Objectives . 12 1.5 Report Structure . 13 2 Background and Literature Review 14 2.1 Big Data . 14 2.2 Data Wrangling . 15 2.3 Data Wrangling Tools . 15 2.3.1 OpenRefine . 15 2.3.2 Trifacta Wrangler . 16 2.3.3 Taverna Workbench . 17 2.3.4 Python . 19 2.3.5 R . 20 2.3.6 OpenCPU . 21 2.4 Summary . 22 3 4 CONTENTS 3 Data Wrangling Components Design 23 3.1 Requirements . 23 3.2 Data Wrangling Request 1 – DWR1 ................... 23 3.3 Data Wrangling Request 2 – DWR2 ................... 24 3.4 Data Wrangling Operators . 27 3.5 Summary . 28 4 Implementation 29 4.1 Implementation Plan . 29 4.2 Implementation Environment . 30 4.3 Implementation Sprint 1 . 31 4.4 Implementation Sprint 2 . 32 4.5 Implementation Sprint 3 . 34 4.6 Implementation Challenges . 35 4.7 Summary . 36 5 Testing and Evaluation 37 5.1 Evaluation Criteria . 37 5.2 Evaluation of DWR1 ........................... 38 5.3 Evaluation of DWR2 ........................... 38 5.4 Summary .
    [Show full text]
  • Utilizing AI/ML Methods for Measuring Data Quality Student: Bc
    ASSIGNMENT OF MASTER’S THESIS Title: Utilizing AI/ML methods for measuring data quality Student: Bc. Michael Mikuš Supervisor: Ing. Tomáš Pajurek Study Programme: Informatics Study Branch: Knowledge Engineering Department: Department of Applied Mathematics Validity: Until the end of summer semester 2020/21 Instructions Traditional data quality measurement methods need significant manual effort and domain expert experience. Apart from being a time-consuming process, these traditional methods are often based on manual definition of rules or thresholds and are therefore subject to human error. The utilization of AI/ML methods offers an alternative data-driven approach that might overcome some of the drawbacks of traditional methods. 1. Describe key aspects of data quality and review the state-of-the-art methods for monitoring and measuring data quality with special emphasis on AI/ML based approaches. 2. Experimentally compare traditional (non-AI) methods for measuring data quality with methods using AI/ML techniques. 3. Propose directions for further improvements in the application of AI/ML in data quality. References Will be provided by the supervisor. Ing. Karel Klouda, Ph.D. doc. RNDr. Ing. Marcel Jiřina, Ph.D. Head of Department Dean Prague September 23, 2019 Czech Technical University in Prague Faculty of Information Technology Department of Applied Mathematics Master’s thesis Utilizing AI/ML methods for measuring data quality Bc. Michael Mikuš Supervisor: Ing. Tomáš Pajurek 30th of July, 2020 Acknowledgements I would like to express sincere gratitude to my supervisor Ing. Tomáš Pajurek for his ideas, valuable advice, and continued mentoring over the past several years. I would also like to thank Ing.
    [Show full text]