microsoftml.rx_ensemble: combinare i modelli in un modello singolo
Utilizzo
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)
Descrizione
Esegue il training di un insieme di modelli.
Dettagli
rx_ensemble
è una funzione che esegue il training di numerosi modelli di vario tipo per ottenere prestazioni predittive migliori rispetto a quelle ottenute da un singolo modello.
Argomenti
formula
Una formula simbolica o matematica nella sintassi Python valida, racchiusa tra virgolette doppie. Una formula simbolica può fare riferimento agli oggetti nell'origine dati, ad esempio "creditScore ~ yearsEmploy"
.
I termini di interazione (creditScore * yearsEmploy
) e le espressioni (creditScore == 1
) non sono attualmente supportati.
data
Oggetto origine dati o stringa di caratteri che specifica un file con estensione xdf o un oggetto frame di dati. In alternativa, può trattarsi di un elenco di origini dati che indica che ogni modello deve essere sottoposto a training usando una delle origini dati nell'elenco. In questo caso, la lunghezza dell'elenco di dati deve essere uguale a model_count.
programmi di training
Elenco di programmi di training con i relativi argomenti. I programmi di training vengono creati usando FastTrees
, FastForest
, FastLinear
, LogisticRegression
, NeuralNetwork
o OneClassSvm
.
method
Stringa di caratteri che specifica il tipo di insieme: "anomaly"
per rilevamento anomalie, "binary"
per classificazione binaria, multiClass
per la classificazione multiclasse o "regression"
per regressione.
random_seed
Specifica il valore di inizializzazione casuale. Il valore predefinito è None
.
model_count
Specifica il numero di modelli da sottoporre a training. Se questo numero è maggiore della lunghezza dell'elenco dei programmi di training, l'elenco dei programmi di training verrà duplicato in modo che corrisponda a model_count
.
replace
Valore logico che specifica se il campionamento delle osservazioni deve essere eseguito con o senza sostituzione. Il valore predefinito è False
.
samp_rate
Scalare con valore positivo che specifica la percentuale di osservazioni da campionare per ogni programma di training. Il valore predefinito è 1.0
per il campionamento con sostituzione (ad esempio replace=True
) e 0.632
per il campionamento senza sostituzione (ad esempio replace=False
). Quando split_data
è True
, l'impostazione predefinita di samp_rate
è 1.0
, ovvero nessun campionamento viene eseguito prima della suddivisione.
split_data
Valore logico che specifica se eseguire o meno il training dei modelli di base su partizioni non sovrapposte.
Il valore predefinito è False
. È disponibile solo per il contesto di calcolo RxSpark
e viene ignorato per gli altri.
combine_method
Specifica il metodo usato per combinare i modelli:
"Median"
: per calcolare la mediana dei singoli output di modello,"Average"
: per calcolare la media dei singoli output di modello e"Vote"
: per calcolare (pos-neg) / il numero totale di modelli, dove 'pos' è il numero di output positivi e 'neg' è il numero di output negativi.
max_calibration
Specifica il numero massimo di esempi da utilizzare per la calibrazione. Questo argomento viene ignorato per tutte le attività diverse dalla classificazione binaria.
ml_transforms
Specifica un elenco di trasformazioni di MicrosoftML da eseguire sui dati prima del training o None se non devono essere eseguite trasformazioni. Le trasformazioni che richiedono un passaggio aggiuntivo sui dati, ad esempio featurize_text
, categorical
, non sono consentite.
Queste trasformazioni vengono eseguite dopo eventuali trasformazioni R specificate.
Il valore predefinito è None.
ml_transform_vars
Specifica un vettore di caratteri di nomi di variabili da usare in ml_transforms o None se non è necessario usarne alcuno. Il valore predefinito è None.
row_selection
NON SUPPORTATO. Specifica le righe (osservazioni) dal set di dati che devono essere usate dal modello con il nome di una variabile logica dal set di dati (tra virgolette) o con un'espressione logica tramite variabili nel set di dati. Ad esempio:
rowSelection = "old"
userà solo osservazioni in cui il valore della variabileold
èTrue
.rowSelection = (age > 20) & (age < 65) & (log(income) > 10)
usa solo osservazioni in cui il valore della variabileage
è compreso tra 20 e 65 e il valore dilog
della variabileincome
è maggiore di 10.
La selezione delle righe viene eseguita dopo l'elaborazione di eventuali trasformazioni dei dati. Vedere gli argomenti transforms
o transform_func
. Analogamente a tutte le espressioni, è possibile definire row_selection
all'esterno della chiamata alla funzione usando la funzione expression
.
trasformazioni
NON SUPPORTATO. Espressione con un formato che rappresenta il primo ciclo di trasformazioni delle variabili. Analogamente a tutte le espressioni, è possibile definire transforms
o row_selection
all'esterno della chiamata alla funzione usando la funzione expression
.
transform_objects
NON SUPPORTATO. Elenco denominato che contiene oggetti a cui transforms
, transform_function
e row_selection
possono fare riferimento.
transform_function
Funzione di trasformazione della variabile.
transform_variables
Vettore di caratteri delle variabili del set di dati di input necessario per la funzione di trasformazione.
transform_packages
NON SUPPORTATO. Vettore di caratteri che specifica altri pacchetti Python, oltre a quelli specificati in RxOptions.get_option("transform_packages")
, da rendere disponibili e precaricati per l'uso nelle funzioni di trasformazione delle variabili.
Ad esempio, quelli definiti in modo esplicito nelle funzioni revoscalepy tramite i relativi argomenti transforms
e transform_function
o quelli definiti in modo implicito tramite i relativi argomenti formula
o row_selection
. L'argomento transform_packages
può anche essere NoneRxOptions.get_option("transform_packages")
, che indica che non vengono precaricati pacchetti esterni a .
transform_environment
NON SUPPORTATO. Ambiente definito dall'utente da usare come elemento padre di tutti gli ambienti sviluppati internamente e usati per la trasformazione dei dati delle variabili.
Se transform_environment = None
, viene invece usato un nuovo ambiente "hash" con padre revoscalepy.baseenv
.
blocks_per_read
Specifica il numero di blocchi da leggere per ogni blocco di dati letto dall'origine dati.
report_progress
Valore intero che specifica il livello di creazione di report sullo stato di elaborazione delle righe:
0
: non viene segnalato alcun avanzamento.1
: il numero di righe elaborate viene stampato e aggiornato.2
: vengono segnalate le righe elaborate e le tempistiche.3
: vengono segnalate le righe elaborate e tutte le tempistiche.
verbose
Valore intero che specifica la quantità di output desiderata.
Se 0
, non viene stampato alcun output dettagliato durante i calcoli. Valori interi da 1
a 4
per fornire quantità crescenti di informazioni.
compute_context
Imposta il contesto in cui vengono eseguiti i calcoli, specificato con un oggetto revoscalepy.RxComputeContext
valido.
Sono attualmente supportati i contesti di calcolo locali e revoscalepy.RxSpark. Quando si specifica revoscalepy.RxSpark, il training dei modelli viene eseguito in modo distribuito e l'ensembling viene eseguito in locale. Si noti che il contesto di calcolo non può essere non in attesa.
Restituisce
Oggetto rx_ensemble
con il modello di insieme sottoposto a training.