This repository has been archived on 2026-06-23. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
cas-pml/SL/aufgaben/template/4_WS/WS 04 Vorlage.ipynb
T
2026-05-21 14:16:30 +02:00

4.6 KiB

WS 04 Vorlage - KNeighborsClassifier

  • standardisieren Sie die Features von Trainings- und Testdaten mit Hilfe von sklearn.preprocessing.StandardScaler
  • ermitteln Sie anschliessend die besten Parameterwerte für KNeighborsClassifier
    • n_neighbors (1-10)
    • p (z.B. 1, 2, 3)
  • vergleichen Sie die Ergebnisse ohne und mit standardisieren
In [3]:
## import libraries
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns; sns.set()

## load data
datapath = '../3_data'
from os import chdir; chdir(datapath)
data = pd.read_csv('bank_data_prep.csv')
#data.shape  ## check

## features - target - split
X = data.drop('y', axis=1)
y = data['y']

## test - train - split
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test, = train_test_split(X,
                                                     y,
                                                     train_size=2 / 3,
                                                     random_state=1234)

rem: für die obige Datenaufbereitung wird ab dem nächsten Workshop die Funktion prep_data() aus dem Modul bfh_cas_pml verwendet werden

In [5]:
## standardiz features (lead: train data)
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler().fit(X_train)
X_train_scaled = scaler.transform(X_train)
X_test_scaled = scaler.transform(X_test)
In [6]:
## Tune über n_neighbors
from sklearn.neighbors import KNeighborsClassifier
model = KNeighborsClassifier()
params = range(1, 11)
scores = []  ## scores ohne Standardisieren
scores_sc = []  ## scores mit Standardisieren

for param in params:
    print(param)
    ## tbd

    
    
1
2
3
4
5
6
7
8
9
10
In [7]:
## Tune über p
params = range(1, 4) ## dasselbe wie [1, 2, 3]
## tbd


Fazit:

  • tbd