microsoftml.rx_ensemble: Kombinieren mehrerer Modellen zu einem einzelnen
Verwendung
microsoftml.rx_ensemble(formula: str,
data: [<class 'revoscalepy.datasource.RxDataSource.RxDataSource'>,
<class 'pandas.core.frame.DataFrame'>, <class 'list'>],
trainers: typing.List[microsoftml.modules.base_learner.BaseLearner],
method: str = None, model_count: int = None,
random_seed: int = None, replace: bool = False,
samp_rate: float = None, combine_method: ['Average', 'Median',
'Vote'] = 'Median', max_calibration: int = 100000,
split_data: bool = False, 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
Trainiert ein Modellensemble
Details
rx_ensemble
ist eine Funktion zum Trainieren einer Reihe verschiedener Modelle zur Steigerung der Vorhersageleistung im Vergleich zu einem einzelnen Modell.
Argumente
Formel
Eine symbolische oder mathematische Formel mit gültiger Python-Syntax in doppelten Anführungszeichen. Eine symbolische Formel kann auf Objekte in der Datenquelle verweisen, z. B. "creditScore ~ yearsEmploy"
.
Interaktionsterme (creditScore * yearsEmploy
) und -ausdrücke (creditScore == 1
) werden derzeit nicht unterstützt.
data
Ein Datenquellenobjekt oder eine Zeichenfolge, die eine .xdf-Datei oder ein Datenrahmenobjekt angibt. Alternativ kann es sich um eine Liste von Datenquellen handeln, die angibt, dass jedes Modell unter Verwendung einer der Datenquellen in der Liste trainiert werden muss. In diesem Fall muss die Länge der Datenliste gleich model_count sein.
trainers
Eine Liste von Trainern mit ihren Argumenten. Die Trainer werden mit FastTrees
, FastForest
, FastLinear
, LogisticRegression
, NeuralNetwork
oder OneClassSvm
erstellt.
Methode
Eine Zeichenfolge, die den Typ des Ensembles angibt: "anomaly"
für Anomalieerkennung, "binary"
für binäre Klassifizierung, multiClass
für Multiklassen-Klassifizierung oder "regression"
für Regression.
random_seed
Gibt den zufälligen Ausgangswert an. Der Standardwert ist None
.
model_count
Gibt die Anzahl der zu trainierenden Modelle an. Wenn diese Zahl größer als die Länge der Liste der Trainer ist, wird die Liste der Trainer entsprechend model_count
dupliziert.
replace
Ein logischer Wert, der angibt, ob die Stichprobenentnahme von Beobachtungen mit oder ohne Ersetzung erfolgen soll. Der Standardwert ist False
.
samp_rate
Ein Skalar mit positivem Wert, der den Prozentsatz der Beobachtungen angibt, für die für jeden Trainer eine Stichprobe entnommen werden soll. Der Standardwert ist 1.0
für die Stichprobenentnahme mit Ersetzung (d. h. replace=True
) und 0.632
für die Stichprobenentnahme ohne Ersetzung (d. h. replace=False
). Wenn split_data
True
ist, ist 1.0
der Standardwert von samp_rate
(vor dem Aufteilen erfolgt keine Stichprobenentnahme).
split_data
Ein logischer Wert, der angibt, ob die Basismodelle auf nicht überlappenden Partitionen trainiert werden sollen oder nicht.
Der Standardwert lautet False
. Er ist nur für den RxSpark
-Computekontext verfügbar und wird für andere ignoriert.
combine_method
Gibt die Methode zum Kombinieren der Modelle an:
"Median"
: zum Berechnen des Medians der einzelnen Ausgaben des Modells,"Average"
: zum Berechnen des Durchschnitt der einzelnen Ausgaben des Modells und"Vote"
: zum Berechnen von (pos-neg)/der Gesamtanzahl der Modelle, wobei „pos“ die Anzahl der positiven Ausgaben und „neg“ die Anzahl der negativen Ausgaben ist.
max_calibration
Gibt die maximale Anzahl von Beispielen an, die für die Kalibrierung verwendet werden sollen. Dieses Argument wird bei allen anderen Aufgaben als zur binären Klassifizierung ignoriert.
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. Transformationen, die einen zusätzlichen Durchlauf durch die Daten erfordern (wie featurize_text
, categorical
), sind nicht zulässig.
Diese Transformationen werden nach allen angegebenen R-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:
rowSelection = "old"
verwendet nur Beobachtungen, bei denenTrue
der Wert der Variablenold
ist.rowSelection = (age > 20) & (age < 65) & (log(income) > 10)
verwendet nur Beobachtungen, bei denen der Wert der Variablenage
zwischen 20 und 65 liegt und der Wert vonlog
der Variablenincome
größer als 10 ist.
Die Zeilenauswahl erfolgt nach der Verarbeitung von Datentransformationen (siehe die Argumente transforms
oder transform_func
). 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.
transform_objects
Nicht unterstützt. Eine benannte Liste, die Objekte enthält, auf die mit transforms
, transform_function
und row_selection
verwiesen werden kann.
transform_function
Die Variablentransformationsfunktionen.
transform_variables
Ein Zeichenvektor von Eingabedatasetvariablen, die für die Transformationsfunktion erforderlich sind.
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.
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.
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.
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.RxSpark-Computekontexte unterstützt. Wenn revoscalepy.RxSpark angegeben ist, erfolgt das Training der Modelle auf verteilte Weise, wobei das Ensembling lokal erfolgt. Beachten Sie, dass der Computekontext nicht nicht-wartend sein darf.
Gibt zurück
Ein rx_ensemble
-Objekt mit dem trainierten Ensemblemodell.