# Datensatz-Typen Ein Datensatz-Typ sei derjenige Typ von Datensatz, der durch scikit-learn Datendsatz-Generatoren wie [make_blobs](https://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_blobs.html#sklearn.datasets.make_blobs), [make_classification](https://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_classification.html#sklearn.datasets.make_classification), [make_regression](https://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_regression.html#sklearn.datasets.make_regression) oder andere generiert wird: Siehe . Erste Aufgabe einer Datenanalyse: Welcher Typ von Datensatz liegt vor? Daraufhin wählt man einen Modelltyp aus. Ein ML-Projekt wird nur dann Erfolg haben, wenn sich Datensatz- und Modelltyp entsprechen. ## Cluster [Comparing different clustering algorithms on toy datasets](https://scikit-learn.org/stable/auto_examples/cluster/plot_cluster_comparison.html#sphx-glr-auto-examples-cluster-plot-cluster-comparison-py) ![](https://scikit-learn.org/stable/_images/sphx_glr_plot_cluster_comparison_001.png) ### Gegenbeispiel 1 [Performing Linear Regression with Python and Scikit-learn](https://www.machinecurve.com/index.php/2020/12/10/performing-linear-regression-with-python-and-scikit-learn/) ![cluster_centers = [(3,3), (3.3, 3.3), (3.6, 3.6), (4, 4)]](https://www.machinecurve.com/wp-content/uploads/2020/12/fit.png) * Modellstruktur: Daten werden erzeugt mit ``` # Configuration options num_samples_total = 150 cluster_centers = [(3,3), (3.3, 3.3), (3.6, 3.6), (4, 4)] num_features = 1 # Generate data X, _ = make_blobs(n_samples = num_samples_total, centers = cluster_centers, n_features = num_features, center_box=(0, 1), cluster_std = 0.10) ``` Diskussion: * Die Cluster sind linear separierbar: Das macht Clustern einfach! * Hier haben wir Cluster, die zufällig auf einer Linie liegen, weshalb auch lineare Regression "irgendwie" funktioniert. * Aber der Autor übersieht komplett die eigentliche Struktur des Datasets. Ergebnis: Hier der Blog-Beitrag definitiv nicht gut. Warum macht der Autor so etwas? ### Gegenbeispiel 2 dsw2020, Chapter 5: Performing Your First Cluster Analysis Figure 5.2: Clustering analysis performed on the data on customers with similar browsing behaviors: * 3 blobs, stark überlappend * Ein Dataset vom Typ Blob: Hier ist eine Clusteranalyse sinnvoll! Figure 5.10: Scatter plot of the clusters * Das ist ein Datensatz vom Typ `make_regression`. Der Fortgang des Kapitels zeigt, dass hier eine Clusteranalyse künstlich, arbiträr wirkt. Datensatz- und Modelltyp entsprechen sich nicht. * Außerdem drängt sich hier natürlich eine log-Transformation auf, siehe , Ergebnis: Hier ist unser Buch definitiv dsw2020 nicht gut. Warum machen die so etwas?