Sie sind auf Seite 1von 18

Fakultät

Maschinenbau und Versorgungstechnik

Digitalisierung
industrieller Prozesse

Übungseinheit 8: GUI

Dr. Christian Menden


Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik
Copyright Dr. Christian Menden
- Darf nur im Rahmen der bestimmungsgemäßen Lehrveranstaltungen verwendet und vervielfältigt werden. Seite 1
Rückblick - Roter Faden durch die gesamte Veranstaltung
1 • Artificial Intelligence (AI)
• Machine Learning (ML)
Data Science Grundbegriffe • Deep Learning (DL)
• Data Science
• Analytics

6
Datensatz
1 Supervised
Datenimport Visualisierung Daten- Deskriptive Unsupervised Learning Optimierung GUI Deployment
bereinigung Analyse Learning
Regression
Datensatz
2

Klassifikation

Datensatz
n

2 3-4 5 7 8 9

Data Science Pipeline


10 - 11
Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 2
Rückblick – Übungseinheit 7

Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 3
Besprechung der Hausaufgabe

Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 4
Lernziele
Lehreinheit 8: GUI

Ich kenne/verstehe heute …


• Den Aufbau und die Funktionsweise eines R-shiny
Skripts zur Erstellung einer graphischen
Benutzeroberfläche mit shinydashboard
• Wie ich Input und Output Objekte in der GUI
visualisiere
• Wie ich Input und Output im Server miteinander
verknüpfe

Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 5
Agenda
Lehreinheit 8: GUI

• Aufbau einer R-shiny App

• User Interface

• Server

• Okjekte

• Architektur

• Dynamische Funktionen

Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 6
Aufbau einer R-shiny App: User Interface
Header

• Im UI Teil wird die Auswahl der Objekte und deren


Anordnung in der App bestimmt

• Header: kann z.B. den Titel der Anwendung anzeigen Side


Body
bar
• Sidebar: kann als Register des Bodys dienen oder andere
Objekte enthalten

• Body: kann mehrere Tabs umfassen, die über die Sidebar ausgewählt
werden. Jeder Tab kann durch Boxen (Bootstrap Layout) gegliedert UI Teil
werden. Boxen können Tab spezifisch oder übergreifend sein. Tabs und
Boxen können Objekte beinhalten.
Header

• Das Tab Layout kann Zeilen- oder Spalten-basiert sein (oder gemischt) Sidebar
Body
• Durch Icons, zusätzliche Parameter (Farbe) und CSS Files (Schrift)
kann die UI individualisiert werden [4]
Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 7
Aufbau einer R-shiny App: Server

• Im Server Teil werden die Funktionen und Interaktionen der Elemente der App bestimmt

• Nimmt Input Variablen aus dem UI Teil entgegen oder verwendet geladene Daten und erzeugt
Output Variablen (mittels render- Funktionen), die im UI Teil verwendet werden um eine
graphische Ausgabe zu erzeugen

Daten

Server Teil UI Teil

Input Variablen

Output Variablen

Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 8
Aufbau einer R-shiny App: Objekte

• Objekte wie Plots, Texte, Tabellen, Graphiken (Output Elemente) und Buttons,
Ankreuzboxen, Schieberegler, Dropdown Auswahl, Felder für numerischen oder Text Input
(Input Elemente) können der App hinzugefügt werden

• Um ein Output Objekt einzubinden, muss ein Output-Befehl an der gewünschten Position
im UI Teil und ein entsprechender render-Befehl im Serverteil existieren, der die
zugehörigen Input- und Output-Variablen miteinander verknüpft

• Input Objekte werden mittels Input-Befehl im


UI Teil an der gewünschten Stelle erzeugt (z.B.
selectInput(), actionButton() ) UI Teil Serverteil

textOutput() renderText()

plotOutput() renderPlot()

tableOutput() renderTable()

Notwendige Funktionen um Output Objekte einzubinden

Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 9
Architektur

Entwickler User

Prognose.R

Server Teil UI Teil

Input Variablen Header


Sidebar
Output Variablen Body

app.R

Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 10
Reaktive Umgebungen

• Reaktive Umgebungen können verwendet werden um Output bedingt nach dem User Input in
Echtzeit zu aktualisieren

• Wichtig: Überprüfe, ob das neue laden von Daten in einer reaktiven Umgebung wirklich
notwendig ist, da die Anwendung sonst schnell ineffizient wird.

• Beispiel: observe(), reactive(), observeEvent() Action

Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 11
Hausaufgabe shiny App zur Qualitätsprüfung
Anwendungsbeispiel - Qualitätsprüfung von Leiterplatten

Datensatz
1
Machine
Learning
Datensatz
2

Datensatz
n

Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 12
Hausaufgabe shiny App zur Qualitätsprüfung
Anwendungsbeispiel - Qualitätsprüfung von Leiterplatten

• Lötpasteninspektion (SPI: Solder Paste Inspection) während der Fertigung, optionale Röntgenprüfung danach
• Ziel: Reduzierung der Röntgenendprüfung durch gute Vorhersagen aus SPI-Daten mittels ML

Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 13
Hausaufgabe shiny App zur Qualitätsprüfung
Anwendungsbeispiel - Qualitätsprüfung von Leiterplatten

Dateneigenschaften
• Ein Datenpunkt = Ein Board
• Lötpasteninspektion Messungen:
• ID = Laufende Nummer
• QI = Qualitätsprüfung (1=nIO, 0 =iO)
• Machine = Maschinen-ID
• PreCheck = Erstes Prüfergebnis vor Löten (1 = nIO, 0 = iO)
• NumberPins = Anzahl der Pins pro Board
• BoardID = Board Nummer
• Price = Endpreis in Euro
• BoardCategory = Board Klassifikation (nicht näher bekannt…)
• MaterialOrigin = Herkunft der Lötpaste (S = Singapur, C = China, Q = Qatar)
• …

• Labels für diesen Datensatz aus Röntgeninspektion und


zusätzlicher Prüfung

Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 14
Hausaufgabe shiny App zur Qualitätsprüfung
• Erstellen Sie einen neuen Ordner für die App und legen Sie die benötigten Daten darin ab

• Benennen Sie das R File DIGIP-T-07_Aufgabe.R in app.R um und lassen Sie es durchlaufen

• Vollziehen Sie den Code im UI und Serverteil nach

• Ergänzen Sie eine zweite Box mit der Confusionmatrix und Accuracy der Methode des
Klassifikationsbaums (neben der für die logistische Regression)

Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 15
Gestaltungsmöglichkeiten
• Für weitere graphische Objekte (z.B. Karte, Bestenliste) gibt es diverse große und kleine
Bausteine

• Apps für unterschiedliche Zwecke können von Vorlagen kopiert und modifiziert werden [2]

• Eine shiny Web-App kann auch für Demonstrationszwecke verwendet werden

Bilder: Restaurant Prognose Spiel, ausgestellt am Fraunhofer SCS an der Langen Nacht der Wissenschaften 2019 von Claudia Ehrig
Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 16
Vielen Dank für
die Aufmerksamkeit

Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 17
Literatur
(1) https://shiny.rstudio.com

(2) Shiny App Vorlagen: https://shiny.rstudio.com/gallery/

(3) https://learn.datacamp.com/courses/building-dashboards-with-shinydashboard

(4) Icons zur individuellen Gestaltung: https://fontawesome.com/icons?d=gallery&p=2

Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 18

Das könnte Ihnen auch gefallen