Teilen über


microsoftml.rx_featurize: Datentransformation für Datenquellen

Verwendung

microsoftml.rx_featurize(data: typing.Union[revoscalepy.datasource.RxDataSource.RxDataSource,
    pandas.core.frame.DataFrame],
    output_data: typing.Union[revoscalepy.datasource.RxDataSource.RxDataSource,
    str] = None, overwrite: bool = False,
    data_threads: int = None, random_seed: int = None,
    max_slots: int = 5000, ml_transforms: list = None,
    ml_transform_vars: list = None, row_selection: str = None,
    transforms: dict = None, transform_objects: dict = None,
    transform_function: str = None,
    transform_variables: list = None,
    transform_packages: list = None,
    transform_environment: dict = None, blocks_per_read: int = None,
    report_progress: int = None, verbose: int = 1,
    compute_context: revoscalepy.computecontext.RxComputeContext.RxComputeContext = None)

BESCHREIBUNG

Wandelt Daten von einem Eingabedataset in ein Ausgabedataset um.

Argumente

data

Ein revoscalepy-Datenquellenobjekt, ein Datenrahmen oder der Pfad zu einer .xdf-Datei.

output_data

Ausgabetext oder Name der XDF-Datei oder RxDataSource mit Schreibfunktionen zum Speichern transformierter Daten. Falls None, wird ein Datenrahmen zurückgegeben. Der Standardwert ist None.

overwrite

Falls True, wird ein vorhandenes output_data-Element überschrieben. Falls False, wird ein vorhandenes output_data-Element nicht überschrieben. Der Standardwert ist False.

data_threads

Eine ganze Zahl, die den gewünschten Grad von Parallelität in der Datenpipeline angibt. Falls None, wird die Anzahl der verwendeten Threads intern bestimmt. Der Standardwert ist None.

random_seed

Gibt den zufälligen Ausgangswert an. Der Standardwert ist None.

max_slots

Maximale Anzahl von Slots, die für Vektorwertspalten zurückgegeben werden sollen (<=0, um alle zurückzugeben).

ml_transforms

Gibt eine Liste von MicrosoftML-Transformationen an, die vor dem Training für die Daten erfolgen sollen, oder None, wenn keine Transformationen erfolgen sollen. Unter featurize_text, categorical und categorical_hash finden Sie unterstützte Transformationen. Diese Transformationen werden nach allen angegebenen Python-Transformationen ausgeführt. Der Standardwert ist None.

ml_transform_vars

Gibt einen Zeichenvektor von Variablennamen an, die in ml_transforms verwendet werden sollen, oder None, wenn keine verwendet werden sollen. Der Standardwert ist None.

row_selection

Nicht unterstützt. Gibt die Zeilen (Beobachtungen) aus dem Dataset an, die vom Modell verwendet werden sollen, mit dem Namen einer logischen Variablen aus dem Dataset (in Anführungszeichen) oder mit einem logischen Ausdruck unter Verwendung von Variablen im Dataset. Beispiel:

  • row_selection = "old" verwendet nur Beobachtungen, bei denen True der Wert der Variablen old ist.

  • row_selection = (age > 20) & (age < 65) & (log(income) > 10) verwendet nur Beobachtungen, bei denen der Wert der Variablen age zwischen 20 und 65 liegt und der Wert von log der Variablen income größer als 10 ist.

Die Zeilenauswahl erfolgt nach der Verarbeitung von Datentransformationen (siehe die Argumente transforms oder transform_function). Wie bei allen Ausdrücken kann row_selection außerhalb des Funktionsaufrufs mit der Funktion expression definiert werden.

Transformationen

Nicht unterstützt. Ein Ausdruck der Form, die die erste Runde der Variablentransformationen darstellt. Wie bei allen Ausdrücken kann transforms (oder row_selection) außerhalb des Funktionsaufrufs mit der Funktion expression definiert werden. Der Standardwert ist None.

transform_objects

Nicht unterstützt. Eine benannte Liste, die Objekte enthält, auf die mit transforms, transform_function und row_selection verwiesen werden kann. Der Standardwert ist None.

transform_function

Die Variablentransformationsfunktionen. Der Standardwert ist None.

transform_variables

Ein Zeichenvektor von Eingabedatasetvariablen, die für die Transformationsfunktion erforderlich sind. Der Standardwert ist None.

transform_packages

Nicht unterstützt. Ein Zeichenvektor, der zusätzliche Python-Pakete (außerhalb der in RxOptions.get_option("transform_packages") angegebenen) angibt, die für die Verwendung in Variablentransformationsfunktionen verfügbar gemacht und im Voraus geladen werden sollen. Zum Beispiel solche, die explizit in revoscalepy-Funktionen über ihre Argumente transforms und transform_function definiert sind oder solche, die implizit über ihre Argumente formula oder row_selection definiert sind. Das Argument transform_packages kann auch None lauten, was angibt, dass keine Pakete außerhalb von RxOptions.get_option("transform_packages") im Voraus geladen werden.

transform_environment

Nicht unterstützt. Eine benutzerdefinierte Umgebung, die als übergeordnete Umgebung für alle intern entwickelten Umgebungen dient und für die Transformation von Variablendaten verwendet wird. Falls transform_environment = None, wird stattdessen eine neue „hash“-Umgebung mit der übergeordneten „revoscalepy.baseenv“ verwendet. Der Standardwert ist None.

blocks_per_read

Gibt die Anzahl der Blöcke an, die für jeden Datenblock gelesen werden, der aus der Datenquelle gelesen wird.

report_progress

Ein ganzzahliger Wert, der die Berichtsebene für den Status der Zeilenverarbeitung angibt:

  • 0: Es wird kein Status gemeldet.

  • 1: Die Anzahl der verarbeiteten Zeilen wird ausgegeben und aktualisiert.

  • 2: Verarbeitete Zeilen und Zeitsteuerungen werden gemeldet.

  • 3: Verarbeitete Zeilen und alle Zeitsteuerungen werden gemeldet.

Der Standardwert ist 1.

Ausführlich

Ein ganzzahliger Wert, der die gewünschte Ausgabemenge angibt. Falls 0, erfolgt während der Berechnungen keine ausführliche Ausgabe. Ganzzahlige Werte von 1 bis 4 liefern zunehmend mehr Informationen. Der Standardwert ist 1.

compute_context

Legt den Kontext fest, in dem Berechnungen erfolgen, angegeben mit einer gültigen Angabe für revoscalepy.RxComputeContext. Derzeit werden lokale und revoscalepy.RxInSqlServer-Computekontexte unterstützt.

Gibt zurück

Ein Datenrahmen oder revoscalepy.RxDataSource-Objekt, das die erstellten Ausgabedaten darstellt.

Siehe auch

rx_predict, revoscalepy.rx_data_step, revoscalepy.rx_import.

Beispiel

'''
Example with rx_featurize.
'''
import numpy
import pandas
from microsoftml import rx_featurize, categorical

# rx_featurize basically allows you to access data from the MicrosoftML transforms
# In this example we'll look at getting the output of the categorical transform
# Create the data
categorical_data = pandas.DataFrame(data=dict(places_visited=[
                "London", "Brunei", "London", "Paris", "Seria"]),
                dtype="category")
                
print(categorical_data)

# Invoke the categorical transform
categorized = rx_featurize(data=categorical_data,
                           ml_transforms=[categorical(cols=dict(xdatacat="places_visited"))])

# Now let's look at the data
print(categorized)

Ausgabe:

  places_visited
0         London
1         Brunei
2         London
3          Paris
4          Seria
Beginning processing data.
Rows Read: 5, Read Time: 0, Transform Time: 0
Beginning processing data.
Beginning processing data.
Rows Read: 5, Read Time: 0, Transform Time: 0
Beginning processing data.
Elapsed time: 00:00:00.0521300
Finished writing 5 rows.
Writing completed.
  places_visited  xdatacat.London  xdatacat.Brunei  xdatacat.Paris  \
0         London              1.0              0.0             0.0   
1         Brunei              0.0              1.0             0.0   
2         London              1.0              0.0             0.0   
3          Paris              0.0              0.0             1.0   
4          Seria              0.0              0.0             0.0   

   xdatacat.Seria  
0             0.0  
1             0.0  
2             0.0  
3             0.0  
4             1.0