From cb5d0149f73831309c4db208223eca8383232a8c Mon Sep 17 00:00:00 2001 From: git-sandro Date: Thu, 13 Nov 2025 12:29:37 +0100 Subject: [PATCH] added folder classification and file classification_mnist_demo.py added folder datasets and updated README.md to explain what python libraries need to be installed for running all the scripts --- README.md | 8 ++ classification/classification_mnist_demo.py | 119 ++++++++++++++++++++ datasets/hardrock100_results_2022.xlsx | Bin 0 -> 19388 bytes datasets/hardrock100_results_2022_full.xlsx | Bin 0 -> 40113 bytes exercise_2.py | 1 + 5 files changed, 128 insertions(+) create mode 100644 classification/classification_mnist_demo.py create mode 100644 datasets/hardrock100_results_2022.xlsx create mode 100644 datasets/hardrock100_results_2022_full.xlsx diff --git a/README.md b/README.md index e69de29..db83b2e 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,8 @@ +This reposetory is used for storing my datasets and scripts for data science. + +Install this Python libraries in your virtual environment. Use (uv) pip install ... + + numpy + matplotlib + openpyxl + scikit-learn \ No newline at end of file diff --git a/classification/classification_mnist_demo.py b/classification/classification_mnist_demo.py new file mode 100644 index 0000000..6a888ee --- /dev/null +++ b/classification/classification_mnist_demo.py @@ -0,0 +1,119 @@ +import math +import matplotlib as mpl +import matplotlib.pyplot as plt +import numpy as np +from sklearn.svm import SVC +from sklearn.neighbors import KNeighborsClassifier +from sklearn.multiclass import OneVsOneClassifier +from sklearn.multiclass import OneVsRestClassifier +from sklearn.datasets import fetch_openml +from sklearn.linear_model import SGDClassifier +from sklearn.model_selection import cross_val_predict +from sklearn.metrics import precision_score, recall_score, f1_score + + +# Datensatz herunterladen +print("✅ Datensatz herunterladen") +mnist = fetch_openml('mnist_784', version=1, as_frame=False, parser='auto') +mnist.keys() + +X, y = mnist["data"], mnist["target"] +X.shape + +# Ziffer aus dem Datensatz: 5 +print("✅ Ziffer aus dem Datensatz: 5") +some_digit = X[0] +some_digit_image = some_digit.reshape(28, 28) +plt.imshow(some_digit_image, cmap=mpl.cm.binary) +plt.show() + +# Ziffer aus dem Datensatz: 0 +print("✅ Ziffer aus dem Datensatz: 0") +some_other_digit = X[1] +some_other_digit_image = some_other_digit.reshape(28, 28) +plt.imshow(some_other_digit_image, cmap=mpl.cm.binary) +plt.show() + +# Label +print("✅ Label") +print(y[0]) +y = y.astype(np.uint8) + +# Zahlen Matrix +print("✅ Zahlen Matrix") +i = 1 +for number in some_digit: + #28 Spalten + if i < 28: + if number > 0: + print("\x1b[31m{:03d}".format(math.trunc(number.item())), end = '\x1b[0m ') + else: + print("{:03d}".format(math.trunc(number.item())), end = ' ') + else: + print("{:03d}".format(math.trunc(number.item()))) + i = 0 + i = i+1 + +# Train-Test-Split +print("✅ Train-Test-Split") +X_train, X_test, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:] + +# Testdaten vorbereiten für die Klassifikation der Ziffer 5 +print("✅ Testdaten vorbereiten für die Klassifikation der Ziffer 5") + +y_train_5 = (y_train == 5) +y_test_5 = (y_test == 5) + +print(y_train_5) + +# Logistische Regression zur binären Klassifikation (Ziffer aus dem Datensatz: 5) +print("✅ Logistische Regression zur binären Klassifikation") +model_log = SGDClassifier(loss="log_loss", max_iter=1000, tol=1e-3, random_state=42) +model_log.fit(X_train, y_train_5) +model_log.predict([some_digit]) + +# Support Vector Machine zur binären Klassifikation (Ziffer aus dem Datensatz: 0) +print("✅ Support Vector Machine zur binären Klassifikation") +model_hinge = SGDClassifier(loss="hinge", max_iter=1000, tol=1e-3, random_state=42) +model_hinge.fit(X_train, y_train_5) +model_hinge.predict([some_other_digit]) + +# Evaluation +print("✅ Evaluation") +model = model_hinge +y_train_pred = cross_val_predict(model_hinge, X_train, y_train_5, cv=3) +y_test_pred = cross_val_predict(model_hinge, X_test, y_test_5, cv=3) +#precision_score(y_train_5, y_train_pred) +precision_score(y_test_5, y_test_pred) +#recall_score(y_train_5, y_train_pred) +recall_score(y_test_5, y_test_pred) +#f1_score(y_train_5, y_train_pred) +f1_score(y_test_5, y_test_pred) + +# One-versus-One (OvO) +print("✅ One-versus-One (OvO)") +model_ovo = OneVsOneClassifier(SVC(gamma="auto", random_state=42)) +model_ovo.fit(X_train[:100], y_train[:100]) +model_ovo.predict([some_digit]) + +# One-versus-the-Rest (OvR) +print("✅ One-versus-the-Rest (OvR)") +model_ovr = OneVsRestClassifier(SVC(gamma="auto", random_state=42)) +model_ovr.fit(X_train[:100], y_train[:100]) +model_ovr.predict([some_digit]) + +# Multilabel Classification +print("✅ Multilabel Classification") +y_train_large = (y_train >= 7) # grosse ziffern (7,8,9) +y_train_odd = (y_train % 2 == 1) # ungerade = true, gerade = false +y_multilabel = np.c_[y_train_large, y_train_odd] # 1-D array als spalte in a 2-D array konvertieren + +model_knn = KNeighborsClassifier() +model_knn.fit(X_train, y_multilabel) + +# Multiclass Multioutput Classification +print("✅ Multiclass Multioutput Classification") +model_svc = SVC(gamma="auto", random_state=42) +model_svc.fit(X_train[:1000], y_train[:1000]) # y_train, not y_train_5 +model_svc.predict([some_digit]) +model_svc.classes_ \ No newline at end of file diff --git a/datasets/hardrock100_results_2022.xlsx b/datasets/hardrock100_results_2022.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..763d101466e394cb41b63fc8a99f980e399a1121 GIT binary patch literal 19388 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 literal 0 HcmV?d00001 diff --git a/datasets/hardrock100_results_2022_full.xlsx b/datasets/hardrock100_results_2022_full.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..fd0e154a0a95cf3c0b7e4c8e4a01a18eeaa34f4b GIT binary patch literal 40113 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 kx>x@5Ncf}Ng7Aa