Condividi tramite


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 variabile old è True.

  • rowSelection = (age > 20) & (age < 65) & (log(income) > 10) usa solo osservazioni in cui il valore della variabile age è compreso tra 20 e 65 e il valore di log della variabile income è 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_functione 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.