7 unter dem Radar liegende Python-Bibliotheken für skalierbares Feature-Engineering7 unter dem Radar liegende Python-Bibliotheken für skalierbares Feature-Engineering
Bild vom Herausgeber

# Einführung

Function-Engineering ist ein wesentlicher Prozess in den Arbeitsabläufen der Datenwissenschaft und des maschinellen Lernens sowie in jedem KI-System als Ganzes. Dabei geht es um die Konstruktion aussagekräftiger erklärender Variablen aus rohen – und oft recht unübersichtlichen – Daten. Die Prozesse hinter dem Function Engineering können je nach Umfang, Struktur und Heterogenität des Datensatzes bzw. der Datensätze sowie den Modellierungszielen des maschinellen Lernens äußerst einfach oder übermäßig komplex sein. Während die beliebtesten Python-Bibliotheken für die Datenmanipulation und -modellierung wie z Pandas Und scikit-lernenermöglichen bis zu einem gewissen Grad grundlegendes und mäßig skalierbares Function-Engineering. Es gibt spezialisierte Bibliotheken, die bei der Verarbeitung riesiger Datensätze und der Automatisierung komplexer Transformationen noch einen Schritt weiter gehen, doch sind sie vielen weitgehend unbekannt.

Dieser Artikel listet 7 wenig bekannte Python-Bibliotheken auf, die die Grenzen von Function-Engineering-Prozessen im großen Maßstab erweitern.

# 1. Beschleunigung mit NVTabular

Als Erstes haben wir NVIDIA-Merlins NVTabellarisch: eine Bibliothek, die darauf ausgelegt ist, Vorverarbeitung und Function-Engineering auf Datensätze anzuwenden, die – ja, Sie haben es erraten! — tabellarisch. Sein besonderes Merkmal ist sein GPU-beschleunigter Ansatz, der für die einfache Bearbeitung sehr großer Datensätze konzipiert ist, die zum Trainieren umfangreicher Deep-Studying-Modelle erforderlich sind. Die Bibliothek wurde speziell entwickelt, um die Skalierung von Pipelines für moderne Empfehlungssystem-Engines auf Foundation tiefer neuronaler Netze (DNNs) zu unterstützen.

# 2. Automatisierung mit FeatureTools

FeatureToolsentwickelt von Alteryx, konzentriert sich auf die Nutzung der Automatisierung in Function-Engineering-Prozessen. Diese Bibliothek wendet Deep Function Synthesis (DFS) an, einen Algorithmus, der bei der mathematischen Analyse von Beziehungen neue, „tiefe“ Options erstellt. Die Bibliothek kann sowohl für relationale als auch für Zeitreihendaten verwendet werden, sodass in beiden Fällen eine komplexe Merkmalsgenerierung mit minimalem Codierungsaufwand möglich ist.

Dieser Codeauszug zeigt ein Beispiel für die Anwendung von DFS mit dem featuretools Die Bibliothek sieht in einem Datensatz von Kunden so aus:

customers_df = pd.DataFrame({'customer_id': (101, 102)})
es = es.add_dataframe(
    dataframe_name="prospects",
    dataframe=customers_df,
    index="customer_id"
)

es = es.add_relationship(
    parent_dataframe_name="prospects",
    parent_column_name="customer_id",
    child_dataframe_name="transactions",
    child_column_name="customer_id"
)

# 3. Parallelisierung mit Dask

Dask erfreut sich zunehmender Beliebtheit als Bibliothek, um parallele Python-Berechnungen schneller und einfacher zu machen. Das Hauptrezept hinter Dask besteht darin, traditionelle Pandas- und Scikit-Study-Function-Transformationen durch Cluster-basierte Berechnungen zu skalieren und so schnellere und kostengünstigere Function-Engineering-Pipelines für große Datensätze zu ermöglichen, die sonst den Speicher erschöpfen würden.

Das Artikel zeigt eine praktische Dask-Komplettlösung zur Durchführung der Datenvorverarbeitung.

# 4. Optimierung mit Polaren

Wir konkurrieren mit Dask hinsichtlich der wachsenden Beliebtheit und mit Pandas, die einen Platz auf dem Podium der Python-Datenwissenschaft anstreben Polaren: eine Rust-basierte Datenrahmenbibliothek, die die Lazy-Expression-API und Lazy-Berechnungen verwendet, um effizientes, skalierbares Function-Engineering und Transformationen für sehr große Datensätze voranzutreiben. Polars wird von vielen als das leistungsstarke Gegenstück zu Pandas angesehen und ist sehr leicht zu erlernen und vertraut zu machen, wenn Sie mit Pandas einigermaßen vertraut sind.

Möchten Sie mehr über Polars erfahren? Das Artikel stellt mehrere praktische Polars-Einzeiler für allgemeine datenwissenschaftliche Aufgaben vor, einschließlich Function-Engineering.

# 5. Mit Feast lagern

Fest ist eine Open-Supply-Bibliothek, die als Function-Retailer konzipiert ist und dabei hilft, strukturierte Datenquellen für KI-Anwendungen auf Produktionsebene oder produktionsbereit in großem Maßstab bereitzustellen, insbesondere solche, die auf großen Sprachmodellen (LLMs) basieren, sowohl für Modelltraining als auch für Inferenzaufgaben. Eine seiner attraktiven Eigenschaften besteht darin, die Konsistenz zwischen beiden Phasen sicherzustellen: Coaching und Inferenz in der Produktion. Seine Verwendung als Function Retailer ist auch eng mit Function-Engineering-Prozessen verbunden, und zwar durch die Verwendung in Verbindung mit anderen Open-Supply-Frameworks, beispielsweise denormalisiert.

# 6. Extrahieren mit tsfresh

Indem wir den Fokus auf große Zeitreihendatensätze verlagern, haben wir das tsfresh Bibliothek, mit einem Paket, das auf skalierbare Function-Extraktion spezialisiert ist. Diese Bibliothek reicht von statistischen bis hin zu spektralen Eigenschaften und ist in der Lage, bis zu Hunderte von aussagekräftigen Merkmalen in großen Zeitreihen zu berechnen und Relevanzfilterung anzuwenden, die, wie der Title schon sagt, das Filtern von Merkmalen nach Relevanz im Modellierungsprozess des maschinellen Lernens beinhaltet.

Dieser Beispielcodeauszug dauert a DataFrame Enthält einen Zeitreihendatensatz, der zuvor in Home windows gerollt wurde und angewendet wird tsfresh Function-Extraktion darauf:

features_rolled = extract_features(
    rolled_df, 
    column_id='id', 
    column_sort="time", 
    default_fc_parameters=settings,
    n_jobs=0
)

# 7. Stromlinienförmigkeit mit River

Lassen Sie uns unsere Zehen zum Schluss in den Fluss eintauchen (Wortspiel beabsichtigt), mit dem Fluss Bibliothek, die darauf ausgelegt ist, On-line-Workflows für maschinelles Lernen zu optimieren. Als Teil seiner Funktionalitätssuite ist es in der Lage, On-line- oder Streaming-Function-Transformationen und Function-Lerntechniken zu ermöglichen. Dies kann dazu beitragen, Probleme wie unbegrenzte Daten und Konzeptabweichungen in der Produktion effizient zu bewältigen. River ist darauf ausgelegt, Probleme, die in Batch-Machine-Studying-Systemen selten auftreten, wie das Erscheinen und Verschwinden von Datenmerkmalen im Laufe der Zeit, zuverlässig zu bewältigen.

# Zusammenfassung

In diesem Artikel wurden sieben bemerkenswerte Python-Bibliotheken aufgelistet, die dazu beitragen können, Function-Engineering-Prozesse skalierbarer zu machen. Einige von ihnen konzentrieren sich direkt auf die Bereitstellung einzigartiger Function-Engineering-Ansätze, während andere in Verbindung mit anderen Frameworks zur weiteren Unterstützung von Function-Engineering-Aufgaben in bestimmten Szenarien verwendet werden können.

Iván Palomares Carrascosa ist ein führender Autor, Redner und Berater in den Bereichen KI, maschinelles Lernen, Deep Studying und LLMs. Er schult und leitet andere darin, KI in der realen Welt zu nutzen.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert