Beruflich Dokumente
Kultur Dokumente
Digitalisierung
industrieller Prozesse
Übungseinheit 8: GUI
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
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
Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 5
Agenda
Lehreinheit 8: GUI
• 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
• 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
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
textOutput() renderText()
plotOutput() renderPlot()
tableOutput() renderTable()
Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 9
Architektur
Entwickler User
Prognose.R
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.
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)
• …
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
• 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]
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
(3) https://learn.datacamp.com/courses/building-dashboards-with-shinydashboard
Technische Hochschule Nürnberg – Fakultät Maschinenbau und Versorgungstechnik Dr. Christian Menden Seite 18