Übung 1 zu Einführung in Maschinelles Lernen (PD Stefan Bosse)

Datenanalyse

Datenanalyse
Daten
Kategorische Daten
Data 1: Der Klassiker: Sportliche Aktivität
Data 2: Mobiles Crowdsensing und Politik
Numerische Daten
Data 3: Prozessoptimierung Additive Fertigung
Gemischte Daten
Data 4: Kaufverhalten von Kunden (Mall Custormers)
Auswahl und Modifikation von Daten
Beispiele
Statistische Analyse
Statistische Kennwerte von Kategorischen Daten
Statistische Kennwerte von Numerischen Daten
Statistische Analyse von Gemischten Daten
Entropie und Informationsgewinn
Kategorisierung
Merkmalsselektion
Aufgaben

Daten

Kategorische Daten

Data 1: Der Klassiker: Sportliche Aktivität

DATA: Variable dataex01D Type: {Beispiel, Aussicht, Temperatur, Luftfeuchtigk., Windig?, Klasse} []

X=[]
Y=[Klasse]
X,Y=Klasse={N,P}

 ▸ 
 ✗ 

Data 2: Mobiles Crowdsensing und Politik

DATA: Variable datapo01D Type: {gender, age, liveIn, familiyKids, carrier, freeTime, FrndsFmly, religion, politics, funRelax, education, party} []

Erhebung: MCWS durchgeführt 2019/2020 von Delzar Habisch (Uni Koblenz)
X=[]
Y=[party]
X,Y=party={CDU,SPD,..}

 ▸ 
 ✗ 

Numerische Daten

Data 3: Prozessoptimierung Additive Fertigung

DATA: Variable dataPro01 Type: [Parameterbezeichnung, Hatchabstand, Scangeschwindigkeit, Laserleistung, Schichtstärke, Volumenenergiedichte, Positionx, PositionY, Dichte] []

X=[]
Y=[Dichte]
X,Y=Dichte

 ▸ 
 ✗ 

Gemischte Daten

Data 4: Kaufverhalten von Kunden (Mall Custormers)

DATA: Variable dataMall Type: [CustomerID, Genre, Age, Annual Income (k$), Spending Score (1-100)] []

X=[]
Y=[Score]
X,Y=Score

 ▸ 
 ✗ 

Auswahl und Modifikation von Daten


Operation Programmfunktion Rückgabe
Spalte i aus der Matrix M auswählen (i=0,1,..,cols-1} M.pluck(i) α []
Attribute a aus der Matrix M auswählen (a:string} M.pluck(a) α []
Teilbereich eines Vektors V (Spalte) auswählen V.slice(start,end+1) α []
Kopie eines Vektors V (Spalte) erstellen V.slice() α []
Transformation eines Vektors V (Spalte) erstellen V.map(function (v) { return ε(v) }) β []
Liste aller Attribute von einer Datenmatrix ML.statistics.features(data) string []
Spalte zu Datenmatrix rechts hinzufügen M.merge(V,'c') α [][]
Zwei Vektoren zusammenfügen V.concat(V) α []
Datentabelle reduzieren (Zeilen- und Spaltenbereich; [] = gesamter Bereich) M.sub([row1,row2], [col1,col2]) α [][]
Rekordtabelle ({}[]) in Datenmatrix ([][]) wandeln ML.convert(data) α [][]
Datenmatrix ([][]) in Rekordtabelle ({}[]) wandeln ML.convert(data, {features : string []}) {$x:α} []

Beispiele

Beispiel: Datenauswahl

 ▸ 
 ✗ 

Statistische Analyse

Übung: Im folgenden Programmbeispielen die Auswahl der Spalte der Datentabelle für alle Spalten (also Variablen X und Y) ändern und Ergebnisse berechnen lassen.

Statistische Kennwerte von Kategorischen Daten


Parameter Programmfunktion Parameter Rückgabe
Verteilung eines Vektors Math.statistics.distribution(V) string [] {$classname:number}
Analyse eines Vektors Math.statistics.analysis(V) string [] {distribution:{}, entropy:number, mostCommon:string, unique: string []}
Entropie eines Vektors Math.statistics.entropy(V) string [] number
Unterscheidbare Werte (Klassen) eines Vektors Math.statistics.unique(V) oder V.unique string []

Beispiel: Kategorische Analyse

 ▸ 
 ✗ 

Statistische Kennwerte von Numerischen Daten


Parameter Programmfunktion Parameter Rückgabe
Mittelwert eines Vektors V.mean - number
Maximalwert eines Vektors V.max pos?:boolean number
Minimalwert eines Vektors V.min pos?:boolean number
Analyse eines Vektors Math.statistics.analysis number [] {mean, median, medianAbsoluteDeviation, min, max, rootMeanSquare, standardDeviation, sum, uniqueCountSorted, variance:number}
Entropie eines Vektors mit Intervallkodierung ML.statistics.entropyEps number [], ε:number number
Verteilung von numerischen Werten Math.statistics.histogram number [], delta:number, min?,max?:number number []

Beispiel: Numerische Analyse

 ▸ 
 ✗ 

Statistische Analyse von Gemischten Daten

Beispiel: Gemischte Analyse

 ▸ 
 ✗ 

Entropie und Informationsgewinn


Parameter Programmfunktion Parameter Rückgabe
Entropie eines Vektors Math.statistics.entropy(V) string [] number
Unterscheidbare Werte (Klassen) eines Vektors Math.statistics.unique(V) oder V.unique string []
Informationsgewinn eines Vektors X in Abhängigkeit von Y aus Datentabelle data ML.statistics.gain(data, x, y, classes) {}[], string, string, string [] number

Beispiel: Entropien und Gewinne

 ▸ 
 ✗ 

Kategorisierung

Beispiel: Intervallkategorisierung

 ▸ 
 ✗ 

Merkmalsselektion

In den folgenden Aufgaben sollen alle Eingabevariablen hinsichtlich deren Entropie (ML.statistics.entropy) und dem Informationsgewinn (ML.statistics.gain) mit Bezug zur Zielvariable Y untersucht und bewertet werden. Die Attributevariable (Spalte) die am besten für die Abbildung XY geeignet ist soll ausgewählt werden.

Die Datentabellen müssen ggfs. aufbereitet werden (bei Datenmatrizen muss evtl. die Kopfzeile mit den Attributnamen entfernt werden). Numerische Zielvariablen müssen in kategorische umgewandlet werden (ca. 5-10 kodierte Intervalle) !

Aufgaben

Punkte:1./22./23./2
Die Daten

 ▸ 
 ✗ 

Aufgabe. 1.
  1. Ermittle für Datensatz 1 für alle Spalten die Verteilungem Entropie und den Informationsgewinn
  2. Bewerte die gemessenen Parameter
  3. Wähle das beste Attribute aus mit dem sich die Zielvariable mit der höchsten richtig-positiv Quote bestimmen lässt
Analyse Datensatz 1

 ▸ 
 ✗ 


Aufgabe. 2.
  1. Ermittle für Datensatz 2 für alle Spalten die Verteilungem Entropie und den Informationsgewinn
  2. Bewerte die gemessenen Parameter
  3. Wähle das beste Attribute aus mit dem sich die Zielvariable mit der höchsten richtig-positiv Quote bestimmen lässt
Analyse Datensatz 2

 ▸ 
 ✗ 


Aufgabe. 3.

Benutze entweder Datensatz 3 oder 4

  1. Transformiere die Zielvariable (numerisch) in eine kategorische (ca. 5 Klassen) durch Wertintervall
  2. Ermittle für Datensatz 3 oder 4 für alle Spalten die Verteilungem Entropie und den Informationsgewinn
  3. Bewerte die gemessenen Parameter
  4. Wähle das beste Attribute aus mit dem sich die Zielvariable mit der höchsten richtig-positiv Quote bestimmen lässt
Analyse Datensatz 3/4

 ▸ 
 ✗ 




Hilfe



Einreichung (Assignment #08-51153)



Prüfen



Bewerten (Lehrer)




Created by the NoteBook Compiler Ver. 1.8.7 (c) Dr. Stefan Bosse (Wed Dec 09 2020 17:41:36 GMT+0100 (CET))