Zum Inhalt springen →

PMLB: Eine Schatzkammer für Maschinelles Lernen

PMLB (Penn Machine Learning Benchmarks) ist eine umfangreiche Sammlung von Benchmark-Datensätzen, die speziell für maschinelles Lernen und Data-Mining entwickelt wurde.

Das Repository https://github.com/EpistasisLab/pmlb enthält den Code und die Daten für einen großen, kuratierten Satz von Benchmark-Datensätzen zur Bewertung und zum Vergleich von Algorithmen für Supervised Machine Lernen. Diese Datensätze decken ein breites Spektrum von Anwendungen ab und umfassen eine Vielzahl von Klassifizierungsprobleme und Regressionsprobleme.

Die Sammlung stammt aus verschiedenen Quellen und wird vom Artificial Intelligence Innovation (A2I) research laboratory unter der MIT Lizenz zur Verfügung gestellt. Alle Datensätze sind in einer einheitlichen Struktur organisiert, was die Nutzung und den Vergleich von Algorithmen erleichtert.

Der Datensatz ‚adult‘ kann z.B. mit folgenden Zeilen als Pandas Dataframe geladen werden.

from pmlb import fetch_data
adult_data = fetch_data('adult', local_cache_dir='./cache/') 
print(adult_data.describe())

Hauptmerkmale von PMLB

  1. Vielfalt der Datensätze
    PMLB umfasst über 200 Datensätze, die verschiedene Domänen und Schwierigkeitsgrade abdecken. Von einfachen binären Klassifikationsproblemen bis hin zu komplexen multivariaten Aufgaben ist alles dabei.
  2. Einheitliche Struktur
    Alle Datensätze sind in einem konsistenten Format verfügbar, was die Vorverarbeitung und Integration in maschinelle Lernpipelines vereinfacht. Durch die standardisierte Struktur der Datensätze kann man die Leistung verschiedener Algorithmen direkt vergleichen.
  3. Open Source
    PMLB ist vollständig Open Source und wird von der Community gepflegt. Dies bedeutet, dass du nicht nur die Datensätze nutzen, sondern auch zur Verbesserung und Erweiterung der Sammlung beitragen kannst. Das Repository hat aktuell 395 Commits wird von einer Community von 14 Contributors gepflegt, die kontinuierlich neue Datensätze hinzufügt und bestehende verbessert.
  4. Integration mit gängigen ML-Frameworks
    PMLB lässt sich dank der Nutzung von numpy und pandas nahtlos in beliebte maschinelle Lernbibliotheken wie scikit-learn, TensorFlow und PyTorch integrieren, was die Implementierung und das Testen von Modellen erleichtert.
  5. Umfangreiche Metadaten
    Metadaten sind ein unverzichtbarer Bestandteil von PMLB, da sie wertvolle Informationen liefern, die die Auswahl, Analyse und Vergleichbarkeit von Datensätzen erleichtern. Sie tragen dazu bei, dass maschinelle Lernprojekte effizienter und effektiver durchgeführt werden können.

Beispiel Metadaten für den ‚adult‘ Datensatz

Metadaten des PMLB-Datensatzes: adult

Allgemeine Informationen:

  • Name des Datensatzes: adult
  • Beschreibung: Vorhersage, ob eine Person mehr als 50.000 US-Dollar jährlich verdient, basierend auf 14 Merkmalen.
  • Datenquelle:
  • Veröffentlichung:
    Ron Kohavi, „Scaling Up the Accuracy of Naive-Bayes Classifiers: a Decision-Tree Hybrid“, Proceedings of the Second International Conference on Knowledge Discovery and Data Mining, 1996.
  • Aufgabe: Klassifikation
  • Schlüsselwörter: Einkommen, Demografie

Zielvariable:

  • Typ: Binär
  • Beschreibung: Gibt an, ob ein Erwachsener mehr als 50.000 US-Dollar jährlich verdient.
  • Kodierung:
    • <=50K = 1
    • >50K = 0

Merkmale (Features):

  1. age
    • Typ: Kontinuierlich
    • Beschreibung: Alter der Personen.
  2. workclass
    • Typ: Kategorisch
    • Beschreibung: Arbeitsklasse (z. B. Regierung oder selbstständig).
    • Kodierung:
      • ? = 0, Federal-gov = 1, Local-gov = 2, …
      • Siehe vollständige Liste in den Daten.
  3. fnlwgt
    • Typ: Kontinuierlich
    • Beschreibung: Gewichtung basierend auf Parametern wie Rasse, Geschlecht und Alter.
  4. education
    • Typ: Ordinal
    • Beschreibung: Bildungsstand.
    • Kodierung:
      • 10th = 0, 11th = 1, Assoc-acdm = 7, …
  5. education-num
    • Typ: Kontinuierlich
    • Beschreibung: Gradnummer des Bildungsstands.
  6. marital-status
    • Typ: Kategorisch
    • Beschreibung: Familienstand.
    • Kodierung:
      • Divorced = 0, Married-civ-spouse = 2, …
  7. occupation
    • Typ: Kategorisch
    • Beschreibung: Hauptberuf.
    • Kodierung:
      • Adm-clerical = 1, Exec-managerial = 4, …
  8. relationship
    • Typ: Kategorisch
    • Beschreibung: Beziehungsstatus.
    • Kodierung:
      • Husband = 0, Wife = 5.
  9. race
    • Typ: Kategorisch
    • Beschreibung: Ethnische Zugehörigkeit.
    • Kodierung:
      • Amer-Indian-Eskimo = 0, White = 4.
  10. sex
    • Typ: Binär
    • Beschreibung: Geschlecht.
    • Kodierung:
      • Female = 0, Male = 1.
  11. capital-gain
    • Typ: Kontinuierlich
    • Beschreibung: Kapitalgewinne.
  12. capital-loss
    • Typ: Kontinuierlich
    • Beschreibung: Kapitalverluste.
  13. hours-per-week
    • Typ: Kontinuierlich
    • Beschreibung: Arbeitsstunden pro Woche.
  14. native-country
    • Typ: Kategorisch
    • Beschreibung: Herkunftsland.
    • Kodierung:
      • ? = 0, United-States = 39, …

Fazit

PMLB ist eine tolle Sammlung von Datensätzen für jeden, der im Bereich des maschinellen Lernens tätig ist. Es bietet viele Datensätzen, die die Entwicklung und das Testen von Algorithmen erleichtern.

Links

https://github.com/EpistasisLab/pmlb

https://epistasislab.github.io/pmlb

Veröffentlicht in Allgemein