Share via


microsoftml.rx_featurize : transformation des données pour les sources de données

Usage

microsoftml.rx_featurize(data: typing.Union[revoscalepy.datasource.RxDataSource.RxDataSource,
    pandas.core.frame.DataFrame],
    output_data: typing.Union[revoscalepy.datasource.RxDataSource.RxDataSource,
    str] = None, overwrite: bool = False,
    data_threads: int = None, random_seed: int = None,
    max_slots: int = 5000, 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

Transforme les données d’un jeu de données d’entrée en jeu de données de sortie.

Arguments

data

Un objet source de données revoscalepy, une trame de données ou le chemin d’accès à un fichier .xdf.

output_data

Texte de sortie ou nom de fichier XDF ou un RxDataSource avec des fonctionnalités d’écriture pour stocker les données transformées. Si le résultat est Aucun, une trame de données est retournée. La valeur par défaut est Aucun.

overwrite

Si True, output_data existant est écrasé. Si False, output_data existant n’est pas remplacé. La valeur par défaut est False.

data_threads

Entier spécifiant le degré de parallélisme souhaité dans le pipeline de données. Si aucune valeur n’est définie, le nombre de threads utilisés est déterminé en interne. La valeur par défaut est Aucun.

random_seed

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

max_slots

Nombre maximal d’emplacements à retourner pour les colonnes à valeur vectorielle (<=0 pour retourner tout).

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. Consultez featurize_text, categorical et categorical_hash pour connaître les transformations prises en charge. Ces transformations sont effectuées après les transformations Python 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 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 :

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

  • row_selection = (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_function). 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. La valeur par défaut est Aucun.

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. La valeur par défaut est Aucun.

transform_function

Fonction de transformation variable. La valeur par défaut est Aucun.

transform_variables

Vecteur de caractères des variables de jeu de données d’entrée nécessaires pour la fonction de transformation. La valeur par défaut est Aucun.

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. La valeur par défaut est Aucun.

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.

La valeur par défaut est 1.

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. La valeur par défaut est 1.

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.RxInSqlServer sont pris en charge.

Retours

Une trame de données ou un objet revoscalepy.RxDataSource qui représente les données de sortie créées.

Voir aussi

rx_predict, revoscalepy.rx_data_step, revoscalepy.rx_import.

Exemple

'''
Example with rx_featurize.
'''
import numpy
import pandas
from microsoftml import rx_featurize, categorical

# rx_featurize basically allows you to access data from the MicrosoftML transforms
# In this example we'll look at getting the output of the categorical transform
# Create the data
categorical_data = pandas.DataFrame(data=dict(places_visited=[
                "London", "Brunei", "London", "Paris", "Seria"]),
                dtype="category")
                
print(categorical_data)

# Invoke the categorical transform
categorized = rx_featurize(data=categorical_data,
                           ml_transforms=[categorical(cols=dict(xdatacat="places_visited"))])

# Now let's look at the data
print(categorized)

Sortie :

  places_visited
0         London
1         Brunei
2         London
3          Paris
4          Seria
Beginning processing data.
Rows Read: 5, Read Time: 0, Transform Time: 0
Beginning processing data.
Beginning processing data.
Rows Read: 5, Read Time: 0, Transform Time: 0
Beginning processing data.
Elapsed time: 00:00:00.0521300
Finished writing 5 rows.
Writing completed.
  places_visited  xdatacat.London  xdatacat.Brunei  xdatacat.Paris  \
0         London              1.0              0.0             0.0   
1         Brunei              0.0              1.0             0.0   
2         London              1.0              0.0             0.0   
3          Paris              0.0              0.0             1.0   
4          Seria              0.0              0.0             0.0   

   xdatacat.Seria  
0             0.0  
1             0.0  
2             0.0  
3             0.0  
4             1.0