microsoftml.rx_featurize:数据源的数据转换
使用情况
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)
说明
将数据从输入数据集转换为输出数据集。
参数
data
revoscalepy 数据源对象、数据帧或指向 .xdf
文件的路径。
output_data
输出文本或 xdf 文件名或其中具有写入功能的 RxDataSource
,用于存储转换后的数据。 如果为 None,则返回数据帧。 默认值为“None”。
overwrite
如果为 True
,则覆盖现有的 output_data
;如果为 False
,则不覆盖现有的 output_data
。 默认值是 False
。
data_threads
一个整数,指定数据管道中所需的并行度。 如果为 None,则使用的线程数在内部确定。 默认值为“None”。
random_seed
指定随机种子。 默认值为“None”。
max_slots
向量值列要返回的最大槽数(<=0 表示返回所有槽)。
ml_transforms
指定在训练前要对数据执行的 MicrosoftML 转换列表;如果不需要执行任何转换,则指定为“None”。 有关支持的转换,请参阅 featurize_text
、categorical
和 categorical_hash
。
这些转换在任何指定的 Python 转换之后执行。
默认值为“None”。
ml_transform_vars
指定要在 ml_transforms
中使用的变量名称的字符向量;如果不使用任何变量名称,则指定为“None”。
默认值为“None”。
row_selection
不受支持。 使用数据集中的逻辑变量名称(带引号)或通过使用数据集中的变量的逻辑表达式指定模型要使用的数据集中的行(观察值)。 例如:
row_selection = "old"
将仅使用变量值old
为True
的观察值。row_selection = (age > 20) & (age < 65) & (log(income) > 10)
仅使用age
变量值介于 20 和 65 之间且income
变量的log
值大于 10 的观察值。
在处理任何数据转换之后执行行选择(请参阅参数 transforms
或 transform_function
)。 与所有表达式一样,row_selection
可以使用 expression
函数在函数调用之外定义。
转换
不受支持。 表示第一轮变量转换的窗体表达式。 与所有表达式一样,可以使用 expression
函数在函数调用之外定义 transforms
(或 row_selection
)。
默认值为“None”。
transform_objects
不受支持。 一个命名列表,其中包含可由 transforms
、transform_function
和 row_selection
引用的对象。 默认值为“None”。
transform_function
变量转换函数。 默认值为“None”。
transform_variables
转换函数所需的输入数据集变量的字符向量。 默认值为“None”。
transform_packages
不受支持。 一个字符向量,用于指定将提供和预加载以在变量转换函数中使用的其他 Python 包(除 RxOptions.get_option("transform_packages")
中指定的包以外)。
例如,在 revoscalepy 函数中通过其 transforms
和 transform_function
参数显式定义的那些包,或者通过其 formula
或 row_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
。
verbose
一个整数值,指定需要的输出量。
如果为 0
,则计算期间不会打印详细输出。 从 1
到 4
的整数值表示提供的信息量逐步增加。
默认值是 1
。
compute_context
设置执行计算的上下文,使用有效的 revoscalepy.RxComputeContext 指定。 目前支持本地和 revoscalepy.RxInSqlServer 计算上下文。
返回
表示创建的输出数据的数据帧或 revoscalepy.RxDataSource 对象。
请参阅
rx_predict
、revoscalepy.rx_data_step、revoscalepy.rx_import。
示例
'''
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