Share via


microsoftml.rx_ensemble : combine les modèles en un seul

Usage

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)

Description

Effectuer l’apprentissage d’un ensemble de modèles.

Détails

rx_ensemble est une fonction qui effectue l’apprentissage de différents types de modèles pour obtenir des performances prédictives supérieures à celles obtenues à partir d’un modèle unique.

Arguments

formule

Formule symbolique ou mathématique dans une syntaxe Python valide, entre guillemets. Une formule symbolique peut faire référence à des objets dans la source de données, tels que "creditScore ~ yearsEmploy". Les termes d'interaction (creditScore * yearsEmploy) et les expressions (creditScore == 1) ne sont actuellement pas pris en charge.

data

Objet source de données ou chaîne de caractères spécifiant un fichier .xdf ou un objet de trame de données. Il peut également s’agir d’une liste de sources de données indiquant que chaque modèle doit être formé à l’aide de l’une des sources de données de la liste. Dans ce cas, la longueur de la liste de données doit être égale à model_count.

trainers

Liste des formateurs avec leurs arguments. Les formateurs sont créés à l’aide de FastTrees, FastForest, FastLinear, LogisticRegression, NeuralNetwork ou OneClassSvm.

method

Chaîne de caractères indiquant le type d’ensemble : "anomaly" pour la détection d’anomalie, "binary" pour la classification binaire, multiClass pour la classification multiclasse ou "regression" pour la régression.

random_seed

Spécifie la valeur de départ aléatoire. La valeur par défaut est None.

model_count

Indique le nombre de modèles à former. Si ce nombre est supérieur à la longueur de la liste des formateurs, la liste des formateurs est dupliquée pour correspondre à model_count.

remplacer

Valeur logique spécifiant si l’échantillonnage des observations doit être effectué avec ou sans remplacement. La valeur par défaut est False.

samp_rate

Scalaire de valeur positive indiquant le pourcentage d’observations à échantillonner pour chaque formateur. La valeur par défaut est 1.0 pour l’échantillonnage avec remplacement (c’est-à-dire replace=True) et 0.632 pour l’échantillonnage sans remplacement (c’est-à-dire replace=False). Lorsque split_data a pour valeur True, la valeur par défaut de samp_rate est 1.0 (aucun échantillonnage n’est effectué avant le fractionnement).

split_data

Valeur logique indiquant s’il faut ou non effectuer l’apprentissage des modèles de base sur les partitions qui ne se chevauchent pas. Par défaut, il s’agit de False. Elle est uniquement disponible pour le contexte de calcul RxSpark et elle est ignorée pour les autres.

combine_method

Spécifie la méthode utilisée pour combiner les modèles :

  • "Median" : pour calculer la médiane des sorties de modèle individuelles et

  • "Average" : pour calculer la moyenne des sorties de modèle individuelles et

  • "Vote" : pour calculer (pos-neg)/nombre total de modèles, où « pos » est le nombre de sorties positives et « neg » le nombre de sorties négatives.

max_calibration

Spécifie le nombre maximal d’exemples à utiliser pour l’étalonnage. Cet argument est ignoré pour toutes les tâches autres que la classification binaire.

ml_transforms

Spécifie la liste des transformations MicrosoftML à effectuer sur les données avant l’apprentissage ou Aucune si aucune transformation ne doit être effectuée. Les transformations qui requièrent une passe supplémentaire sur les données (par exemple featurize_text, categorical) ne sont pas autorisées. Ces transformations sont effectuées après les transformations R spécifiées. La valeur par défaut est Aucun.

ml_transform_vars

Spécifie un vecteur de caractères des noms de variables à utiliser dans ml_transforms ou Aucun si aucun vecteur de caractères ne doit être utilisé. La valeur par défaut est Aucun.

row_selection

NON PRIS EN CHARGE. Spécifie les lignes (observations) du jeu de données qui doivent être utilisées par le modèle avec le nom d’une variable logique du jeu de données (entre guillemets) ou avec une expression logique utilisant des variables dans le jeu de données. Par exemple :

  • rowSelection = "old" utilise uniquement les observations dans lesquelles la valeur de la variable old est True.

  • rowSelection = (age > 20) & (age < 65) & (log(income) > 10) utilise uniquement les observations dans lesquelles la valeur de la variable age est comprise entre 20 et 65, et la valeur log de la variable income est supérieure à 10.

La sélection de ligne est effectuée après le traitement de toutes les transformations de données (consultez les arguments transforms ou transform_func). Comme avec toutes les expressions, row_selection peut être défini en dehors de l’appel de fonction à l’aide de la fonction expression.

transformations

NON PRIS EN CHARGE. Expression de la forme qui représente la première série de transformations de variables. Comme avec toutes les expressions, transforms (ou expression) peut être défini en dehors de l’appel de fonction à l’aide de la fonction row_selection.

transform_objects

NON PRIS EN CHARGE. Liste nommée qui contient des objets qui peuvent être référencés par transforms, transform_function et row_selection.

transform_function

Fonction de transformation de variables.

transform_variables

Vecteur de caractère des variables de jeu de données d’entrée nécessaires pour la fonction de transformation.

transform_packages

NON PRIS EN CHARGE. Vecteur de caractère spécifiant des packages Python supplémentaires (en dehors de ceux spécifiés dans RxOptions.get_option("transform_packages")) qui doivent être disponibles et préchargés pour l’utilisation dans les fonctions de transformation de variables. Par exemple, ceux définis explicitement dans les fonctions revoscalepy via leurs arguments transforms et transform_function ou ceux définis implicitement via leurs arguments formula ou row_selection. L’argument transform_packages peut également être Aucun, ce qui indique qu’aucun package n’est préchargé en dehors de RxOptions.get_option("transform_packages").

transform_environment

NON PRIS EN CHARGE. Environnement défini par l’utilisateur qui sert de parent à tous les environnements développés en interne et qui est utilisé pour la transformation de données variables. Si transform_environment = None, un nouvel environnement de « hachage » avec le parent revoscalepy.baseenv est utilisé à la place.

blocks_per_read

Spécifie le nombre de blocs à lire pour chaque segment de données lu à partir de la source de données.

report_progress

Valeur entière qui spécifie le niveau de création de rapports sur la progression du traitement de la ligne :

  • 0 : aucune progression n’est signalée.

  • 1 : le nombre de lignes traitées est imprimé et mis à jour.

  • 2 : les lignes traitées et les minutages sont signalés.

  • 3 : les lignes traitées et l’ensemble des minutages sont signalés.

verbose

Valeur entière qui spécifie la quantité de sortie souhaitée. Si la valeur est 0, aucune sortie détaillée n’est imprimée au cours des calculs. Les valeurs entières de 1 à 4 fournissent des quantités d’informations croissantes.

compute_context

Définit le contexte dans lequel les calculs sont exécutés, spécifiés avec un contexte revoscalepy.RxComputeContext valide. Actuellement, les contextes de calcul locaux et revoscalepy.RxSpark sont pris en charge. Quand revoscalepy.RxSpark est spécifié, la formation des modèles est effectuée de façon distribuée, et la génération d’ensembles est effectuée localement. Notez que le contexte de calcul ne peut pas être sans attente.

Retours

Objet rx_ensemble avec le modèle d’ensemble formé.