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 07 Vorlage.ipynb
T
2026-05-21 14:16:30 +02:00

5.6 KiB

WS 10 Klassifikation - Modellvergleiche

    • vergleichen Sie alle bis jetzt vorgestellten Klassifikatoren miteinander in Bezug auf

      • Performance
      • Rechenzeiten, differenziert nach .fit() und .predict()
        und visualisieren Sie die Ergebnisse
    • Tipp: modifizieren / ergänzen Sie dazu den abgegebenen Code von Kapitel 2.2.6 Modellvergleiche

    • optional: fügen Sie andere, im Kurs nicht behandelte Klassifikatoren dazu, welche Sie in der Dokumentation von scikit-learn finden

    • optional: falls Sie im Rahmen von Feaure Engineering alternatives Preprocessing erarbeitet haben, können Sie die Auswirkungen desselben jetzt auch noch einbeziehen

    • optional: wie wirkt sich Skalierung (z.B. mit StandardScaler) auf die Performance von MLPClassifier aus?

    In [3]:
    ## prepare env, read and prepare data
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    import seaborn as sns; sns.set()
    
    codepath = '../2_code' ## for import of user defined module
    datapath = '../3_data'
    from sys import path; path.insert(1, codepath)
    from os import chdir; chdir(datapath)
    
    from bfh_cas_pml import prep_data
    X_train, X_test, y_train, y_test = prep_data('bank_data_prep.csv', target='y', seed=1234)
    In [4]:
    ## Funktionen (Klassen) importieren
    from sklearn.neighbors import KNeighborsClassifier
    from sklearn.tree import DecisionTreeClassifier
    from sklearn.ensemble import RandomForestClassifier
    ## tbd ergänzen
    
    
    
    from sklearn.metrics import accuracy_score
    import time  ## für Zeitmessung
    In [5]:
    ## Modelle definieren und in Liste hinterlegen
    models = [
        KNeighborsClassifier(),
        DecisionTreeClassifier(min_impurity_decrease=0.002),
        RandomForestClassifier(n_estimators=100)
        ## tbd ergänzen
        
        
        
    ]
    In [6]:
    ## zum Sammeln der Resultate
    scores = []
    times_fit = []
    times_pred = []
    model_names = []
    
    #print('Classifier                          Score      Time fit    Time pred')
    #print('====================================================================')
    
    ## Loop
    for model in models:
        print(model)
        ## tbd
        
        ##   start timer1 - fit - stop timer1
        
        
        ##   start timer2 - predict - stop timer2
        
        
        ##   berechne Score & pick Modellname
        
        
        ##   Ergebnisse an vorbereitete Listen anhängen
        
        
        ##   Iterationsergebnisse in Konsole ausgeben (optional)
    
        
    KNeighborsClassifier()
    DecisionTreeClassifier(min_impurity_decrease=0.002)
    RandomForestClassifier()
    
    In [7]:
    ## visualisieren
    ## tbd ergänzen
    
    
    

    Fazit:

    • tbd