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/2_Code/2.4 Klassifikation - Neuronale Netze.ipynb
T
2026-05-21 14:16:30 +02:00

17 KiB

Feature Engineering

Klassifikation

Instanzbasierte Modelle

Regelbasierte Modelle

Mathematische Modelle

Neuronale Netze

In [1]:
import sys
sys.path.append('./')
In [2]:
## preparation
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns; sns.set()
%matplotlib inline

datapath = '../3_data'
from os import chdir; chdir(datapath)

from bfh_cas_pml import prep_data, prep_demo_data
X_train, X_test, y_train, y_test = prep_data('bank_data_prep.csv', 'y', seed = 1234)
X_demo, y_demo = prep_demo_data('demo_data_class.csv', 'y')

MLPClassifier

Theorie

kein Code zu diesem Kapitel

Praxis

In [3]:
from sklearn.neural_network import MLPClassifier
model = MLPClassifier(random_state = 1234)
model.fit(X_train, y_train) 
print(model.score(X_test, y_test))
0.6729540614542135
In [4]:
print(model.get_params())
{'activation': 'relu', 'alpha': 0.0001, 'batch_size': 'auto', 'beta_1': 0.9, 'beta_2': 0.999, 'early_stopping': False, 'epsilon': 1e-08, 'hidden_layer_sizes': (100,), 'learning_rate': 'constant', 'learning_rate_init': 0.001, 'max_fun': 15000, 'max_iter': 200, 'momentum': 0.9, 'n_iter_no_change': 10, 'nesterovs_momentum': True, 'power_t': 0.5, 'random_state': 1234, 'shuffle': True, 'solver': 'adam', 'tol': 0.0001, 'validation_fraction': 0.1, 'verbose': False, 'warm_start': False}
Cell:
[Cell type raw - unsupported, skipped]
In [5]:
## investigate stability of MLPClassifier using different random seeds
params = range(0, 10)
scores = []

for param in params:
    model = MLPClassifier(random_state = 1234 + param)
    model.fit(X_train, y_train) 
    score = model.score(X_test, y_test)
    scores.append(score)
    print(param, score)

fig, ax = plt.subplots(figsize=(2,4))
sns.boxplot(y=scores)
ax.set(ylabel='accuracy');
0 0.6729540614542135
1 0.5308792211743231
2 0.705506540918771
3 0.7222391238211134
4 0.7751749315485245
5 0.7121995740797079
6 0.6759963492546395
7 0.48098570124733797
8 0.6096744752053544
9 0.6638271980529358