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 variableold
estTrue
.rowSelection = (age > 20) & (age < 65) & (log(income) > 10)
utilise uniquement les observations dans lesquelles la valeur de la variableage
est comprise entre 20 et 65, et la valeurlog
de la variableincome
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é.