Kapitel 4

Modellierung mit k-Nearest Neighbor


Anna und Karl nehmen sich nun die Phase 4 (Modeling) von CRISP-DM vor. Max stellt ihnen als erste Methode den Lazy Learner k-Nearest Neighbor (kNN) vor. Die k nächsten Nachbarn stimmen darüber ab, zu welcher Klasse ein neues Datenobjekt gehören soll. Diese Methode kann jedoch nur metrische Daten verarbeiten. Denn um die nächsten Nachbarn zu ermitteln, muss kNN Abstände zwischen den Datenobjekten berechnen. Der Einfachheit halber benutzen die beiden Trainees deshalb nur die numerischen Attribute der Titanic-Passagiere. Außerdem müssen die Attributwerte vergleichbar sein, also eine ähnliche Größenordnung aufweisen. Deshalb verwenden Anna und Karl eine Min-Max-Normierung. Zur Modellbildung können sie den Parameter k variieren und eine Parameterstudie durchführen. Das Ziel ist, eine möglichst gute Einstellung für k zu finden. Hierzu benötigen die beiden Trainees ein Test-Design. Der Kaggle-Wettbewerb gibt bereits die Partitionierung und das Sampling von Training und Test vor. Allerdings brauchen sie zusätzlich Validierungsdaten, um die Ergebnisse ihrer Parameterstudie zu bewerten. Sie lernen die Vor- und Nachteile der stratifizierten k-fachen Kreuzvalidierung kennen.

Keywords: k-Nearest Neighbor, Test-Design, Partitionierung, Sampling, Kreuzvalidierung, stratifiziert, Leave-one-out, Min-Max-Normierung, Metrik, Manhattan-Distanz, euklidische Distanz, Parameterstudie.


KNIME Videos und Workflows

Titanic_041_Phase_2_Data_Understanding_Embarked

Workflow bei KNIME Community Hub

Titanic_041_Phase_2_Data_Understanding_Embarked.knwf


Titanic_042_Phase_2_Data_Understanding_Fare

Workflow bei KNIME Community Hub
GroupBy

https://Titanic_042_Phase_2_Data_Understanding_Fare.knwf


Titanic_043_Phase_2_Data_Understanding_Age

Workflow bei KNIME Community Hub
Histogram
Rule Engine

Titanic_043_Phase_2_Data_Understanding_Age.knwf


Titanic_044_Phase_3_Data_Preparation_v2

Workflow bei KNIME Community Hub
Number To String
Normalizer und Normalizer (Apply)

Titanic_044_Phase_3_Data_Preparation_v2.knwf


Titanic_045_Phase_4_Modeling_kNN

Workflow bei KNIME Community Hub
Partitioning
k Nearest Neighbor
Scorer

Titanic_045_Phase_4_Modeling_kNN.knwf


Titanic_046_Phase_4_Modeling_kNN_Kreuzvalidierung

Workflow bei KNIME Community Hub
X-Partitioner und X-Aggregator

Titanic_046_Phase_4_Modeling_kNN_Kreuzvalidierung.knwf


Titanic_047_Phase_5_Evaluation_kNN

Workflow bei KNIME Community Hub
String To Number

Titanic_047_Phase_5_Evaluation_kNN.knwf


Titanic_048_Phase_6_Deployment_kNN

Workflow bei KNIME Community Hub

Titanic_048_Phase_6_Deployment_kNN.knwf


Anaconda (Python) Jupyter Notebooks

Titanic_041_Phase_2_Data_Understanding_Embarked

Phase 2: Embarked

Titanic_041_Phase_2_Data_Understanding_Embarked.ipynb


Titanic_042_Phase_2_Data_Understanding_Fare

Phase 2: Fare

Titanic_042_Phase_2_Data_Understanding_Fare.ipynb


Titanic_043_Phase_2_Data_Understanding_Age

Phase 2: Age

Titanic_043_Phase_2_Data_Understanding_Age.ipynb
Titanic_043_Phase_2_Data_Understanding_Age_Seaborn.ipynb


Titanic_044_Phase_3_Data_Preparation_v2

Phase 3: v2

Titanic_044_Phase_3_Data_Preparation_v2.ipynb


Titanic_045_Phase_4_Modeling_kNN

Phase 4: kNN

Titanic_045_Phase_4_Modeling_kNN.ipynb


Titanic_046_Phase_4_Modeling_kNN_Kreuzvalidierung

Kreuzvalidierung

Titanic_046_Phase_4_Modeling_kNN_Kreuzvalidierung.ipynb


Titanic_047_Phase_5_Evaluation_kNN

Phase 5: kNN

Titanic_047_Phase_5_Evaluation_kNN.ipynb


Titanic_048_Phase_6_Deployment_kNN

Phase 6: kNN

Titanic_048_Phase_6_Deployment_kNN.ipynb