microsoftml.rx_featurize:数据源的数据转换

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

将输入数据集的数据转换为输出数据集。

Arguments

数据

一个 revoscalepy 的数据源对象、一个数据帧,或者文件 .xdf 路径。

output_data

输出文本或xdf文件名,或 RxDataSource 带有写入功能以存储转换数据。 如果 ,则返回一个数据帧。 默认值为

覆盖

如果Trueoutput_data则存在被覆盖;如果Falseoutput_data存在不被覆盖。 默认值为 False

data_threads

一个整数,表示数据管道中所需的并行度。 如果 没有,则使用线程的数量由内部确定。 默认值为

random_seed

指定随机种子。 默认值为

max_slots

返回向量值列的最大槽位数(<=0返回全部)。

ml_transforms

指定要在训练之前对数据执行的 MicrosoftML 转换的列表;如果未执行任何转换,则为 None 。 有关支持的转换,请参阅 >>。 这些转换在任何指定的 Python 转换之后执行。 默认值为

ml_transform_vars

指定要用于 ml_transforms 变量名称的字符向量;如果未使用,则为 None 。 默认值为

row_selection

不支持。 指定数据集中的行(观察值),这些行(观察值)由模型使用数据集(以引号为单位)中的逻辑变量的名称,或使用数据集中的变量的逻辑表达式。 例如:

  • row_selection = "old" 将仅使用变量 old 值所在的 True观察值。

  • row_selection = (age > 20) & (age < 65) & (log(income) > 10)仅使用变量值age介于 20 和 65 之间的观察值,而变量的值logincome大于 10。

在处理任何数据转换后执行行选择(请参阅参数 transformstransform_function)。 与所有表达式一样, row_selection 可以使用函数在函数调用 expression 外部定义。

变换

不支持。 表示第一轮变量转换的窗体的表达式。 与所有表达式一样, transforms 可以使用函数在函数调用row_selection外部定义(或expression)。 默认值为

transform_objects

不支持。 一个命名列表,其中包含可由 <a0/> 和引用的对象。 默认值为

transform_function

变量转换函数。 默认值为

transform_variables

转换函数所需的输入数据集变量的字符向量。 默认值为

transform_packages

不支持。 一个字符向量,用于指定其他 Python 包(在指定 RxOptions.get_option("transform_packages")包之外)可供使用并预加载,以便在变量转换函数中使用。 例如,在 revoscalepy 函数中显式定义的函数通过参数transformstransform_function参数或通过参数formularow_selection隐式定义这些函数。 该 transform_packages 参数也可能为 None,指示未预加载外部 RxOptions.get_option("transform_packages") 的包。

transform_environment

不支持。 用户定义的环境,充当内部开发的所有环境的父环境,用于变量数据转换。 如果 transform_environment = None,则使用带有父 revoscalepy.baseenv 的新“哈希”环境,默认值为 None

blocks_per_read

指定要为从数据源读取的每个数据区块读取的块数。

report_progress

一个整数值,该值指定对行处理进度的报告级别:

  • 0:未报告任何进度。

  • 1:打印和更新已处理的行数。

  • 2:已处理行和计时报告。

  • 3:已处理行并报告所有计时。

默认值为 1

详细的

一个整数值,该值指定所需的输出量。 如果在 0计算期间不打印详细输出。 整数值, 1 用于 4 提供不断增加的信息量。 默认值为 1

compute_context

设置使用有效的 revoscalepy 指定的计算执行的上下文。RxComputeContext。 当前为本地和 revoscalepy。支持 RxInSqlServer 计算上下文。

Returns

一个数据帧或 revoscalepy。RxDataSource 对象表示生成的输出数据。

Example

'''
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)

输出:

  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