Gibt es Tools für das Feature-Engineering?


29

Insbesondere suche ich nach Tools mit einigen Funktionen, die speziell für das Feature-Engineering vorgesehen sind. Ich möchte in der Lage sein, Lücken, etc. leicht zu glätten, zu visualisieren, zu füllen. Ähnlich wie MS Excel, aber das hat R als zugrunde liegende Sprache anstelle von VB.

Antworten:


21

Sehr interessante Frage (+1). Ich kenne zwar keine Softwaretools, die derzeit umfassende Funktionen für das Feature-Engineering bieten, aber in dieser Hinsicht gibt es definitiv eine breite Palette von Optionen. Derzeit ist das Feature-Engineering meines Wissens immer noch ein mühsamer und manueller Prozess (siehe diesen Blog-Beitrag ). Sprechen über die Feature - Engineering Thema Domain, dieser ausgezeichnete Artikel von Jason Brownlee bietet einen ziemlich umfassenden Überblick über das Thema.

Ben Lorica, Chief Data Scientist und Director Content Strategy für Data bei O'Reilly Media Inc., hat einen sehr schönen Artikel verfasst , in dem die neuesten Ansätze, Methoden, Tools und Start-ups im Internet (Stand Juni 2014) beschrieben werden Bereich der Automatisierung (oder, wie er es ausdrückte, Straffung ) des Feature-Engineerings.

Ich habe einen kurzen Blick auf einige Startups geworfen , auf die Ben verwiesen hat, und ein Produkt von Skytree sieht tatsächlich ziemlich beeindruckend aus, insbesondere in Bezug auf das Thema dieser Frage. Allerdings klingen einige ihrer Behauptungen für mich sehr verdächtig (z. B. "Skytree beschleunigt die Methoden des maschinellen Lernens im Vergleich zu Open-Source-Optionen um das 150-fache" ). Ich spreche weiter von kommerziellen Data Science- und Machine Learning-Angeboten und muss Lösungen von Microsoft erwähnen, insbesondere das Azure Machine Learning Studio . Dieses webbasierte Produkt ist sehr leistungsfähig und elegant und bietet einige Funktionen für das Feature-Engineering (FEF). Ein Beispiel für ein einfaches FEF finden Sie in diesem schönen Video .

Um auf die Frage zurückzukommen: Ich denke, der einfachste Ansatz für die Automatisierung des Feature-Engineerings ist die Verwendung entsprechender IDEs . Da Sie (auch ich) an R-Sprache als Data-Science-Backend interessiert sind, würde ich vorschlagen, zusätzlich zu RStudio eine ähnliche Open-Source-IDE mit dem Namen RKWard zu prüfen . Einer der Vorteile von RKWard gegenüber RStudio besteht darin, dass es das Schreiben von Plugins für die IDE unterstützt, sodass Datenwissenschaftler das Feature-Engineering automatisieren und ihre R-basierte Datenanalyse optimieren können.

Schließlich finden wir auf der anderen Seite des Spektrums der Feature-Engineering-Lösungen einige Forschungsprojekte . Die beiden bemerkenswertesten scheinen das Columbus-Projekt der Stanford University zu sein , das im entsprechenden Forschungsbericht detailliert beschrieben ist , und die in diesem Bericht beschriebene Gehirnwäsche .


5

Featuretools ist eine kürzlich veröffentlichte Python-Bibliothek für das automatisierte Feature-Engineering. Es basiert auf einem Algorithmus mit dem Namen Deep Feature Synthesis, der ursprünglich im Jahr 2015 vom MIT entwickelt und bei öffentlichen datenwissenschaftlichen Wettbewerben auf Kaggle getestet wurde.

So fügt es sich in den gängigen datenwissenschaftlichen Prozess ein.

Bildbeschreibung hier eingeben

Ziel der Bibliothek ist es, nicht nur Experten dabei zu helfen, schneller bessere Modelle für maschinelles Lernen zu erstellen, sondern auch den Data-Science-Prozess für Lernversuche weniger einschüchternd zu gestalten. Wenn Sie ereignisgesteuerte oder relationale Daten haben, empfehle ich Ihnen, diese auszuprobieren!

Haftungsausschluss: Ich bin einer der Entwickler des Projekts.


2

Feature Engineering steht im Mittelpunkt des maschinellen Lernens und ist ziemlich mühsam und zeitaufwendig. Es gab verschiedene Versuche, das Feature-Engineering zu automatisieren, in der Hoffnung, den Menschen aus der Schleife zu ziehen. Eine spezielle Implementierung, die dies für Klassifizierungsprobleme ausführt, ist das automatische Lernen . Es verwendet eine Optimierungsprozedur namens SMAC unter der Haube, um den geeigneten Satz von Transformationen und Algorithmen (und Algorithmusparametern) auszuwählen.

Beachten Sie, dass Trifacta ein wirklich benutzerfreundliches Tool für die Datentransformation bietet. Es verfügt über eine sehr intuitive Benutzeroberfläche, mit der Transformations- / Feature-Engineering-Maps eingerichtet werden können. Es gibt auch eine kostenlose Testversion, die für relativ große Probleme verwendet werden kann.


2

Scikit-learn hat kürzlich neue Transformatoren herausgebracht, die sich mit vielen Aspekten des Feature-Engineerings befassen. Beispielsweise:

  1. Mit der SimpleImputer( http://scikit-learn.org/stable/modules/generated/sklearn.impute.SimpleImputer.html ) können Sie mehrere Techniken zur Imputation fehlender Daten ausführen , einschließlich der Imputation von Mittelwerten, Medianwerten und willkürlichen Werten in numerischen und kategorischen Variablen .

  2. Sie können multivariate Imputationen mit mehreren Schätzern wie Bayes, Random Forest und anderen (vergleichbar mit Rs MICE, Amelia und MissForest) mit dem IterativeImputer( https://scikit-learn.org/stable/modules/generated/sklearn.impute.IterativeImputer) durchführen .html # sklearn.impute.IterativeImputer )

  3. Mit dem OneHotEncoder()von Scikit-learn können Sie kategorisch eine heiße Kodierung durchführen

  4. Mit dem können Sie kategoriale Variablen nach Zahlen kodieren LabelEncoder.

  5. Sie können die Yeo-Johnson-Variablentransformation mit dem folgenden Befehl ausführen:PowerTransformer ( http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.PowerTransformer.html )

  6. Sie können die Diskretisierung mit KBinsDiscretiser( https://scikit-learn.org/stable/auto_examples/preprocessing/plot_discretization.html ) durchführen.

Es gibt möglicherweise andere Feature-Engineering-Transformatoren in Scikit-learn, und die Entwickler aktualisieren die Bibliothek regelmäßig.

Als Alternative zur bekannten Scikit-Lernbibliothek gibt es eine neue, kürzlich veröffentlichte Open-Source-Bibliothek namens Feature-Engine . Mit der Feature-Engine können Sie:

  1. Do mean, median, arbitrary, end of tail und random imputation in numerischen und kategorialen Variablen
  2. Führen Sie verschiedene Arten der kategorialen Codierung durch, einschließlich einer Hot-, Integer-, Ordinal-, Mean-Codierung und Beweiskraft.
  3. Führen Sie verschiedene Variablentransformationen durch, einschließlich log, reziproke, exp und box cox
  4. Verschiedene Arten der Diskretisierung, einschließlich gleicher Häufigkeit, gleicher Entfernung und baumbasiert
  5. Ausreißerbehandlung.

Weitere Details im Github-Repo und in den Dokumenten ( https://feature-engine.readthedocs.io/en/latest/ )

Haftungsausschluss: Ich habe eine Feature-Engine erstellt und sie als Open Source erstellt.

Ein weiteres Open-Source-Python-Paket ermöglicht verschiedene Arten der Codierung von kategorialen Variablen: https://contrib.scikit-learn.org/categorical-encoding/

Schließlich ist Feature Tools eine gute Open-Source-Bibliothek für Transaktionsdaten.


1

Sie sollten in Betracht ziehen, die Azure Machine Learning- Plattform zu überprüfen . Es ist online und Sie können es mit einem kostenlosen Konto verwenden.

Azure ML bietet Ihnen einen Workflow mithilfe von Modulen in einer grafischen Benutzeroberfläche. Viele von ihnen haben mit Data Munging zu tun, und Sie können Ihre Daten problemlos bereinigen. Wenn es etwas gibt, das Sie in der GUI nicht tun können, können Sie einfach ein Modul hinzufügen, mit dem Sie ein benutzerdefiniertes R- oder Python-Skript ausführen können, um Ihre Daten zu bearbeiten.

Das Schöne daran ist, dass Sie Ihre Daten jederzeit leicht visualisieren und einfache Statistiken wie die dataframe.describe()der R überprüfen können .


1

Amazon Machine Learning ist ein Tool, das ich manchmal für das Feature-Engineering verwende.

Da die Amazon AWS-Dienste vielversprechend und standardisiert sind, würde ich auf Amazon ML zählen, mit seinen Aussichten und Versprechen, den Workflow für Datenwissenschaftler zu vereinfachen. Aber bis jetzt ist es noch klein.

Da Sie jedoch nach einem Tool für das Feature-Engineering gefragt haben, ist dies eines davon.

Einige FAQs zu / für die Verwendung von Amazon ML.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.