Übung 2 zu Einführung in Maschinelles Lernen (PD Stefan Bosse) |
DATA: Variable dataex01D Type: {Beispiel, Aussicht, Temperatur, Luftfeuchtigk., Windig?, Klasse} []
X=[]
Y=[Klasse]
X,Y=Klasse={N,P} 1
2
print(dataex01D);
Table(dataex01D);
▸
|
✗
|
Nachfolgend wird gezeigt wie auf einfachen kategorischen Daten rein programmatisch ein einfacher Klassifikator programmiert (also algorithmisch erzeugt) werden kann.
a | b | c |
---|---|---|
A1 | B1 | C1 |
A1 | B2 | C1 |
A1 | B1 | C1 |
A2 | B2 | C2 |
A2 | B1 | C2 |
1
2
3
4
5
6
7
8
9
data = [
{a:'A1',b:'B1',c:'C1' },
{a:'A1',b:'B2',c:'C1' },
{a:'A1',b:'B1',c:'C1' },
{a:'A2',b:'B2',c:'C2' },
{a:'A2',b:'B1',c:'C2' },
{a:'A1',b:'B1',c:'C2' },
]
Table(data);
▸
|
✗
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Klassifikatorfunktion
function classifiy1(instance) {
if (instance.a=='A1') return 'C1';
else return 'C2';
}
// Inferenz und Fehlerberechnung
var error = 0;
var results = data.map(function(instance) {
var pred = classifiy1(instance);
if (pred != instance.c) error++;
return {y:pred,y0:instance.c};
});
// Ergebnisse ausgeben
Table(results);
print('Fehlerrate: '+error/data.length*100+'%');
▸
|
✗
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Klassifikatorfunktion
function classifiy2(instance) {
switch (instance["a"]) { // v.a == v["a"]!
case 'A1': return 'C1';
case 'A2': return 'C2';
default : return 'C2';
}
}
// Inferenz und Fehlerberechnung
var error = 0;
var results = data.map(function(instance) {
var pred = classifiy2(instance);
if (pred != instance.c) error++;
return {y:pred,y0:instance.c};
});
// Ergebnisse ausgeben
Table(results);
print('Fehlerrate: '+error/data.length*100+'%');
▸
|
✗
|
Benutze D=Datensatz 1.
Auswahl der Variable und die berechnete Fehlerrate in das Eingabefeld eintragen.
Klassifikator für Datensatz 11
2
3
4
5
6
// dataex01D verwenden
var data = dataex01D;
// Klassifikatorfunktion
// function classify(instance) { .. }
// Inferenz und Fehlerberechnung
// Ergebnisse ausgeben
▸
|
✗
|